Você está na página 1de 28

BANCO DE DADOS DISTRIBUDOS

Banco de Dados II
Thiago Afonso Klein Tony Henrique F. Silva

CONCEITOS DE BDD
O que um BDD? Pode ser definido como diversas bases de

dados interligadas logicamente por meio de uma rede de computadores.


Um sistema de banco de dados distribudos

formado por um BDD e por um Sistema de Gerenciamento de Banco de Dados Distribudos (SGBDD).

EXEMPLO DE BDD

SISTEMA DE GERENCIAMENTO DE BDD SGBDD

COMO O USURIO V?

O SGBDD torna a distribuio transparente para o usurio que ver um nico banco de dados como se no estivesse distribudo fisicamente. (Banco de Dados Centralizado) Os detalhes da rede de comunicao bsica tambm so invisveis ao usurio final.

BANCO DE DADOS DISTRIBUIDOS(BDD)


Condies p/ ser considerado BD Distribudo:
Os ns devem ser conectados por uma rede de

comunicao bsica para transmitir dados e comandos entre os ns.

BANCO DE DADOS DISTRIBUIDOS(BDD)


Condies p/ ser considerado BD Distribudo:

Inter-relao lgica dos bancos de

dados conectados.
essencial que as informaes nos

bancos de dados sejam relacionadas logicamente.

BANCO DE DADOS DISTRIBUIDOS(BDD)


Condies p/ ser considerado BD Distribudo:
Ausncia de restrio de homogeneidade

entre os ns conectados.
No necessrio que todos os ns sejam

idnticos em relao aos dados, hardware e

software.

BDD HOMOGNEOS OU HETEROGNEOS


Homogneos
Bancos de dados iguais em todos os ns;

Utilizados quando um projeto inicia seu desenvolvimento, a

partir do ponto zero;


Abordagem top-down (de cima para baixo).

Heterogneos
Bancos de dados diferentes nos ns Utilizados quando h alterao ou migrao de um projeto

j desenvolvido
Abordagem bottom-up (de baixo para cima)

BDD HOMOGNEOS
Como em um SGBDD homogneo todos os SGBDs

locais oferecem interfaces idnticas, estes ento

usam o mesmo modelo de dados, a mesma DDL e


as mesmas DMLs.
Uma vez fixadas as interfaces locais, natural que

o SGBD global tambm oferea estas mesmas interfaces. Assim, qualquer usurio, local ou global, poder acessar tanto dados locais quanto dados remotos atravs da mesma DML.

BDD HETEROGNEOS
Em sistemas heterogneos, os SGBDs locais potencialmente usam

modelos de dados e DMLs diferentes. Uma opo seria o SGBD

global oferecer ao usurio global, residente em um dado n, uma


viso do banco de dados distribudo no mesmo modelo de dados que o banco local, e permitir que este usurio acesse dados

definidos nesta viso atravs da prpria DML local.


Esta opo interessante pois no necessrio ensinar uma nova

DML aos usurios residentes em um determinado n para que

possam acessar dados remotos. Nesta opo, o SGBD global


possui, na verdade, uma interface diferente para cada n.

TIPOS DE SBDD
Grau de homogeneidade
Banco de Dados Homogneo Banco de Dados Heterogneo

Grau de autonomia local

TIPOS DE SBDD
SBD Centralizado SBD Distribudo Puro

SBD Federado
Sistema Multibanco de Dados

TIPOS DE SBDD
SBD Federado
Possui uma viso global da federao

de banco de dados compartilhada.


Sistema Multibanco de Dados
Possui autonomia local completa pois

no possui esquema global.

TIPOS DE SBDD
Distribuio

A. B. C. D.

Banco de Dados Centralizado Banco de Dados Distribudo Puro Banco de Dados Federado Multibanco de Dados

A
Autonomia

Heterogeneidade

DISTRIBUIO DOS DADOS


Replicao
Existe uma cpia de cada um dos dados em cada n da rede,

tornando as bases de dados iguais;


Exemplo: tabela de produtos de uma grande loja; Vantagem: disponibilidade; Desvantagem: overhead (aumento de armazenamento e

processamento).
Fragmentao
Os dados so divididos em todo o sistema, portanto, h uma base

de dados diferente em cada n, se observarmos de forma local,


porm, de forma global, apenas uma base de dados.

REPLICAO
Sncrona
Cada transao concluda quando todos os

ns confirmam que a transao local foi bem sucedida.


Assncrona
O n principal executa a transao enviando

confirmao ao solicitante e ento


encaminha a transao aos demais ns.

FRAGMENTAO
Horizontal
Os fragmentos so definidos por seleo de tuplas.

Vertical
Os fragmentos so definidos por projeo de atributos.

TRANSPARNCIA
Como o prprio nome diz Banco de Dados Distribudos, os dados so distribudos por diferentes locais e sua localidade dita transparente ao usurio.
Transparncia de Local
A utilizao de um comando para realizar uma

tarefa independente do local dos dados e do local do n onde foi emitido o comando.

TRANSPARNCIA
Transparncia de replicao
Como cpias dos dados podem ser armazenados em

vrios locais a transparncia tornam essas cpias


invisveis ao usurio, sem saber de sua existncia.
Transparncia de fragmentao
Como fragmentos dos dados podem ser armazenados

em vrios locais a transparncia tornam esses

fragmentos invisveis ao usurio, sem saber de sua


existncia.

PROCESSAMENTO DE CONSULTA
Uma consulta em um BDD processada

em quatro estgios:
Mapeamento de consulta Localizao Otimizao global Otimizao local

GERENCIAMENTO DE TRANSAO
Operaes
BEGIN_TRANSACTION, READ ou WRITE,

END_TRANSACTION, ROLLBACK / ABORT

COMMIT_TRANSACTION
Protocolo de Confirmao Duas Fases Protocolo de Confirmao Trs Fases

GERENCIAMENTO DE TRANSAO
Coordenador

Participante I

Participante II

Participante III

1 FASE >> Preparar << Pronto / ERRO

2 FASE >> Confirmar

GERENCIAMENTO DE TRANSAO
Coordenador

Participante I

Participante II

Participante III

1 FASE >> Preparar << Pronto / ERRO

2 FASE >> Preparar

3 FASE >> Confirmar

CONTROLE DE CONCORRNCIA
Operaes
Mltiplas cpias dos itens de dados
Falha de sites individuais Falha dos links de comunicao Confirmao distribuda Deadlock distribudo

DESVANTAGENS DE BDD
Custo de desenvolvimento do software:
A alta complexidade torna mais difcil implementar um SGBDD,

tornando-o mais caro; Grande potencial para bugs:


Ocorrncia de erros muito sutis na colaborao entre os ns do SGBDD;

Aumento do overhead de processamento


Devido troca de mensagens e computao adicional para obter a

coordenao entre os ns. Dificuldades para obter conhecimento global


Por exemplo, controle de concorrncia entre transaes distribudas e

deteco de deadlock.

VANTAGENS DE BDD
Maior facilidade e flexibilidade de desenvolvimento da

aplicao
Isto devido transparncia da distribuio de controle de dados.

Maior confiabilidade e disponibilidade


obtido pelo isolamento de falhas do banco local, sem afetar os outros

bancos de dados conectados rede. Maior tolerncia a falhas.

Maior desempenho
Um SGBD Distribudo fragmenta o banco de dados ao manter os dados mais

prximos de onde eles so mais necessrios

Maior escalabilidade
mais fcil acrescentar um n, desde que os mesmos sejam autnomos, do

que substituir um sistema centralizado existente por um maior.

THE END