Arquitecturas de um SGBD
Base de Dados 1
Introdução Tipos de Arquitecturas Utilizadores de Bases de dados
Agenda
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.
Introdução
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.
Conceito de Arquitectura
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.
Aspectos que Influenciam
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.
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
Sistemas Centralizados
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.
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
Arquitectura Cliente/Servidor
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
Arquitectura Cliente / Servidor
Sistemas paralelos imprimem velocidade ao
processamento e à I/O por meio do uso em paralelo de diversas CPUs e discos.
Sistemas Paralelos
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
Sistemas Distribuídos
É 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.
Sistemas Distribuídos – Transparência de rede
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
Sistemas Distribuídos – Processamento de Consultas
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.
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.
Utilizadores de Bases de Dados