Vous êtes sur la page 1sur 39

Arquiteturas para SGBD

Laboratrio de Bases de Dados


Profa. Dra. Cristina Dutra de Aguiar Ciferri

Laboratrio de Bases de Dados Arquiteturas/BD Distribudos Profa. Dra. Cristina Dutra de Aguiar Ciferri
Arquitetura Centralizada
Terminal
responsvel pela exibio dos resultados
sem capacidade de processamento
Computador central (mainframe)
responsvel por todo o processamento da
aplicao
funes do sistema
programas aplicativos
interfaces dos programas
funcionalidades oferecidas pelos SGBD

Laboratrio de Bases de Dados Arquiteturas/BD Distribudos Profa. Dra. Cristina Dutra de Aguiar Ciferri
Arquitetura Centralizada
Terminais

Sistema
Centralizado

Laboratrio de Bases de Dados Arquiteturas/BD Distribudos Profa. Dra. Cristina Dutra de Aguiar Ciferri
Arquitetura Cliente Servidor
Servidores especializados
oferecem funcionalidades especficas
exemplos
servidor de banco de dados
servidor de arquivo
impressoras
servidor Web
servidor de e-mail
...

Laboratrio de Bases de Dados Arquiteturas/BD Distribudos Profa. Dra. Cristina Dutra de Aguiar Ciferri
Arquitetura Cliente Servidor
Mquinas cliente
oferecem aos usurios interfaces
apropriadas para utilizar os servidores
possuem capacidade de processamento
para executar aplicaes locais
Rede de comunicao
conecta os servidores
permite o uso compartilhado destes
servidores por vrias mquinas cliente

Laboratrio de Bases de Dados Arquiteturas/BD Distribudos Profa. Dra. Cristina Dutra de Aguiar Ciferri
Arquitetura Cliente Servidor
(Lgica)

Arquitetura de Duas Camadas

Laboratrio de Bases de Dados Arquiteturas/BD Distribudos Profa. Dra. Cristina Dutra de Aguiar Ciferri
Arquitetura Cliente Servidor
(Fsica)

Arquitetura de
Duas Camadas

Laboratrio de Bases de Dados Arquiteturas/BD Distribudos Profa. Dra. Cristina Dutra de Aguiar Ciferri
Arquitetura de Duas Camadas
para SGBD Relacionais
Lado cliente
interface dos programas
programas aplicativos
linha divisria
SQL
Lado servidor
processamento de consultas
gerenciamento de transaes

Laboratrio de Bases de Dados Arquiteturas/BD Distribudos Profa. Dra. Cristina Dutra de Aguiar Ciferri
Seqncia de Iterao
1: estabelecer ou abrir uma conexo
com o SGBD CONNECT
2: submeter consultas, transaes ou
outros comandos SQL ao SGBD
EXEC SQL
3: terminar ou fechar a conexo com
o SGBD DISCONNECT

uso de drivers ODBC-JDBC


Laboratrio de Bases de Dados Arquiteturas/BD Distribudos Profa. Dra. Cristina Dutra de Aguiar Ciferri
Funcionalidades da Aplicao
Componentes
Poro de apresentao Lgicos
exibio dos dados na tela
atividades de entrada e sada de dados
validao de dados de entrada
Poro de regras de negcio
processamento lgico da aplicao
Poro de gerenciamento de dados
armazenamento e recuperao
acesso fsico

Laboratrio de Bases de Dados Arquiteturas/BD Distribudos Profa. Dra. Cristina Dutra de Aguiar Ciferri
Arquitetura de Camadas
Arquitetura
distribuio dos componentes lgicos de
um programa de aplicao em diferentes
plataformas de hardware
Arquitetura de mltiplas camadas
componentes lgicos de um programa de
aplicao so distribudos por duas ou
mais camadas de hardware que atuam
cooperativamente para a realizao de
uma tarefa

