Vous êtes sur la page 1sur 47

Arquitetura de Sistemas de Bancos de Dados

Introduo
Agora temos condies de apresentar uma arquitetura para um sistema de banco de dados. Nosso objetivo fornecer um arcabouo para descrever conceitos gerais de banco de dados. Explicar a estrutura de sistemas de banco de dados especficos.

Os Trs Nveis da Arquitetura


A arquitetura ANSI/SPARC se divide em trs nveis: inteiro, conceitual e externo. O nvel interno: (fsico) o mais prximo do meio de armazenamento fsico ou seja, ele se ocupa do modo como os dados so fisicamente armazenado. O nvel externo: (lgico do usurio) o mais prximo dos usurios ou seja, ele se ocupa do modo como os dados so vistos por usurios individuais. O nvel conceitual: (lgico comunitrio, ou apenas indireto) o nvel de simulao entre o nvel interno e o nvel externo.

Nvel externo Vises de usurios

Viso 1

Viso 2

Viso N

Viso da comunidade de usurios

Nvel Conceitual

Viso da meio de armazenamento

Nvel Fsico

BD
4

O Nvel Externo
O nvel externo o nvel do usurio individual. Um usurio pode ser Programador de Aplicaes ou um Usurio Final (solicitao). Para o programador de aplicaes: a linguagem utilizada uma linguagem de quarta gerao. Exemplo: PL/I, C++, Java, etc... Para o usurio final: a linguagem uma linguagem de consulta ou de uso especial, atravs de formulrios ou menus, adaptada aos requisitos do usurio com suporte a programas aplicativos on-line.

O Nvel Conceitual
A viso conceitual uma representao de todo o contedo de informaes do banco de dados. uma forma um tanto abstrata em comparao com o modo como os dados so armazenados fisicamente. A viso conceitual consiste em muitas ocorrncias de cada um dos vrios tipos de registros conceituais. Por exemplo: Coleo de registros de departamentos; Coleo de registros de empregados; Coleo de registros de fornecedores; Coleo de registros de peas;

O Nvel Conceitual
Um registro conceitual no necessariamente o mesmo que um registro externo, nem o mesmo que um registro armazenado. A viso conceitual definida por meio do esquema conceitual, que inclui definies de cada um dos vrios tipos de registros conceituais. A viso conceitual uma viso do contedo total do banco de dados, e o esquema conceitual uma definio dessa viso. As definies no esquema conceitual pretendem incluir muitos recursos adicionais, como as restries de segurana e integridade.

O Nvel Interno
A viso interna uma representao de baixo nvel do banco de dados por inteiro. Consiste em muitas ocorrncias de cada um dos vrios tipos de registros internos. Corresponde a construo que chamamos de registro armazenado. A viso interna ainda est muito afastada do nvel fsico no manipula registros fsicos conhecidos por blocos ou pginas. Tambm no leva em considerao especificaes especficas de dispositivos, tais como tamanho do cilindro ou trilha.

O Nvel Interno
A viso interna descrita por meio do esquema interno. No s define os diversos tipos de registros armazenados mas tambm especifica: Quais ndices existem; Como os campos armazenados esto representados; Em que seqncia fsica esto os registros armazenados;

Mapeamentos
Alm dos trs nveis bsicos, uma arquitetura envolve, em geral certos mapeamentos: O mapeamento conceitual/interno Define a correspondncia entre a viso conceitual e o banco de dados armazenado; O modo como os registros e campos conceituais so representados no nvel interno. Se a estrutura do banco de dados armazenado for alterada o mapeamento conceitual/interno ter de ser alterado para que possa permanecer invarivel.

Mapeamentos
Mapeamento externo/conceitual Define a correspondncia entre uma viso externa especfica e a viso conceitual; Em geral, as diferenas que podem existir entre esses dois nveis so semelhantes s que podem existir entre a viso conceitual e o banco de dados armazenado. Por exemplo: Os campos podem ter diferentes tipos de dados; Os nomes de campos e registros podem ser alterados; Vrios campos conceituais podem ser combinados em um nico campo externo.

O Administrador do Banco de Dados


O administrador de dados DA a pessoa que toma as decises estratgicas com relao aos dados da empresa. O administrador do banco de dados DBA a pessoa que fornece o suporte tcnico necessrio para implantar as decises. Assim, podemos descrever algumas das atribuies do DBA:

