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
Postar um comentário