Laboratrio de Bases de Dados Arquiteturas/BD Distribudos Profa. Dra. Cristina Dutra de Aguiar Ciferri
Arquitetura de Trs Camadas
Clientes
poro de apresentao da aplicao
poro de regras de negcio (pequena)
Servidor de aplicao
poro de regras de negcio
isola o processamento de dados
disponibiliza um conjunto de objetos que
encapsulam as regras de negcio da aplicao
Servidor de banco de dados
poro de gerenciamento de dados
Laboratrio de Bases de Dados Arquiteturas/BD Distribudos Profa. Dra. Cristina Dutra de Aguiar Ciferri
Arquitetura de Integrao
Web e Banco de Dados

Laboratrio de Bases de Dados Arquiteturas/BD Distribudos Profa. Dra. Cristina Dutra de Aguiar Ciferri
Arquitetura de Trs Camadas
para a Web

Laboratrio de Bases de Dados Arquiteturas/BD Distribudos Profa. Dra. Cristina Dutra de Aguiar Ciferri
Exemplo de Implementao
de Gateway: SSI
ex: SGBD
Apache MySQL

HTTP protocolo
servidor Web SGBD
cliente
Web interpretador SGBD
SSI

Browsers: PHP Zend


pginas contendo engine script
Netscape cdigos SSI
Internet Explorer executor

PHP scripting language


Laboratrio de Bases de Dados Arquiteturas/BD Distribudos Profa. Dra. Cristina Dutra de Aguiar Ciferri
Bancos de Dados Distribudos

Laboratrio de Bases de Dados


Profa. Dra. Cristina Dutra de Aguiar Ciferri

Laboratrio de Bases de Dados Arquiteturas/BD Distribudos Profa. Dra. Cristina Dutra de Aguiar Ciferri
Classificao
Sistemas Gerenciadores de Banco de
Dados Distribudos so atualmente
conhecidos como sistemas
gerenciadores de banco de dados
cliente servidor porque eles no
suportam um ambiente totalmente
distribudo, mas sim um conjunto de
servidores de banco de dados que
oferecem suporte para um conjunto de
clientes [Elmasri & Navathe, 2003]
Laboratrio de Bases de Dados Arquiteturas/BD Distribudos Profa. Dra. Cristina Dutra de Aguiar Ciferri
Conceitos Bsicos
Sistema de Banco de Dados (SBD)
componentes
dados: banco de dados (BD)
software: sistema gerenciador de BD (SGBD)
hardware
usurios
centralizado
componentes localizados em um nico
computador ou site

Laboratrio de Bases de Dados Arquiteturas/BD Distribudos Profa. Dra. Cristina Dutra de Aguiar Ciferri
Conceitos Bsicos
Sistema de Banco de Dados (SBD)
distribudo
componentes espalhados fisicamente em
diversos sites ligados atravs de uma rede de
comunicao

rede local rede de longa


distncia

Laboratrio de Bases de Dados Arquiteturas/BD Distribudos Profa. Dra. Cristina Dutra de Aguiar Ciferri
Vantagens & Desvantagens
Vantagens
compartilhamento controlado dos dados
aumento da disponibilidade e
confiabilidade do sistema
aumento do desempenho do sistema
Desvantagens
aumento do custo de desenvolvimento do
software
aumento do custo devido comunicao
entre os ns

Laboratrio de Bases de Dados Arquiteturas/BD Distribudos Profa. Dra. Cristina Dutra de Aguiar Ciferri
SBD Distribudos
Funcionalidades
habilidade de acessar sites remotos e
transmitir consultas e dados entre os vrios
sites atravs de uma rede de comunicao
habilidade de gerenciar estratgias de
consulta e de transaes que acessem
dados de mais de um site
habilidade de decidir quais dados replicar
habilidade de decidir qual cpia do dado
replicado acessar
Laboratrio de Bases de Dados Arquiteturas/BD Distribudos Profa. Dra. Cristina Dutra de Aguiar Ciferri
SBD Distribudos
Funcionalidades
habilidade de manter um dicionrio de
dados global contendo informaes sobre
a distribuio e a replicao dos dados
habilidade de recuperar falhas de sites
individuais

Laboratrio de Bases de Dados Arquiteturas/BD Distribudos Profa. Dra. Cristina Dutra de Aguiar Ciferri
Problemas
Projeto do BD distribudo
Processamento e otimizao de
consultas distribudas
Gerenciamento de transaes
distribudas
Gerenciamento dos dados replicados
Recuperao de falhas
Gerenciamento do dicionrio de dados