O Administrador do Banco de Dados


Definir o esquema conceitual Cabe ao administrador de dados decidir quais informaes devem ser mantidas no banco de dados. Identificar as entidades de interesse para a empresa e identificar as informaes a serem registradas. Esse processo referenciado como projeto lgico - de banco de dados. Uma vez que o DA tenha definido o contedo, o DBA ento criar o esquema conceitual correspondente usando a linguagem de definio de dados.

O Administrador do Banco de Dados


Definir o esquema interno O DBA tambm decidir como sero representados os dados no banco de dados armazenado. Em geral, esse processo chamado projeto de banco de dados fsico. O DBA tambm deve definir o mapeamento conceitual/interno associado.

O Administrador do Banco de Dados


Ligao com usurios A tarefa do DBA fazer a ligao com os usurios, a fim de garantir que os dados de que eles necessitam esto disponveis. Deve escrever os esquemas externos necessrios, usando a linguagem de definio de dados externa aplicvel. Os mapeamentos externos/conceituais correspondentes tambm devem ser definidos.

O Administrador do Banco de Dados


Definir restries de segurana e integridade As restries de segurana e integridade podem ser consideradas uma parte do esquema conceitual. A linguagem de definio de dados conceitual deve incluir recursos para a especificao de tais restries.

O Administrador do Banco de Dados


Definir normas de descarga e recarga Uma vez que a empresa esteja comprometida com um sistema de banco de dados, ela se tornara dependente do sucesso desse sistema. Em caso de danos a qualquer parte do banco de dados provocado por erro humano, falho do hardware, sistema operacional. necessrio reparar os dados em questo com um mnimo de demora e com o menor efeito possvel sobre o restante do sistema. Por exemplo: as dados que no tenham sido danificados no devem ser afetados.

O Administrador do Banco de Dados


Monitorar o desempenho e responder a requisitos de mudanas O DBA responsvel pela organizao do sistema de modo a se obter o melhor desempenho possvel. responsvel por fazer os ajustes apropriados. Por exemplo: poderia ser necessrio reorganizar o banco de dados armazenando de tempos em tempos para assegurar que os nveis de desempenho permanecero aceitveis.

O Sistema de Gerenciamento de Bancos de Dados


O sistema de gerenciamento de bancos de dados (SGBD) o software que trata de todo o acesso ao banco de dados: 1. Um usurio faz um pedido de acesso usando uma determinada sublinguagem de dados (em geral em SQL). 2. O SGBD intercepta o pedido e o analisa. 3. O SGBD inspeciona, o esquema externo para esse usurio, o mapeamento externo/conceitual correspondente, o esquema conceitual, o mapeamento conceitual/interno e a definio da estrutura de armazenamento. 4. O SGBD executa as definies necessrias sobre o banco de dados armazenado.

O Sistema de Gerenciamento de Bancos de Dados


Vamos examinar agora as funes de SGBD com um pouco mais de detalhes. Essas funes incluiro o suporte a pelo menos todos os itens a seguir:
Definio de dados; Manipulao de dados; Otimizao e execuo; Segurana e integridade de dados; Recuperao e concorrncia de dados; Dicionrio de dados; Desempenho.

O Sistema de Gerenciamento de Bancos de Dados


Definio de dados O SGBD deve ser capaz de aceitar definies de dados (esquemas externos, esquema conceitual, esquema interno e todos os mapeamentos associados) em formato fonte e convert-los para o formato objeto apropriado. Por exemplo: ele deve entender que os registros externos EMPREGADO incluem um campo SLARIO; E deve ento ser capaz de usar esse conhecimento para analisar e responder ao pedido: obtenha todos os empregados com salrio < R$ 50.000,00

O Sistema de Gerenciamento de Banco de Dados


Manipulao de dados O SGBD deve ser capaz de lidar com solicitaes do usurio para buscar, atualizar e excluir dados existentes no B.D. Ou acrescentar novos dados ao banco de dados. As solicitaes de (DML Linguagem de Manipulao de Dados) podem ser planejadas ou no-planejadas

O Sistema de Gerenciamento de Banco de Dados


Uma solicitao planejada aquela para a qual a necessidade foi prevista com antecedncia em relao ao momento em que a solicitao executada. Exemplo: O DBA ajusta o projeto fsico para atender a solicitao planejada. Uma solicitao no-planejada uma consulta ad hoc , isto , uma solicitao cuja necessidade no foi prevista com antecedncia e surgiu no ltimo instante. Exemplo: O projeto fsico pode estar ou no adaptado de forma ideal para a solicitao.

