Este documento discute diferentes arquiteturas de banco de dados, incluindo sistemas centralizados, clientes-servidores, paralelos e distribuídos. Também descreve quatro tipos de usuários de bancos de dados: programadores de aplicativos, usuários sofisticados, especializados e comuns.
3. Introdução
A arquitectura de um Sistema de Base de Dados
(SGBD) é fortemente influenciada pelo sistema
básico computacional sobre o qual o sistema de
dados é executado.
Aspectos da arquitectura de computadores – como
rede, paralelismo e distribuição – têm influência na
arquitectura do Banco de Dados.
4. Conceito de
Arquitectura
Arquitectura – Desenho conceptual, estrutura e
componentes fundamentais de um sistema.
Arquitectura de um SGBD – Desenho conceptual,
estrutura e componentes fundamentais de um
Sistema de Gestão de Base de Dados.
5. Aspectos que
Influenciam
Rede de computadores - permite que algumas tarefas sejam executadas no servidor
do sistema e outras sejam executadas no cliente. Essa divisão de trabalho tem levado
ao desenvolvimento de sistemas de dados cliente-servidor.
Processamento paralelo - permite que actividades do SGBD sejam realizadas com
mais rapidez, reduzindo o tempo de resposta das transacções e, assim, aumentando o
número de transacções processadas por segundo. Consultas podem ser processadas
de forma a explorar o paralelismo oferecido pelo sistema operacional. A necessidade
de processamento paralelo de consultas tem levado ao desenvolvimento de SGBD’s
paralelos.
Distribuição de dados pelos nós da rede - permitem que esses dados residam onde
são gerados ou mais utilizados, mas, ainda assim, estejam acessíveis para outros nós
de outros departamentos. Dispor de diversas cópias de uma Base de Dados em
diferentes nós também permite a organizações de grande porte manter operações em
suas Bases de Dados mesmo quando um nó é afectado por um desastre natural,
como inundações, incêndios ou terremotos.
6. Sistemas Centralizados
SGBD centralizados são aqueles executados sobre um
único sistema computacional que não interagem com
outros sistemas.
Tais sistemas podem ter a envergadura de um SGBD de
um só utilizador executado em um computador pessoal
até sistemas de alto desempenho em sistemas de grande
porte.
Um sistema computacional genérico moderno consiste em
uma ou poucas CPUs e dispositivos de controle que são
conectados por meio de um bus comum que proporciona
acesso à memória compartilhada. As CPUs têm
memórias cache locais que armazenam cópias de partes da
memória para acesso rápido aos dados.
7. Sistemas Centralizados
Vantagens
Alto grau de segurança
Concorrência
Controle de cópias de segurança
Recuperação.
Simplicidade
Desvantagens
Alto custo de comunicação
Gargalo no acesso aos dados
Disponibilidade
8. Arquitectura Cliente /
Servidor
Front-end - consiste em ferramentas como
formulários, gerador de relatórios e recursos de
interface gráfica.
Interface SQL+API – Funções e instruções de acesso
a estrutura de Base de Dados.
Back-end - estruturas de acesso, desenvolvimento e
optimização de consultas, controle de concorrência e
recuperação.
9. Arquitectura
Cliente/Servidor
Existem Clientes e Servidores
Clientes – São Sistemas que fazem pedidos aos
servidores
Servidores – São Sistemas que disponibilizam
serviços aos Clientes
O maior exemplo é a Internet
11. Arquitectura Cliente /
Servidor
Vantagens
Divisão de Papeis e Responsabilidades
Maquina especializada para gerir os dados
Arquitectura bastante conhecida e utilizada
Desvantagens
Sobrecarga do Servidor
12. Sistemas Paralelos
Sistemas paralelos imprimem velocidade ao
processamento e à I/O por meio do uso em paralelo
de diversas CPUs e discos.
13. Sistemas Distribuídos
Em um SGBD distribuídos, a base de dados é
armazenado em diversos computadores.
Os computadores de um SGBD distribuído
comunicam-se com outros por intermédio de vários
meios de comunicação.
Podem partilhar memória principal ou discos
14. Sistemas Distribuídos –
Transparência de rede
É essencial que o sistema esconda do utilizador
detalhes relativos à distribuição dos dados na rede.
O utilizador não necessita de saber sobre:
Replicação dos itens de dados;
Fragmentação dos itens de dados;
Localização das réplicas e fragmentos.
15. Sistemas Distribuídos –
Processamento de
Consultas
Nos sistemas distribuídos devemos considerar
diversos problemas em relação ao processamento de
consultas:
O custo de transmissão de dados na rede;
O ganho potencial de desempenho diante do fato de
que diversos servidores podem processar partes da
consulta em paralelo.
O custo relativo de transferência de dados na rede e de
transferência de dados entre discos varia
significativamente, dependendo do tipo de rede e da
velocidade dos discos
16. Utilizadores de Bases de
Dados
Podem-se distinguir quatro tipos de utilizadores de
uma base de dados:
Programadores de aplicações. São profissionais de
informática que desenvolvem aplicações numa
linguagem natural do sistema, como Pascal ou C
Utilizadores sofisticados. Estes utilizadores
interagem com o sistema sem escrever programas de
aplicação. Os seus pedidos à base de dados são
formulados numa LMI. Estes pedidos são
submetidos a um processador de que sitos que
traduz cada quesito em instruções compreensíveis
para o gestor da base de dados.
17. Utilizadores de Bases de
Dados
Utilizadores especializados. São utilizadores
sofisticados que desenvolvem aplicações
especializadas para a base de dados que não se
enquadram dentro do processamento tradicional da
informação.
Utilizadores comuns. Estes utilizadores interagem
com a base de dados através de programa de
aplicação desenvolvido previamente.