O documento discute as características e arquitetura de bancos de dados. As sete características essenciais de bancos de dados incluem o controle de redundâncias, compartilhamento de dados, controle de acesso, interfaceamento, esquematização, integridade e backups. As principais arquiteturas são centralizadas, cliente-servidor, computadores pessoais, distribuídas e paralelas. O documento também lista ferramentas populares para bancos de dados.
3. Características da Tecnologia de Banco de Dados
Os SGBD tem sete características operacionais elementares sempre
observadas:
Característica 1: Controle de Redundâncias
Característica 2: Compartilhamento dos Dados
Característica 3: Controle de Acesso
Característica 4: Interfaceamento
Característica 5: Esquematização
Característica 6: Controle de Integridade
Característica 7: Backups
4. Características da Tecnologia de Banco de Dados
Característica 1: Controle de Redundâncias
A redundância consiste no armazenamento de uma mesma informação em
locais diferentes, provocando inconsistências. Em um Banco de Dados as
informações só se encontram armazenadas em um único local, não existindo
duplicação descontrolada dos dados.
Pergunta: Um banco pode garantir 100% o controle de redundâncias?
5. Características da Tecnologia de Banco de Dados
Característica 2: Compartilhamento dos Dados
O SGBD deve incluir software de controle de concorrência ao acesso
dos dados, garantindo em qualquer tipo de situação a escrita/leitura de dados
sem erros.
Pergunta: O que significa concorrência?
6. Características da Tecnologia de Banco de Dados
Característica 3: Controle de Acessos
O SGDB deve dispor de recursos que possibilitem selecionar a autoridade de
cada usuário. Assim um usuário poderá realizar qualquer tipo de acesso,
outros poderão ler alguns dados e atualizar outros e outros ainda poderão
somente acessar um conjunto restrito de dados para escrita e leitura.
Pergunta: O que significam perfis de acesso no contexto de segurança?
7. Características da Tecnologia de Banco de Dados
Característica 4: Interfaceamento
Um Banco de Dados deverá disponibilizar formas de acesso gráfico, em
linguagem natural, em SQL ou ainda via menus de acesso, não sendo uma
"caixa-preta" somente sendo passível de ser acessada por aplicações.
Pergunta: O que você entende por uma interface?
8. Características da Tecnologia de Banco de Dados
Característica 5: Esquematização
Um Banco de Dados deverá fornecer mecanismos que possibilitem a
compreensão do relacionamento existentes entre as tabelas e de sua
eventual manutenção.
Pergunta: O que você entende por relacionamento entre tabelas? Como se
dá essa relação?
9. Características da Tecnologia de Banco de Dados
Característica 6: Controle de Integridade
Um Banco de Dados deverá impedir que aplicações ou acessos pelas
interfaces possam comprometer a integridade dos dados.
Pergunta: Qual o impacto de dados não íntegros para uma empresa?
10. Características da Tecnologia de Banco de Dados
Característica 7: Backups
O SGBD deverá apresentar facilidade para recuperar falhas de hardware e
software, através da existência de recursos automáticos, exigindo
minimamente a intervenção de pessoal técnico.
Pergunta: Você faz backup dos seus dados? De que forma uma empresa
deverá fazer o backup de seus dados?
11. Características da Tecnologia de Banco de Dados
É se um banco de dados não possuir todas essas características, ele é um
banco de dados válido ou não? Por que?
12. Características da Tecnologia de Banco de Dados
Característica 1: Controle de Redundâncias
Existem situações em que a aplicação pode gerenciar o controle de
Redundâncias, o que pode não ser recomendado, mas dependendo da
situação pode ser aceitável.
Característica 2: Compartilhamento dos Dados
Pode ser desconsiderada principalmente em ambiente de desenvolvimento.
13. Características da Tecnologia de Banco de Dados
Característica 3: Controle de Acessos
Pode ser descartado em pequenas empresas, sendo que o aplicativo em
questão, mais o software de rede, podem facilmente se incumbir desta
característica, no caso de pequenas empresas, com reduzido número de
pessoas na área operacional.
Características 4 e 5: Interfaceamento e Esquematização
São características sempre disponíveis, o que varia neste caso é a qualidade
destes componentes, que vai desde o sofrível até o estado da arte.
14. Características da Tecnologia de Banco de Dados
Característica 6: Controle de Integridade
Outra característica sempre presente nos Bancos de Dados, mas existem
diferenças quando da implementação desta característica. Assim, é comum
encontrarmos Bancos de Dados que suportam determinado acesso, enquanto
outros não dispõe de recurso equivalente.
Características 7: Backups
É outra característica sempre disponível, porém temos aplicações que
invariavelmente são comprometidas por falhas de hardware, e outras, que o
mesmo tipo de falha não causa perda alguma de dados ou de integridade.
Depende da implementação do Banco da Dados.
15. Características da Tecnologia de Banco de Dados
Considerações:
É importante levar em consideração o desempenho, ao invés de um
gerenciamento automático de backups ou uma interface amigável.
Basicamente o tempo de resposta de um banco de dados se torna essencial.
Deve sempre se avaliar o custo na adoção de hardware, software e o
dimensionamento dessas informações por especialistas
18. Arquitetura de um SGBD
O que é uma Arquitetura?
A ARQUITETURA do grego [arkhé] significando “primeiro” ou “principal” e
[tékthon] significando “construção”, refere-se a arte ou técnica de edificar ou
projetar o ambiente habitado pelo ser humano.
Neste sentido a arquitetura trata destacadamente da organização e de seus
elementos.
19. Arquitetura de um SGBD
Visão Geral das Arquiteturas
As primeiras arquiteturas usavam mainframes para executar o
processamento principal e de todas as funções do sistema, incluindo os
programas aplicativos, programas de interface com o usuário, bem como a
funcionalidade dos SGBDs.
20. Arquitetura de um SGBD
Visão Geral das Arquiteturas
A arquitetura cliente-servidor foi desenvolvida para dividir ambientes de
computação. A ideia é de definir servidores especializados, tais como servidor
de arquivos, que mantém os arquivos de máquinas clientes, ou mesmo
servidores de impressão que podem estar conectados a várias impressoras.
21. Arquitetura de um SGBD
Principais Arquiteturas
- Primeira Arquitetura: Plataformas Centralizadas (uso de Mainframes)
- Segunda Arquitetura: Cliente-Servidor
- Terceira Arquitetura: Sistemas em Computadores Pessoais
- Quarta Arquitetura: Distribuída (N camadas)
- Quinta Arquitetura: Paralela
22. Arquitetura de um SGBD
Primeira Arquitetura: Plataformas Centralizadas (uso de Mainframes)
Na arquitetura centralizada, existe um computador com grande capacidade
de processamento, o qual é o hospedeiro do SGBD e emuladores para os
vários aplicativos.
Esta arquitetura tem como principal vantagem à de permitir que muitos
usuários manipulem grande volume de dados.
Quais as desvantagens?
23. Arquitetura de um SGBD
Primeira Arquitetura: Plataformas Centralizadas (uso de Mainframes)
Caraterísticas
O processamento principal e de todas as funções do sistema (aplicativos,
interface e SGBD) são executados no mainframe.
Os usuários interagiam com o sistema, via terminais, sem poder de
processamento, conectados ao mainframe por redes de comunicação.
Com o barateamento do hardware, os terminais foram sendo trocados por
estações de trabalho e naturalmente a tecnologia de Banco de Dados
começou a aproveitar esse potencial de processamento no lado do usuário.
24. Arquitetura de um SGBD
Segunda Arquitetura: Cliente-Servidor
Na arquitetura Cliente-Servidor, o cliente (front-end) executa as tarefas do
aplicativo, ou seja, fornece a interface do usuário (tela, e processamento de
entrada e saída). O servidor (backend) executa as consultas no SGBD e
retorna os resultados ao cliente.
25. Arquitetura de um SGBD
Segunda Arquitetura: Cliente-Servidor
Características
Divisão das tarefas de processamento criando servidores especializados
como os servidores de arquivos.
As máquinas clientes disponibilizavam as interfaces para os usuários, de
forma a capacitá-lo ao uso de servidores. Também tinham autonomia para
executar aplicações locais.
Um SGBD centralizado é implantado no servidor, permitindo que as consultas
(servidor SQL) e funcionalidades transacionais sejam executadas nesse
servidor.
No lado do cliente é possível personalizar as consultas e desenvolver
programas aplicativos específicos.
26. Arquitetura de um SGBD
Terceira Arquitetura: Sistemas em Computadores Pessoais
Os computadores pessoais trabalham em sistema stand-alone, ou seja,
fazem seus processamentos sozinhos.
Caraterísticas:
Trabalham no sistema stand-alone, executando sozinhos todas as funções
necessárias para o funcionamento do SGBD.
Principal vantagem desta arquitetura é a simplicidade.
Aplicações típicas são de baixa e média complexidade.
27. Arquitetura de um SGBD
Quarta Arquitetura: Distribuída (N camadas)
Nesta arquitetura, a informação está distribuída em diversos servidores.
Cada servidor atua como no sistema cliente-servidor, porém as consultas
oriundas dos aplicativos são feitas para qualquer servidor indistintamente.
Caso a informação solicitada seja mantida por outro servidor ou servidores, o
sistema encarrega-se de obter a informação necessária, de maneira
transparente para o aplicativo.
29. Arquitetura de um SGBD
Quarta Arquitetura: Distribuída (N camadas)
Características
Os dados e o processamento são distribuídos por diversos servidores (ou
hosts).
Cada host pode atuar como um servidor de um sistema cliente-servidor, e
como cliente.
Muito usado em bases de dados corporativas, ou em aplicações sofisticadas,
onde o volume de informações seja muito grande.
Desvantagem: aumento da complexidade de gerenciamento.
30. Arquitetura de um SGBD
Quinta Arquitetura: Paralela
Combinam técnicas de gerência de dados e processamento paralelo para
aumentar desempenho e confiabilidade. A arquitetura paralela vem tornandose uma tendência em função da demanda sempre crescente por poder
computacional.
Características:
O processamento do sistema utiliza as técnicas de paralelismo.
Computadores multi-processados, ou vários computadores, são utilizados
para o processamento paralelo de uma única transação.
A paralelização do processamento interno de consultas resulta numa
diminuição do tempo de resposta.