O Sistema de Gerenciamento de Banco de Dados


Otimizao e execuo As requisies de DML, planejadas ou no-planejadas, devem ser processadas pelo componente otimizador, cujo propsito determinar um modo eficiente de implementar a requisio. As requisies otimizadas so ento executadas sob o controle do gerenciador em tempo de execuo.

O Sistema de Gerenciamento de Banco de Dados


Segurana e integridade de dados O SGBD deve monitorar requisies de usurios e rejeitar toda tentativa de violar as restries de segurana e integridade definidas pelo BDA. Essas tarefas podem ser executadas em tempo de compilao ou em tempo de execuo, ou combinado compilao e execuo.

O Sistema de Gerenciamento de Banco de Dados


Recuperao e concorrncia de dados O SGBD ou algum componente de software relacionado, chamado gerenciador de transaes ou monitor de processamento de dados, deve impor certos controles de recuperao e concorrncia. Obs.: Em geral no faz parte do SGBD.

O Sistema de Gerenciamento de Banco de Dados


Dicionrio de dados O SGBD deve fornecer uma funo de dicionrio de dados. O dicionrio de dados um banco de dados do sistema e no um banco de dados do usurio. O dicionrio contm dados sobre os dados (chamados de metadados). Ou seja, definies de outros objetos do sistema, em vez de dados brutos. Em particular, todas as restries de segurana e integridade estaro armazenadas, tanto na forma de fonte quanto de objeto, no dicionrio.

O Sistema de Gerenciamento de Banco de Dados


Desempenho desnecessrio dizer que o SGBD deve realizar todas as funes identificadas anteriormente de forma to eficiente quanto possvel.

esquema e fonte e mapeamento

Requisies de DML planejadas

Requisies de DML no-planejadas

Processadores de DDL

Processadores de DML requisies compiladas Otimizador requisies otimizadas Gerenciador tempo de execuo banco de dados dados Metadados (dicionrio de dados)

Processadores de linguagem de consulta


Impem restries de segurana e integridade

esquema e fonte e objeto e mapeamento

metadados

Usurios Comuns

Programadores de Aplicao

Usurios de Alto Nvel

Administrador de banco de dados

Interfaces do Aplicativo

Programas Aplicativos

Consulta

Esquema de Banco de Dados

Pr-compilador da linguagem de manipulao de dados

Processador de consultas

Compilador de linguagem de definio de dados

Cdigo-objeto de programas aplicativos

Gerenciador de banco de dados

Sistema gerenciador de banco de dados

Gerenciador de Arquivos Arquivos de dados Dicionrio de dados

Disco de Armazenamento

Estrutura do SGBD
30

As requisies feitas pelo usurio final, so transmitidas da estao de trabalho do usurio para alguma aplicao online (embutida ou no), e da at o SGBD, sob a forma de mensagens de comunicao. Da mesma forma, as respostas do SGBD com a aplicao on-line. O gerenciador de Comunicao de dados no faz parte SGBD, ele um sistema autnomo. Mas o gerenciador de Comunicao de dados e o SGBD devem trabalhar em harmonia.

O Gerenciamento de Comunicao de de Dados

Arquitetura Cliente/Servidor
Um sistema de banco de dados pode ser considerado como tendo uma estrutura muito simples em duas partes: Servidor / Clientes. O servidor o prprio SGBD. Ele tm todas as funes bsicas do SGBD definio de dados, manipulao de dados, segurana e integridade de dados.
Os clientes so as diversas aplicaes executadas sobre o SGBD tanto aplicaes escritas por usurios quanto aplicaes internas. Ou seja, aplicaes fornecidas pelo fabricante do SGBD ou por produtores idependentes.

Processamento Distribudo
Usurios finais

Aplicaes

Clientes

SGBD

Servidor

Banco de dados
Fig. Arquitetura Cliente/servidor

Arquitetura Cliente/Servidor
Aplicaes escritas por usurios so basicamente programas aplicativos comuns, escritos em uma linguagem de programao convencional de 4G. Aplicaes fornecidas por fabricante so aplicaes cuja finalidade bsica auxiliar na criao e execuo de outras aplicaes. Exemplo: Gerador de relatrios.

