Explorar E-books
Categorias
Explorar Audiolivros
Categorias
Explorar Revistas
Categorias
Explorar Documentos
Categorias
e Suas Aplicações
Visões e Bancos de Dados
Distribuídos
1
Visão (View)
junção
consulta consulta
View View
Visão (View)
Views
Views
Exemplo
CREATE VIEW
ALTER VIEW
DROP VIEW
Visão Materializada
(materialized view)
Principais desvantagens:
ocupa espaço de armazenamento
exige refresh quando as master tables são modificadas
Visão Materializada no ORACLE
14
Problema
Imagine o seguinte problema: uma empresa abrange
várias cidades e a operação da empresa é
integrada por meio de uma base de dados única.
Problemas:
Copiar a base inteira para todas as filiais? Mas apenas
alguns dados são necessários em cada uma; como manter as
cópias atualizadas?
Quais dados ter em cada filial então? Ainda assim, alguns
dados comuns serão necessários em todas as sedes?
Onde guardar os dados comuns? Na sede? Como
disponibilizar estes dados às filiais sem prejudicar o
desempenho? Ter várias cópias dos mesmos dados é uma
opção?
Em algumas situações será inevitável usar a infra-estrutura
de rede para trafegar dados entre pontos geográficos distantes
uns dos outros? Como minimizar o tráfego? Como tirar o
melhor proveito da rede? Quais alterações podem melhorar 15 o
desempenho?
Problema
Imagine o seguinte problema: uma empresa abrange
várias cidades e a operação da empresa é
integrada por meio de uma base de dados única.
Problemas:
Exemplo:
Copiar a base empresa depara
inteira transporte
todasrodoviário, rede
as filiais? de apenas
Mas
alguns dados são necessários em cada uma; como manter as
hotéis, empresa aérea internacional, rede de lojas do
cópias atualizadas?
Quais dados ter em cada varejo, ...então? Ainda assim, alguns
filial
dados comuns serão necessários em todas as sedes?
Onde guardar os dados comuns? Na sede? Como
disponibilizar estescada
Quais problemas dados às filiais
uma destas sem pode
categorias prejudicar
ter o
desempenho? Ter várias cópias dos mesmos dados é uma
de maneira que um BD distribuído possa resolver.
opção?
Em algumas situações será inevitável usar a infra-estrutura
de rede para trafegar dados entre pontos geográficos distantes
uns dos outros? Como minimizar o tráfego? Como tirar o
melhor proveito da rede? Quais alterações podem melhorar 16 o
desempenho?
Motivação
Por que distribuir dados?
disponibilidade
acesso distribuído
localidade desempenho
Aplicações
grandes corporações
redes de hotéis
redes de lojas
companhias aéreas
companhias viárias
17
Componentes
18
Definições
Banco de Dados Distribuído (BDD)
conjunto de múltiplos bancos de dados (SGBDs) inter-
relacionados distribuídos por uma rede de computadores
19
Características
recuperação de BDD
segurança
20
Arquitetura nada
Arquitetura de
rede com um BD
centralizado
Arquitetura BDD –
o banco é uma
composição dos
diversos sites
21
Projeto
Questões relevantes sobre BDD
Projeto de Distribuição
(Fragmentação/Replicação) da Base de
Dados
como distribuir a base de dados?
base de dados distribuída replicada ou não replicada?
Processamento de Consulta
como converter transações do usuário em instruções de
manipulação de dados?
como otimizar uma consulta?
custo = transmissão dados + processamento local
22
Projeto
Questões relevantes sobre BDD
Controle de Concorrência
como sincronizar acessos concorrentes?
como garantir consistência e isolamento das
transações?
como evitar deadlocks?
Confiabilidade
como tornar o sistema tolerante a falhas?
como garantir durabilidade e atomicidade das
transações?
23
Projeto
Catálogo (ou Dicionário) de Dados Distribuído
como e onde os dados estão fragmentados
como e onde os dados estão replicados
informação de esquema
informação de autorização de usuários
estatísticas
24
Transparência
Em SBDDs é necessário que os usuários
não tenham que saber da arquitetura
distribuída transparência
de replicação
de fragmentação
horizontal (WHERE)
25
Vertical (SELECT)
Tipos de Sistemas de BDD
Fator: grau de homogeneidade
SGBDD homogêneo
SGBDD heterogêneo
seleção
Conceito de “Esquema de Fragmentação”:
metadados que descrevem como os dados são
quebrados ao longo da arquitetura
29
Fragmentação
Fragmentação quebra de uma tabela
em fragmentos que podem ser
armazenados em sites diferentes
Esquema de Fragmentação: definição de um
conjunto de fragmentos que inclui todos os
Tipos:
atributos e tuplas no banco de dados e satisfaz à
fragmentação vertical projeção
condição de que o banco de dados pode ser
fragmentação
reconstruído horizontal
com base nos seleção ao se
fragmentos
aplicar algumamista
fragmentação sequência de operações
projeção + de
UNIÃO E JUNÇÃO. (Elmasri-Navathe, 2010)
seleção
Conceito de “Esquema de Fragmentação”:
metadados que descrevem como os dados são
quebrados ao longo da arquitetura
30
Fragmentação
31
Replicação
Replicação armazenamento de
várias cópias de uma tabela ou
fragmento de tabela
maior disponibilidade dos dados
consultas mais rápidas
REPLICAÇÃO
33
Replicação
Replicação total: cópias de toda a base em
todos os sites
Vantagem: maior desempenho de consultas
Desvantagem: atualizações e controle de
concorrência são dispendiosos, pois novos dados
e locks devem ser propagados para todos os
sites; intenso tráfego de dados
Tipos:
replicação síncrona todas as cópias são
atualizadas dentro de uma mesma transação
problema? – tráfego intenso de rede
37
Esquema Distribuído
Esquemas Lógicos locais ou um esquema global
+
Esquema de Fragmentação
+
Esquema de Replicação
40
EX: Transferência de Dados
Exercício
Processamento-de-consulta-distribuido
Semi-Junção
ON F.atr1 = S.atr2
e enviar o resultado para o site 1
No site 1, executar: SELECT * FROM R JOIN T
ON R.atr1 = T. atr2 42
EX: Semi-junção
Exercício
Semi-juncao
Transações Distribuídas
Atomicidade
Consistência Recuperação
Concorrência de falhas
distribuída distribuída
Isolamento
Durabilidade
44
Concorrência Distribuída
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 cópia será
diferente do valor no site A.
Transparência de localização
(uso de LDAP)
Transações distribuídas
baseadas em 2PC
Replicação básica
leitura em qualquer site
escrita em site primário
Replicação avançada – leitura e
escrita em qualquer site
snapshots
Suporte a arquitetura
heterogênea (Elmasri e Navathe,50
2005)
Exemplo:
ORACLE
Enterprise Manager
Third-Party Administration Tools
SNMP Support
Caso heterogêneo:
Heterogeneous services
Caso homogêneo: Oracle Transparent gateway
Advanced Replication Oracle Net Services 52
Exemplo:
ORACLE
Enterprise Manager
Third-Party Administration Tools
SNMP Support
Caso heterogêneo:
Heterogeneous services
Caso homogêneo: Oracle Transparent gateway
Advanced Replication Oracle Net Services 53
Exemplo:
ORACLE
Fluxo de dados entre sites: Oracle Stream Replication, mantém
todos os sites atualizados ao enviar continuamente dados de
atualização
Transparência de distribuição 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 atualização apenas do que foi
alterado desde o último refresh
Complete refresh: atualiza todos os dados da view
56