Laboratrio de Bases de Dados Arquiteturas/BD Distribudos Profa. Dra. Cristina Dutra de Aguiar Ciferri
Projeto do BD Distribudo
Principal caracterstica do BD
distribudo
dados particionados e armazenados em
sites diferentes
trs caractersticas do projeto
fragmentao
replicao
alocao

Laboratrio de Bases de Dados Arquiteturas/BD Distribudos Profa. Dra. Cristina Dutra de Aguiar Ciferri
Projeto do BD Distribudo
fragmentao alocao

divide o BD em aloca os fragmentos


unidades lgicas (ou cpias dos
(fragmentos) que replicao fragmentos) nos
podem ser diferentes sites
armazenadas em
mantm cpias
diferentes sites
(rplicas) dos
dados do BD
em diferentes
sites
Laboratrio de Bases de Dados Arquiteturas/BD Distribudos Profa. Dra. Cristina Dutra de Aguiar Ciferri
Fragmentao
Fragmentao horizontal
divide uma relao horizontalmente,
originando um subconjunto de tuplas
tuplas: especificadas por condies
aplicadas a um ou mais de seus atributos
fragmento horizontal (FH)
predicado(R)
reconstruo da relao
R = FH1 FH2 ... FHn

Laboratrio de Bases de Dados Arquiteturas/BD Distribudos Profa. Dra. Cristina Dutra de Aguiar Ciferri
Relao Cliente
cliente ( nro-cli, nome_cli, end_cli, saldo_dev,
nome_gerente )
nro_cli nome_cli end_cli saldo_dev nome_gerente

01 Mrcia RUA X 100,00 Manoel

02 Cristina Avenida Y 000,00 Manoel

03 Manoel Rua XYZ 234,00 Manoel

04 Rodrigo Rua X 137,00 Maria

05 Carlos Avenida R 500,00 Maria

06 Maria Rua AWZ 439,00 Maria

Laboratrio de Bases de Dados Arquiteturas/BD Distribudos Profa. Dra. Cristina Dutra de Aguiar Ciferri
Fragmentao Horizontal
nro_cli < 03 ( cliente )
nro_cli nome_cli end_cli saldo_dev nome_gerente
01 Mrcia RUA X 100,00 Manoel
02 Cristina Avenida Y 000,00 Manoel

nro_cli 03 ( cliente )
nro_cli nome_cli end_cli saldo_dev nome_gerente
03 Manoel Rua XYZ 234,00 Manoel
04 Rodrigo Rua X 137,00 Maria
05 Carlos Avenida R 500,00 Maria
06 Maria Rua AWZ 439,00 Maria

Laboratrio de Bases de Dados Arquiteturas/BD Distribudos Profa. Dra. Cristina Dutra de Aguiar Ciferri
Fragmentao
Fragmentao vertical
divide uma relao verticalmente por
colunas, mantendo somente certos
atributos
mantm um atributo em comum em todos
os fragmentos obtidos: chave primria
fragmento horizontal (FV)
lista_atributos(R)
reconstruo da relao
R = FV1 FV2 ... FVn
Laboratrio de Bases de Dados Arquiteturas/BD Distribudos Profa. Dra. Cristina Dutra de Aguiar Ciferri
Fragmentao Vertical
nro_cli, nome_cli, end_cli (cliente) nro_cli, saldo_dev, nome_gerente (cliente)

nro_cli nome_cli end_cli nro_cli saldo_dev nome_gerente

01 Mrcia RUA X 01 100,00 Manoel

02 Cristina Avenida Y 02 000,00 Manoel

03 Manoel Rua XYZ 03 234,00 Manoel

04 Rodrigo Rua X 04 137,00 Maria

05 Carlos Avenida R 05 500,00 Maria

06 Maria Rua AWZ 06 439,00 Maria

Laboratrio de Bases de Dados Arquiteturas/BD Distribudos Profa. Dra. Cristina Dutra de Aguiar Ciferri
Fragmentao
Fragmentao mista
mistura fragmentao horizontal e vertical
origina vrias relaes fragmento
cada fragmento
resultado de uma fragmentao horizontal ou
vertical na relao original ou em um
fragmento obtido anteriormente
fragmento misto (FM)
lista_atributos(predicado(R))