Arquitetura Cliente/Servidor
As ferramentas fornecidas pelo fabricante podem ser dividas em classes: Processadores de linguagem de consulta (XML, SQL, XQUERY). Geradores de relatrios (SARG ). Subsistemas grficos de negcios. Planilhas eletrnicas. Processadores de linguagem natural (ELIZA ). Pacotes estatsticos. Ferramentas para gerenciamento de cpias extrao de dados. Geradores de aplicaes (Incluindo processadores L4G). Outras ferramentas para desenvolvimento de aplicaes, software de engenharia de software.

Utilitrios
Utilitrios so programas projetados para auxiliar o DBA com diversas tarefas administrativas. Alguns exemplos de utilitrios: Rotinas de carga, a fim de criar a verso inicial do banco de dados a partir de um ou mais arquivos de sistema operacional. Rotinas de descarregamento ou recarregamento, a fim de descarregar o banco de dados, ou partes dele, para o meio de armazenamento de backup e recarregar dados desse backup.

Utilitrios
Rotinas de reorganizao, para rearranjar os dados no banco de dados. Por exemplo: agrupar dados no disco, ou para reaver o espao ocupado por dados obsoletos. Rotinas estatsticas, a fim de calcular diversas estatsticas de desempenho, tais como tamanhos de arquivos e distribuio de valores de dados ou contagens de E/S. Rotinas de anlise, a fim de analisar as estatsticas mencionadas.

Processamento Distribudo

Aplicaes

Mquina cliente

Acesso remoto transparente Mquina servidora

SGBD

Fig. Cliente(s) e servidores rodando em mquinas diferentes

Processamento Distribudo
...
Mquina cliente Rede de comunicao

SGBD

Mquina servidora

Fig. Um equipamento servidor vrios equipamentos clientes

Banco de Dados Distribudos


O banco de dados armazenado em diversos computadores que se comunicam atravs de uma tecnologia de rede; Um banco de dados distribudo consiste em uma coleo de ns, cada qual podendo participar na execuo de transaes que fazem acesso a dados em um ou diversos ns; A execuo das transaes entre os ns devem ser transparente para o usurio.

40

Processamento Distribudo

Cliente Servidor

Cliente Servidor

Cliente Servidor

Rede de comunicao
Cliente Servidor
Fig. Cada mquina pode rodar tanto Cliente(s) servidor

Cliente Servidor

Site 1 Site 5 Site 2

Rede Banco de Dados Distribudo


Site 4 Site 3 Site 5 Site 1 Site 2

Banco de Dados Centralizado

Rede

Site 4

Site 3
42

Prs
Controle distribudo; Diminuio nos custos de comunicao equipamentos; Confiabilidade; Disponibilidade; Facilidade no crescimento modular (escalabiliade); Acelerao das consultas.

43

Contras
Maiores custo e complexidade de desenvolvimento, tanto do SGBD quanto do esquema de dados; Dificuldades da coordenao e controle dos dados arnazenados; Aumento na troca de mensagens para sincronizao e controle.

44

Autonomia
Autonomia se refere a distribuio do controle; Indica o grau de independncia de um SGBD; Funes consideradas: Se os componentes do sistema trocam informao; Se eles podem independentemente executar transaes; Se permitido que um componente influencie os outros.
45

Dimenses de Autonomia
Autonomia de Projeto: SGBDs individuais so livres para usar o modelo de dados e as tcnicas de gerenciamento de trasaes que eles preferirem; Autonomia de Participao: Cada SGBD local tem o direito de decidir como ir participar no sistema distribudo; Autonomia de Comunicao: Cada SGBD livre para decidir que tipo de informao ele deseja trocar e o software que far o controle das trasaes; Autonomia de Execuo: Cada SGBD pode executar as transaes que so submetidas a ele de vrias formas 46 basta ele escolher qual a melhor.

Questes relacionadas ao armazenamento distribudo


Duplicao: O sistema mantm diversas cpias idnticas armazenadas em ns diferentes; Vantagens: Maior disponibilidade e aumento do paralelismo; Desvantagem: aumento da sobrecarga na atualizao; Fragmentao: A relao dividida em vrios fragmentos. Cada fragmento armazenado em um n diferente. Existem dois tipos de fragmentao: Horizontal e vertical
47

Vous aimerez peut-être aussi