Apresentação do PowerPoint

Propaganda
BANCO DE DADOS
DISTRIBUÍDOS e
DATAWAREHOUSING
Asterio K. Tanaka
http://www.uniriotec.br/~tanaka/tin0036
[email protected]
Bancos de Dados Distribuídos
Conceitos e Arquitetura
Asterio K. Tanaka
Vantagens das Arquiteturas C/S
(em relação a SBDs centralizados)
• Divisão de trabalho mais eficiente
• Escala de recursos horizontal (nos clientes) e vertical
(nos servidores)
• Melhor custo/benefício nas estações clientes
• Habilidade de usar ferramentas familiares nas estações
clientes
• Acesso de clientes a dados remotos (via padrões)
• Funcionalidade de SGBD provida em estações clientes
• Melhor custo/benefício do sistema como um todo.
Asterio K. Tanaka
Problemas da Arquiteturas
Cliente/Servidor
Problemas:
• Gargalos no(s) servidor(es)
• Servidor é um ponto de falha singular
• Escalabilidade do BD dificultada
Soluções:
• Se o gargalo estiver no espaço em disco -> ...
• Se o gargalo estiver no tempo de acesso a disco -> ...
• Se o gargalo for no processamento -> ...
• Outras soluções
– Multiprocessamento no servidor
– Multiplos servidores
– SBD distribuído
Asterio K. Tanaka
Afinal, o que é um
BD Distribuído?
Definições
“Um sistema de BD distribuído é uma coleção de dados distribuída por
diferentes computadores, possivelmente em diferentes locais. Os
computadores estão conectados por uma rede de comunicação. O
sistema deve suportar aplicações locais em cada computador, bem
como aplicações globais nas quais mais de um computador esteja
envolvido.” (Ceri & Pelagatti, 1985)
“Um BD distribuído (BDD) é uma coleção de bancos de dados múltiplos,
logicamente inter-relacionados e distribuídos por uma rede de
computadores.”
“Um SGBD distribuído (SGBD-D) é o software que gerencia o BDD e
provê um mecanismo de acesso que faz essa distribuição transparente
para os usuários.” (Ozsu & Valduriez, 1998)
SBD distribuído = BDD + SGBD-D
Asterio K. Tanaka
Motivação para SBDs Distribuídos
Asterio K. Tanaka
Ambiente com SGBD Distribuído
Asterio K. Tanaka
O que NÃO É um SBD Distribuído
SBD distribuído não é:
• Um sistema de computação “time sharing”
• Um sistema com multiprocessadores
(fracamente ou fortemente acoplados)
• Um SBD que reside em um dos nós de uma
rede de computadores (isto é, um SGBD
centralizado um nó de rede)
Asterio K. Tanaka
MP com memória compartilhada
(tightly coupled)
Asterio K. Tanaka
MP com disco compartilhado
(loosely coupled)
Asterio K. Tanaka
MP sem compartilhamento de memória
Asterio K. Tanaka
SGBD centralizado numa rede
Asterio K. Tanaka
Ambiente com SGBD Distribuído
Asterio K. Tanaka
Regras implícitas num ambiente de BDD
• Dados armazenados em mais de um local – cada local
consiste logicamente de um simples processador
• Processadores em diferentes locais são
interconectados por uma rede de computadores – não
são multiprocessadores
–
sistemas de BD em paralelo
• BD distribuído é um BD, não uma coleção de arquivos –
os dados são logicamente relacionados
–
modelo de dados relacional
• SGBD-D é um SGBD completo (full-fledged DBMS)
–
não um sistema de arquivos remoto, não um sistema de
processamento de transações.
Asterio K. Tanaka
Bancos de Dados Distribuídos
• Decorrência natural de:
– avanços tecnológicos de microprocessadores;
– evolução das redes de comunicação de dados;
– evolução dos bancos de dados.
• Duas abordagens:
– “bottom up”
• integração de BDs existentes, independentes
– “top down”
• projeto de um novo BD levando em conta a distribuição
geográfica dos dados e aplicações
Asterio K. Tanaka
Características dos BDs Distribuídos
•
Independência de dados
– aplicações e visões de usuários imunes a mudanças na forma de
armazenamento dos dados e vice-versa.
•
Transparência de distribuição
– aplicações e usuários não precisam conhecer a localização e as formas de
representação de dados dos bancos de dados nas redes de computadores ou
lidar com os protocolos utilizados na comunicação entre os diferentes
sistemas.
•
Transparência de replicação
– os dados podem ser replicados, para atendimento de requisitos de
desempenho e de disponibilidade, porém os usuários e as aplicações
possuem a ilusão de existir uma única cópia dos dados.
•
Transparência de fragmentação
– significa que as aplicações e os usuários têm sempre uma visão única dos
dados, independentemente da forma como as relações estiverem
fragmentadas entre os diferentes servidores.
Asterio K. Tanaka
Características dos BDs Distribuídos
Asterio K. Tanaka
Transparência
Asterio K. Tanaka
BDD – A visão do usuário
Asterio K. Tanaka
BDD – A realidade
Asterio K. Tanaka
As 12 Regras de Date para BDs distribuídos
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Autonomia local
Não dependência de um local central
Operação contínua
Independência de localização
Independência de fragmentação
Independência de replicação
Processamento de consultas distribuídas
Gerência de transações distribuídas
Independência de hardware
Independência de sistema operacional
Independência de rede
Independência de banco de dados
Asterio K. Tanaka
1. Autonomia local
•
2.
Todos os dados distribuídos pela rede devem ser de
propriedade e gerência local, independente do sistema
global distribuído
Não dependência de um local central
•
Não existe um local que tenha autoridade sobre os demais
locais.
3. Operação contínua
•
Cada local é operacionalmente independente dos demais,
embora formem um sistema e cooperem entre si.
4. Independência de localização
•
Um usuário ou palicação não necessita conhecer a
localização física dos dados dispersos pelos diferentes
locais.
Asterio K. Tanaka
5. Independência de fragmentação
• Os usuários devem poder armazenar dados logicamente
relacionados, sem preocupação quanto à sua segmentação física.
6. Independência de replicação
• Embora, por razões de desempenho, possam ser criadas cópias
totais ou parciais de um banco de dados em diferentes locais, os
usuários devem possuir uma visão única do banco de dados, sem
necessitar lidar com as redundâncias introduzidas pelas cópias.
7. Processamento de consultas distribuídas
• O usuário deve poder efetuar consultas sobre o conjunto de
dados, independente da localização física.
8. Gerência de transações distribuídas
• O SGBD-D deve possibilitar alterações nos estados dos bancos
de dados locais por uma única transação de forma consistente.
Asterio K. Tanaka
9.
Independência de hardware
•
Dados dispersos por máquinas heterogêneas devem ser
processados sem restrições decorrentes das diferenças entre
plataformas
10. Independência de sistema operacional
•
Idem para plataformas de sistemas operacionais distintos.
11. Independência de rede
•
Os detalhes de utilização de protocolos de rede diversos não
devem ser visíveis aos usuários, isto é, devem ser resolvidos
pelo SGBD-D
12. Independência de banco de dados
•
Deve ser possível armazenar e recuperar dados de diferentes
bancos de dados locais, independente de arquitetura e de
SGBD local.
Asterio K. Tanaka
Bancos de Dados Distribuídos
Vantagens e Desvantagens
• Vantagens
–
–
–
–
–
Autonomia para as aplicações locais
Aumento da confiabilidade e disponibilidade
Melhoria do desempenho
Economia
Flexibilidade para expansão
• Desvantagens
– Distribuição de controle
– Segurança
– Complexidade
Asterio K. Tanaka
Vantagens dos SBD distribuídos
• Autonomia para as aplicações locais
– Um grupo de usuários pode ter os dados que compartilha
localizados no seu próprio ambiente de trabalho, executando
localmente várias das funções de ABD.
• Aumento da confiabilidade e disponibilidade
– Com a distribuição dos dados por diversos sistemas de
processamento, a eventual falha de um dos sistemas não
impossibilita totalmente o acesso aos dados do BDD, mas apenas
à parte que estiver localizada no componente que falhou.
• Melhoria do desempenho
– Com a localização dos dados próxima à localização dos seus
usuários, ganha-se tempo que seria gasto com o acesso remoto,
sem contar a diminuição da contenção por recursos de CPU e de
I/O observada nos sistemas centralizados.
Asterio K. Tanaka
Vantagens dos SBD distribuídos
• Economia
– Com a localização dos dados próximas dos seus usuários, podem
ser reduzidos os custos de comunicação. Além disso, é menor o
custo de um conjunto de máquinas de pequeno porte que possua
capacidade de processamento igual ao de um equipamento de
grande porte do que o custo de um único equipamento com
capacidade equivalente (Contrariando a lei de Grosh: “4 vezes
mais capacidade por 2 vezes mais custo”).
• Flexibilidade para expansão
– Os sistemas distribuídos são naturalmente modulares, podendo-se
acrescentar ou alterar um subsistema sem impactos significativos
para os demais componentes.
Asterio K. Tanaka
Desvantagens dos SBD distribuídos
• Distribuição de controle
– A autonomia traz a desvantagem dos problemas de sincronismo de
ações e de coordenação das partes. Exemplos: atualização de
dados de uma relação fragmentada, restauração em caso de falha.
• Segurança
– Sistemas de BD centralizados são mais facilmente controlados
quanto à segurança, porque possuem menos pontos (locais) para
controle.
• Complexidade
– Vários problemas que há muito possuem soluções eficientes em
SBDs centralizados assumem novas dimensões quando trazidos
para ambientes distribuídos (exemplos: otimização de consultas,
controle de concorrência de transações, etc.)
Asterio K. Tanaka
A Arquitetura de Três Esquemas
Usuários finais
NÍVEL EXTERNO
Visão
Externa 1
...
Visão
Externa n
mapeamento
externo/conceitual
NÍVEL CONCEITUAL
Esquema Conceitual
mapeamento
conceitual/interno
NÍVEL INTERNO
Esquema Interno
Asterio K. Tanaka
Arquitetura de Esquemas para BDs distribuídos
nível
externo
esquema
externo
global 1
nível
conceitual
nível
conceitual
local
esquema
conceitual
local 1
nível
interno esquema
interno 1
esquema
externo
global 2
esquema
externo
global n
esquema
conceitual
global
esquema
conceitual
local 2
esquema
conceitual
local n
esquema
interno 2
esquema
interno n
O nível conceitual local foi
acrescido à arquitetura de 3
esquemas ANSI-SPARC,
com a finalidade de
garantir a independência
de dados às aplicações
globais.
A
Asterio K. Tanaka
Arquitetura de um SGBD-D
Comandos da
aplicação
Respostas
Compilador
Catálogo do
sistema
Otimizador
Gerente de transações
Gerente de
bloqueios
Gerente de
log
LOG
Gerente de
acesso a
dados
BD
Gerente de
comunicações
O módulo gerente de
transações utiliza o módulo
gerente de comunicações
para interagir com os
demais SGBDs que
implementam o sistema
distribuído
Mensagens
de/para outros
SGBDs
Asterio K. Tanaka
Mundo
real
Especificação
de requisitos
Requisitos
de dados
Restrições
tecnológicas
Projeto
de visões
Requisitos
de funções
Visões
Projeto da
distribuição
Esquemas
conceituais
locais
Projeto
lógico
Esquemas
lógicos
locais
Projeto
físico
Esquema
conceitual
global
Integração
de visões
Processo de projeto
de BDs distribuídos
homogêneos
- Visão geral -
Esquemas
físicos
locais
Asterio K. Tanaka
Download