VANTAGENS E DESVANTAGENS DA ABORDAGEM DE BANCO DE DADOS

A abordagem de SBD possui funcionalidades que conferem vantagens adicionais em relação a sistemas sem banco de dados, além das características que a diferenciam da abordagem de sistemas de arquivos. Algumas dessas funcionalidades do SBD são listadas a seguir e podem ser objeto de estudo em temas sobre implementação e administração de banco de dados.

CONTROLE DA REDUNDÂNCIA DE DADOS

Previne a possibilidade de inconsistência dos dados, a duplicação de esforço para manter os dados atualizados e o desperdício de espaço de armazenamento. O SGBD permite controlar o trade off entre o armazenamento em um único local no banco de dados versus a redundância forçada para melhorar o desempenho das consultas.

COMPARTILHAMENTO DE DADOS

Sendo os SBD multiusuários, realizam controle de concorrência de acesso aos dados compartilhados para garantir as propriedades de atomicidade, consistência, isolamento e durabilidade (propriedades ACID) das transações de banco de dados.

CONTROLE DE ACESSO

Mecanismos de segurança e autorização, como senhas para usuários e para grupos de usuários; restrição de acesso a partes do banco de dados; proibição de executar certas operações privilegiadas; acesso de usuário restrito apenas a transações autorizadas; proibição de uso de software privilegiado, como o software de administração do SBD.

MÚLTIPLAS INTERFACES DE USUÁRIOS E APLICAÇÕES

Provê diferentes linguagens de consulta para usuários casuais; linguagens de programação para programadores de aplicações; interfaces gráficas com formulários (telas) e menus para usuários de aplicações; interfaces para administração do banco de dados; interfaces de linguagem natural.

REPRESENTAÇÃO DE RELACIONAMENTOS ENTRE OS DADOS

Permite representar os relacionamentos existentes entre dados no mundo real, mediante mecanismos que dependem do modelo lógico de implementação do SBD.

CUMPRIMENTO DE RESTRIÇÕES DE INTEGRIDADE DOS DADOS

Previne a violação de restrições como tipo de dado ou domínio de valores admissíveis; unicidade de itens de dados por meio de chaves únicas; integridade referencial entre dados relacionados e restrições derivadas da semântica dos dados. Aqui também o SGBD permite controlar o trade off entre garantir o cumprimento automático das restrições ou deixar a sua especificação para os programas de aplicação.

CAPACIDADE DE BACKUP E RECUPERAÇÃO DE DADOS:

Em caso de ocorrência de falhas de hardware ou de software, os mecanismos de cópia de segurança (backup) e posterior restauração (recovery) garantem a consistência de estado do banco de dados antes e depois da falha.

COMPARTILHAMENTO DE DADOS ENTRE MÚLTIPLOS USUÁRIOS SIMULTÂNEOS

É uma característica primordial do SBD e tem como resultado o controle de concorrência das transações.

É responsabilidade do SGBD garantir as propriedades das transações, conhecidas pela sigla ACID, relaxando-as quando necessário para manter o desempenho sob seu controle e para não violar a integridade do banco de dados.


ATOMICIDADE (ATOMICITY)

Cada transação é tratada como uma unidade composta de uma sequência de operações, de modo que deve executar completamente com sucesso ou falhar completamente.

CONSISTÊNCIA (CONSISTENCY)

Uma transação só pode levar o banco de dados de um estado válido para outro, de acordo com suas regras de integridade.

ISOLAMENTO (ISOLATION)

Cada transação é isolada das demais, isto é, essa propriedade assegura que transações executadas concorrentemente levem o banco de dados ao mesmo estado que chegaria se as transações fossem executadas sequencialmente.

DURABILIDADE (DURABILITY)

Uma vez que a transação é aceita (committed), o que significa que seu resultado foi gravado em memória não volátil, esse resultado permanecerá válido mesmo em caso de falhas do sistema.

VANTAGENS

As vantagens decorrentes dessas funcionalidades do SBD são várias: potencial para o estabelecimento de padrões de uso dos dados na organização; redução do tempo de desenvolvimento de aplicações; flexibilidade na manutenção dos dados; disponibilidade dos dados atualizados no âmbito de toda a organização; economia de escala, entre outras.

DESVANTAGENS

Agora, vejamos as desvantagens da abordagem de banco de dados. Como já foi observado, a presença do SGBD como um software intermediário entre as aplicações e os dados armazenados provoca uma sobrecarga no desempenho do sistema como um todo. Além disso, há de se levar em conta o custo e o esforço adicional na capacitação e no oferecimento de funcionalidades sofisticadas como as já citadas anteriormente.

Assim, pode-se dizer que é preferível não usar a abordagem de SBD em algumas aplicações, tais como:

Aplicações muito simples com dados estáticos e bem definidos, que se espera que não sejam alterados (exemplo: censo demográfico);

Aplicações de tempo real com requisitos rígidos os quais não possam ser atendidos com o overhead causado pelo SGBD (exemplo: controle de tráfego aéreo);

Sistemas embarcados, com poucos dados e com requisitos estritos de tempo real (exemplo: piloto automático);

Sistemas monousuários de uso sem concorrência, típicos de aplicações em desktop (exemplo: prontuário eletrônico de um único consultório médico).

Poderiam ser enquadradas nessa lista as aplicações que requerem dados volumosos com dinâmica não processável por SGBDs tradicionais, como a Internet das Coisas (IoT, de Internet of Things), porém, o advento de bancos de dados NoSQL, com modelos de dados específicos para tratamento de Big Data, busca a atender a esses tipos de aplicações incompatíveis com os modelos tradicionais de SGBD. 

Comentários

Postagens mais visitadas deste blog

Lista de Exercícios com Planilhas

Criando um Banco de Dados Simples no Google Planilhas

DEFINIÇÃO DE BANCO DE DADOS