Laboratrio de Bases de Dados Arquiteturas/BD Distribudos Profa. Dra. Cristina Dutra de Aguiar Ciferri
Fragmentao Mista
nro_cli, nome_cli, end_cli (nro_cli < 03 (cliente)) nro_cli, saldo_dev, nome_gerente (nro_cli < 03 (cliente))

nro_cli nome_cli end_cli nro_cli saldo_dev nome_gerente


01 Mrcia RUA X 01 100,00 Manoel
02 Cristina Avenida Y 02 000,00 Manoel

nro_cli, nome_cli, end_cli (nro_cli 03 (cliente)) nro_cli, saldo_dev, nome_gerente (nro_cli 03 (cliente))

nro_cli nome_cli end_cli nro_cli saldo_dev nome_gerente


03 Manoel Rua XYZ 03 234,00 Manoel
04 Rodrigo Rua X 04 137,00 Maria
05 Carlos Avenida R 05 500,00 Maria
06 Maria Rua AWZ 06 439,00 Maria

Laboratrio de Bases de Dados Arquiteturas/BD Distribudos Profa. Dra. Cristina Dutra de Aguiar Ciferri
Fragmentao
se lista_atributos atributos(R)
e o predicado no for especificado
ento fragmentao vertical
se lista_atributos = atributos(R)
e o predicado for especificado
ento fragmentao horizontal
se lista_atributos atributos(R)
e o predicado for especificado
ento fragmentao mista
Laboratrio de Bases de Dados Arquiteturas/BD Distribudos Profa. Dra. Cristina Dutra de Aguiar Ciferri
Replicao
Replicao total
BD replicado em cada um dos sites
maior disponibilidade dos dados
melhor desempenho de consultas de
recuperao
pior desempenho de consultas de
atualizao
maior dificuldade de manuteno da
consistncia

Laboratrio de Bases de Dados Arquiteturas/BD Distribudos Profa. Dra. Cristina Dutra de Aguiar Ciferri
Replicao
Nenhuma replicao
fragmentos so armazenados em um
nico site
fragmentos so disjuntos (com exceo
da repetio da chave primria)
Replicao parcial
apenas alguns fragmentos so replicados

Laboratrio de Bases de Dados Arquiteturas/BD Distribudos Profa. Dra. Cristina Dutra de Aguiar Ciferri
Alocao
Distribuio dos fragmentos (cpias
dos fragmentos) em sites particulares
Escolha dos sites e do grau de
replicao
metas de desempenho do sistema
metas de disponibilidade dos dados
freqncia e tipo das transaes que
atuam no sistema

Laboratrio de Bases de Dados Arquiteturas/BD Distribudos Profa. Dra. Cristina Dutra de Aguiar Ciferri
Tipos de SBD Distribudos
Grau de heterogeneidade
homogneo: o mesmo software
utilizado
heterogneo: diferentes software,
modelos de dados, protocolos de controle
de concorrncia, dentre outros, so
utilizados

Laboratrio de Bases de Dados Arquiteturas/BD Distribudos Profa. Dra. Cristina Dutra de Aguiar Ciferri
Tipos de SBD Distribudos
Grau de autonomia local
sem autonomia: apenas um nico
esquema conceitual existe e os sites no
so autnomos
com autonomia: os sites so autnomos
(i.e, possuem seus prprios usurios e
transaes locais, e podem autorizar o
acesso a apenas pores particulares
dos seus dados

Laboratrio de Bases de Dados Arquiteturas/BD Distribudos Profa. Dra. Cristina Dutra de Aguiar Ciferri
Tipos de SBD Distribudos
Grau de transparncia
sem transparncia: o usurio deve
conhecer detalhes de fragmentao, de
replicao e de distribuio dos dados
com transparncia: o usurio no tem
conhecimento dos detalhes de
fragmentao, de replicao e de
localizao dos dados
o usurio apenas enxerga um nico esquema
conceitual integrado

Laboratrio de Bases de Dados Arquiteturas/BD Distribudos Profa. Dra. Cristina Dutra de Aguiar Ciferri