Professional Documents
Culture Documents
e Suas Aplicaes
1
Viso (View)
juno
consulta consulta
View View
Viso (View)
Views
Views
Exemplo
CREATE VIEW
ALTER VIEW
DROP VIEW
Viso Materializada
(materialized view)
custosas
armazenamento de informaes sumarizadas
distribuio de dados
Viso Materializada
(materialized view)
Comuns em data warehousing, sistemas
distribudos, computao mvel....
Principais desvantagens:
ocupa espao de armazenamento
exige refresh quando as master tables so
modificadas
Viso Materializada no
ORACLE
14
Problema
Imagine o seguinte problema: uma empresa abrange
vrias cidades e a operao da empresa
integrada por meio de uma base de dados nica.
Problemas:
Copiar a base inteira para todas as filiais? Mas apenas
alguns dados so necessrios em cada uma; como manter as
cpias atualizadas?
Quais dados ter em cada filial ento? Ainda assim, alguns
dados comuns sero necessrios em todas as sedes?
Onde guardar os dados comuns? Na sede? Como
disponibilizar estes dados s filiais sem prejudicar o
desempenho? Ter vrias cpias dos mesmos dados uma opo?
Em algumas situaes ser inevitvel usar a infra-estrutura de
rede para trafegar dados entre pontos geogrficos distantes uns
dos outros? Como minimizar o trfego? Como tirar o melhor
proveito da rede? Quais alteraes podem melhorar o
desempenho?
15
Problema
Imagine o seguinte problema: uma empresa abrange
vrias cidades e a operao da empresa
integrada por meio de uma base de dados nica.
Problemas:
Exemplo:
Copiar a baseempresa
inteiradepara
transporte
todasrodovirio, rede
as filiais? Masde apenas
alguns dados
hotis, so necessrios
empresa em cada rede
area internacional, uma;de como
lojasmanter
do as
cpias atualizadas?
Quais dados ter em cada varejo, ...ento? Ainda assim, alguns
filial
dados comuns sero necessrios em todas as sedes?
Onde guardar os dados comuns? Na sede? Como
Quais problemas
disponibilizar estes cada uma destas
dados categorias
s filiais sem pode ter
prejudicar o
desempenho? Ter vrias cpias dos mesmos dados uma opo?
de maneira que um BD distribudo possa resolver.
Em algumas situaes ser inevitvel usar a infra-estrutura de
rede para trafegar dados entre pontos geogrficos distantes uns
dos outros? Como minimizar o trfego? Como tirar o melhor
proveito da rede? Quais alteraes podem melhorar o
desempenho?
16
Motivao
Por que distribuir dados?
disponibilidade
acesso distribudo
localidade desempenho
Aplicaes
grandes corporaes
redes de hotis
redes de lojas
companhias areas
companhias virias
17
Componentes
18
Definies
Banco de Dados Distribudo (BDD)
conjunto de mltiplos bancos de dados (SGBDs) inter-
relacionados distribudos por uma rede de computadores
19
Caractersticas
Sistema de BDD mais complexo
funes adicionais do SGBDD
localizao de dados
processamento de consultas distribudas
recuperao de BDD
segurana
20
Arquitetura nada
Arquitetura de
rede com um BD
centralizado
Arquitetura BDD
o banco uma
composio dos
diversos sites
21
Projeto
Questes relevantes sobre BDD
Projeto de Distribuio
(Fragmentao/Replicao) da Base de
Dados
como distribuir a base de dados?
base de dados distribuda replicada ou no replicada?
Processamento de Consulta
como converter transaes do usurio em instrues de
manipulao de dados?
como otimizar uma consulta?
custo = transmisso dados + processamento local
22
Projeto
Questes relevantes sobre BDD
Controle de Concorrncia
como sincronizar acessos concorrentes?
como garantir consistncia e isolamento das
transaes?
como evitar deadlocks?
Confiabilidade
como tornar o sistema tolerante a falhas?
como garantir durabilidade e atomicidade das
transaes?
23
Projeto
Catlogo (ou Dicionrio) de Dados Distribudo
como e onde os dados esto fragmentados
como e onde os dados esto replicados
informao de esquema
informao de autorizao de usurios
estatsticas
24
Transparncia
Em SBDDs necessrio que os usurios
no tenham que saber da arquitetura
distribuda transparncia
SGBDD heterogneo
administrados independentemente
seleo
Conceito de Esquema de Fragmentao:
metadados que descrevem como os dados so
quebrados ao longo da arquitetura
29
Fragmentao
Fragmentao quebra de uma tabela em
fragmentos que podem ser armazenados em sites
diferentes
Esquema de Fragmentao: definio de um
Tipos:
conjunto de fragmentos que inclui todos os
fragmentao vertical projeo
atributos e tuplas no banco de dados e satisfaz
fragmentao horizontal seleo
condio de que o banco de dados pode ser
fragmentao mista projeo +
reconstrudo com base nos fragmentos ao se
seleo
aplicar alguma sequncia de operaes de
Conceito de Esquema de Fragmentao: metadados que
UNIO E JUNO. (Elmasri-Navathe, 2010)
descrevem como os dados so quebrados ao longo da
arquitetura
30
Fragmentao
31
Replicao
Replicao armazenamento de
vrias cpias de uma tabela ou
fragmento de tabela
maior disponibilidade dos dados
consultas mais rpidas
REPLICAO
alocao no replicao BD
redundante parcial completamente
replicado
33
Replicao
Replicao total: cpias de toda a base em
todos os sites
Vantagem: maior desempenho de consultas
Desvantagem: atualizaes e controle de
concorrncia so dispendiosos, pois novos dados e
locks devem ser propagados para todos os sites;
intenso trfego de dados
37
Esquema Distribudo
Esquemas Lgicos locais ou um esquema global
+
Esquema de Fragmentao
+
Esquema de Replicao
40
EX: Transferncia de Dados
Exerccio
Processamento-de-consulta-distribuido
Semi-Juno
ON F.atr1 = S.atr2
e enviar o resultado para o site 1
No site 1, executar: SELECT * FROM R JOIN T
42
ON R.atr1 = T. atr2
EX: Semi-juno
Exerccio
Semi-juncao
Transaes Distribudas
Propriedades ACID devem ser
garantidas
Atomicidade
Consistncia
Recuperao
Concorrncia de falhas
distribuda Isolamento distribuda
Durabilidade
44
Concorrncia Distribuda
Problema: o mesmo dado replicado em diferentes sites A e
B. No site A, o dado alterado, quase que imediatamente o
site B usar este dado, cuja cpia ser diferente do valor no
site A.
Transparncia de localizao
(uso de LDAP)
Transaes distribudas
baseadas em 2PC
Replicao bsica
leitura em qualquer site
escrita em site primrio
Replicao avanada leitura e
escrita em qualquer site
snapshots
Suporte a arquitetura
heterognea (Elmasri e Navathe,50
2005)
Exemplo:
ORACLE
Enterprise Manager
Third-Party Administration Tools
SNMP Support
Caso heterogneo:
Heterogeneous services
Caso homogneo: Oracle Transparent gateway
Advanced Replication Oracle Net Services 52
Exemplo:
ORACLE
Enterprise Manager
Third-Party Administration Tools
SNMP Support
Caso heterogneo:
Heterogeneous services
Caso homogneo: Oracle Transparent gateway
Advanced Replication Oracle Net Services 53
Exemplo:
ORACLE
Fluxo de dados entre sites: Oracle Stream Replication, mantm
todos os sites atualizados ao enviar continuamente dados de
atualizao
Transparncia de distribuio por meio de database links
Um database link um objeto de um esquema que permite o
acesso a objetos de outro banco de dados
SELECT *
FROM tabela1@remote.us.oracle.com
Fast refresh: usa logs para fazer a atualizao apenas do que foi
alterado desde o ltimo refresh
Complete refresh: atualiza todos os dados da view
56