bancos de dados distribuídos página 1 bancos de dados distribuídos alcides calsavara
TRANSCRIPT
Bancos de Dados Distribuídos Página 1
Bancos de Dados Distribuídos
Alcides Calsavara
Bancos de Dados Distribuídos Página 2
Bancos de Dados Distribuídos
Introdução Arquitetura de SGBD Distribuídos Projeto de Banco de Dados Distribuído Controle Semântico de Dados Processamento de Consulta Distribuído Gerenciamento de Transação Distribuída Sistemas Operacionais de Banco de Dados Distribuído Sistemas Abertos e Interoperabilidade Sistemas de Banco de Dados Paralelos Gerenciamento de Objeto Distribuído Observações Finais
Bancos de Dados Distribuídos Página 3
Motivação
Tecnologia deBanco de Dados
Rede deComputadores
integração distribuição
integração
integração distribuição
Sistemas deBanco de Dados
Distribuído
Bancos de Dados Distribuídos Página 4
O que é um Banco de Dados Distribuído ?
Um Banco de Dados Distribuído (B.D.D.) é uma coleção de múltiplos, logicamente interrelacionados Bancos de Dados, distribuídos por uma rede de computadores.
Um S.G.B.D.D. é um software que gerencia o B.D.D. e que provê um mecanismo de acesso que torna esta distribuição transparente para o usuário.
Bancos de Dados Distribuídos Página 5
SGBD Centralizado em uma Rede
Rede de Comunicação
Site 5
Site 1
Site 2
Site 3Site 4
Bancos de Dados Distribuídos Página 6
Ambiente de SGBD Distribuído
Rede deComunicação
Site 5
Site 1
Site 2
Site 3Site 4
Bancos de Dados Distribuídos Página 7
Suposições Implícitas Dados armazenados em vários sites cada site
logicamente consiste de um único processador.
Dados processados em diferentes sites são interconectados por uma rede de computadores não há multiprocessadores
sistemas de Banco de Dados Paralelos
Banco de Dados Distribuído é um Banco de Dados, não uma coleção de arquivos dados logicamente relacionados
modelo de dados relacional
SGBDD é um SGBD full-fledged (completo)
Bancos de Dados Distribuídos Página 8
Industriais - especialmente indústrias com várias filiais
Controle e Comando Militar Empresas Aéreas Redes de Hoteis Qualquer organização que tenha uma estrutura
descentralizada
Aplicações
Bancos de Dados Distribuídos Página 9
Autonomia local
Melhora de desempenho
Melhora de integridade/eficácia
Economia
Expansibilidade
Compartilhamento
Vantagens do SGBDD
Bancos de Dados Distribuídos Página 10
Complexidade
Custo
Controle da distribuição
Falta de experiência
Desvantagens do SGBDD
Bancos de Dados Distribuídos Página 11
As Regras de Date de um SGBDD
Autonomia local Independência de um local central Operação contínua Independência de localização Independência de fragmentação Independência de replicação
Bancos de Dados Distribuídos Página 12
As Regras de Date de um SGBDD
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
Bancos de Dados Distribuídos Página 13
Questões sobre um SGBDD
Projeto de Banco de Dados Distribuído Como distribuir o banco de dados?
Distribuição com replicação ou não?
Como gerenciar a distribuição?
Processamento de Consultas converter transações de usuário (SQL) para instruções de
manipulação de dados (acesso a tabelas)
problema de otimização
mínimo custo = transmissão de dado + processamento local
a formulação geral é um problema NP-completo
Bancos de Dados Distribuídos Página 14
Questões sobre um SGBDD
Controle de Concorrência sincronização de acesso concorrente
consistência e isolamento dos efeitos de transações
gerenciamento de deadlock
Confiabilidade Como fazer o sistema recuperar de falhas?
atomicidade e persistência
Bancos de Dados Distribuídos Página 15
Relacionamento entre as Questões
Gerenciamentoda Distribuição
Confiabilidade
Gerenciamentode Deadlock
Controle deConcorrência
Projeto daDistribuição
Processamento deConsulta
Bancos de Dados Distribuídos Página 16
Suporte do sistema operacional sistema operacional com suporte próprio para operações
de banco de dados distribuídos dicotomia entre as necessidades de processamento de
âmbito geral e de banco de dados
Sistemas Abertos e Interoperabilidade Sistemas distribuídos e homogêneos: “Multidatabases” Questões de Paralelismo
Questões Relacionadas
Bancos de Dados Distribuídos Página 17
Promessas de um SGBDD
Gerenciamento transparente de dados distribuídos, fragmentados e/ou replicados
Melhora de integridade/eficácia através de transações distribuídas
Melhora de desempenho
Expansão de sistemas de forma mais fácil e econômica
Bancos de Dados Distribuídos Página 18
Suporte de Transparência
Sem considerar a replicação
Geralmente sem fragmentação Fragmentação horizontal pode ocorrer
Transparência da distribuição limitada especificação de caminho
aliasing
acesso remoto a um SGBD
Maioria dos sistemas possuem vários clientes e apenas um servidor
Bancos de Dados Distribuídos Página 19
Desempenho Potencialmente Melhorado
Proximidade dos dados dos sites de uso
Necessita algum suporte para fragmentação e replicação
Paralelismo na execução
Paralelismo entre consulta
Paralelismo na consulta
Bancos de Dados Distribuídos Página 20
Necessidades de Paralelismo
Muitos dos dados que cada aplicação necessita estão nos sites onde ela executa
Replicação total
E quanto às atualizações ?
Atualizações de dados replicados necessitam de implementação de controle de concorrência distribuída e protocolos de commit
Bancos de Dados Distribuídos Página 21
Alternativas de Sistemas Comerciais
“Multiplex” de tempo entre leitura e atualização
Banco de dados aberto para a leitura durante um tempo regular determinado; executa atualizações ao final deste tempo
Alguns sistemas bancários trabalham desta maneira
“Multiplex” de banco de dados
Banco de dados de consulta.
Banco de dados de produção
Bancos de Dados Distribuídos Página 22
Expansão do Sistema
Questão de escalabilidade do banco de dados
Tecnologias de microprocessadores e estações de trabalho (workstation)
Processamento no modelo Cliente-Servidor
Bancos de Dados Distribuídos Página 23
Objetivo Fundamental da Transparência
Prover
independência de dados
no ambiente distribuído
Transparência da rede (distribuição)
Transparência da replicação
Transparência da fragmentação
Bancos de Dados Distribuídos Página 24
Imunidade das aplicações do usuário para mudanças na definição e/ou organização dos dados e vice-versa.
Independência lógica de dado Imunidade das aplicações do usuário para mudanças na
estrutura lógica do banco de dados. A definição da estrutura (schema) do banco de dados pode
mudar sem afetar as aplicações do usuário. Por exemplo, adição de novos atributos em uma relação, a
criação de novas relações, reordenação lógica de atributos. Independência física de dados
Esconde os detalhes da estrutura de armazenamento das aplicações do usuário.
Descrição física dos dados pode mudar sem afetar as aplicações do usuário.
Por exemplo, dados podem ser “movidos” (trocados) de um volume de disco para outro; a organização dos dados pode mudar.
Independência de Dados
Bancos de Dados Distribuídos Página 25
A existência da rede não deve ser notada pelas aplicações do usuário.
Requer duas coisas: Transparência de acesso
O comando que é usado é independente do local onde está o dado e do local onde a operação será realizada.
Exemplo: Deve haver uma única operação para abrir tanto um banco de dados local como um banco de dados remoto.
Transparência de localização Provendo um nome único para cada objeto no sistema
distribuído. Não embutir informações de localização nos nomes. Exemplo: Os nomes dos bancos de dados e das suas tabelas não
devem conter indicações de nomes de computadores na rede.
Transparência de Rede
Bancos de Dados Distribuídos Página 26
Se existem réplicas de objetos (relações/tabelas, tuplas/registros, atributos/colunas) do banco de dados, sua existência deve ser controlada pelo sistema e não pelo usuário.
Tradeoff:Se o usuário está ciente da existência de
réplicas e é responsável pelo seu gerenciamento, então o sistema tem que fazer um trabalho mínimo e o desempenho pode ser melhor.
Transparência de Replicação
Bancos de Dados Distribuídos Página 27
Se relações/tabelas do banco de dados são fragmentadas, então o sistema tem que lidar com a conversão de consultas do usuário definidas em relações globais para consultas definidas em fragmentos.
Tradução de consultas globais para consultas de
fragmento e colocação de fragmentos juntos em uma resposta.
Transparência de Fragmentação
Bancos de Dados Distribuídos Página 28
Acesso Transparente
SELECT ENAME,SALFROM E,G,SWHERE DUR > 12AND E.ENO = G.ENOAND E.TITLE = S.TITLE
Boston
CommunicationNetwork
Montreal
Paris
NewYork
Boston projectsBoston employeesBoston assignments
Paris projectsParis employeesParis assignmentsBoston employees
Montreal projectsParis projectsNew York projectsMontreal employeesMontreal assignments
Boston projectsNew York employeesNew York projectsNew York assignments
Tokyo
G - projects: projetosE - employees: empregadosS - assignments: tarefas
Bancos de Dados Distribuídos Página 29
Visão Interna
EsquemaExterno
EsquemaConceitual
EsquemaInterno
Visão do usuário
individual
Visão doconjunto
de usuários
Visão doarmazenamento
Visãoconceitual
Visãoexterna
Visãoexterna
Visão externa
Arquitetura ANSI/SPARCStudy Group on Data Management Systems - Relatório Interno/1975
Bancos de Dados Distribuídos Página 30
Arquitetura ANSI/SPARCNível Conceitual
Mineral Vegetal Animal
Reinos Naturais
Primários
Acessórios
Secundários
1
n
n
n
1
Mamíferos
Primatas Cetáceos
Bancos de Dados Distribuídos Página 31
Arquitetura ANSI/SPARCNível Externo
Mineral Vegetal Animal
Reinos Naturais
Biólogo
Botânico ZoólogoGeólogo
Bancos de Dados Distribuídos Página 32
Arquitetura ANSI/SPARCNível Interno
Reino Animal : Mamíferos/Primatas/Homo
Pitecantropo
Rodesiano
Homem Solo
Neandertal
Mongolóides
Africanos
Eurasianos
Bancos de Dados Distribuídos Página 33
Arquitetura ANSI/SPARCNível Interno
Reino Animal : Mamíferos/Primatas/Homo
Neandertal
Mongolóides
Africanos
Eurasianos
Altura
Peso
Alimentação
Organização
Longevidade
Ferramentas
...
Bancos de Dados Distribuídos Página 34
Dimensões do Problema Distribuição
Se os componentes do sistema estão localizados na mesma máquina ou não
Heterogeneidade Diferentes níveis: hardware, comunicação, sistema operacional,
SGBD SGBD:
modelo de dados, linguagem de consulta, algoritmos de gerenciamento de transações, ...
Autonomia Autonomia de projeto: Habilidade de um componente do SGBD
decidir sobre questões relacionadas com seu próprio projeto. Autonomia de comunicação: Habilidade de um componente do
SGBD decidir como comunicar-se com outros SGBDs. Autonomia de execução: Habilidade de um componente do SGBD
executar operações locais da maneira que ele desejar.
Bancos de Dados Distribuídos Página 35
Alternativas de Implementação do DBMS
Distribuição
Heterogeneidade
Autonomia
DistributedhomogeneousDBMS
Distributed,homogeneous,federatedDBMS
Distributed,homogeneous,multi-DBMS
Logically integratedand homogeneousmultiple DBMSs
DistributedheterogeneousDBMS
Distributedheterogeneousfederated DBMS
Heterogeneousintegrated DBMS
Single siteheterogeneousfederated DBMS
Heterogeneousmulti-DBMS
Distributedheterogeneousmulti-DBMS
Multi-DBMS
Homogeneousfederated DBMS
Bancos de Dados Distribuídos Página 36
Acesso de Tempo Compartilhado a um Banco de Dados Centralizado
• Sem memória
• Host (servidor) executando todos os softwares
Communications
DBMS Services
Rede
Terminais ou PCs emulando terminais
SolicitaçõesBatch
Respostas
Application Software
Database
Bancos de Dados Distribuídos Página 37
Multiplos Clientes/Único servidor
Rede
Communications
ClientServices
Applications
Communications
DBMS Services
Solicitaçõesde alto-nível
Somente dados filtrados
Communications
ClientServices
Applications
Communications
ClientServices
Applications
Database
Bancos de Dados Distribuídos Página 38
Vantagens da Arquitetura Cliente-Servidor
Divisão do trabalho mais eficiente
Escalabilidade dos recursos
Melhor preço/performance nas máquinas clientes
Habilidade de usar ferramentas “familiares” nas máquinas clientes
Acessos de clientes a dados remotos (via padrões, como ODBC)
Toda funcionalidade do SGBD oferecida às máquinas clientes
Acima de tudo, melhor preços/performance dos sistemas
Bancos de Dados Distribuídos Página 39
Problemas com Múltiplos-Clientes/Único Servidor
Congestionamento no servidor
Único ponto de falha no servidor
Difícil escalabilidade no servidor
Bancos de Dados Distribuídos Página 40
Múltiplos Clientes/Múltiplos Servidores diretórios caching decomposição de
consultas protocolos de
commit
Communications
ClientServices
Applications
Rede
Communications
DBMS Services
Database
Communications
DBMS Services
Database
Bancos de Dados Distribuídos Página 41
Problemas no Design
Na montagem geral:
Tomar decisões sobre a disposição dos dados e programas através de sites de uma rede de computadores, bem como possivelmente desenhar a própria rede em si.
Num SGBD distribuído, a disposição de vínculos das aplicações
disposição do software do SGBD distribuído
disposição das aplicações que executam no B.D.
Bancos de Dados Distribuídos Página 42
Design da Distribuição
De cima para baixo (Top-Down)
principalmente ao desenhar sistemas a partir do nada
principalmente em sistemas homogêneos
De baixo para cima (Bottom-Up)
Quando os Bancos de Dados já existem em um número de sites
Bancos de Dados Distribuídos Página 43
Arquitetura de um SGBD Distribuído
ES : External Schema GCS : Global Conceptual Schema LCS : Local Conceptual Schema LIS : Local Internal Schema
Bancos de Dados Distribuídos Página 44
Lógica de Dados numa Arquitetura de um SGBD Distribuído
...
...
...
ES1 ES2 ESn
GCS
LCS1 LCS2 LCSn
LIS1 LIS2 LISn
Bancos de Dados Distribuídos Página 45
Top-Down DesignAnálise das
Necessidades
Input do Usuário
Integração da Visão
Input do Usuário
Objetivos
DesignConceitual
Design da Visão
Informaçãode Acesso ES’sGCS
Design da Distribuição
DesignFísico
LCS’s
LIS’s
Bancos de Dados Distribuídos Página 46
Questões de Design de Distribuição
Por que fragmentar afinal ?
Como fragmentar ?
O quanto fragmentar ?
Como testar exatidão ?
Como alocar ?
Necessidades de informação ?
Bancos de Dados Distribuídos Página 47
Alternativas de Fragmentação -Horizontal
J1 : projetos com orçamentos inferiores a $200,000
J2 : projetos com orçamentos maiores ou iguais a $200,000
J
JNO JNAME BUDGET LOC
J1 Instrumentação 150000 Montreal
J3 CAD/CAM 250000 New YorkJ2 Desenvolv.do B.D. 135000 New York
J4 Manutenção 310000 ParisJ5 CAD/CAM 500000 Boston
J1
JNO JNAME BUDGET LOC
J3 CAD/CAM 250000 New York
J4 Manutenção 310000 Paris
J5 CAD/CAM 500000 Boston
JNO JNAME LOC
J1 Instrumentação 150000 Montreal
J2 Desenv. do B.D. 135000 New York
BUDGET
J2
Bancos de Dados Distribuídos Página 48
Alternativas de Fragmentação -Vertical
J1: informações sobre orçamentos de projetos
J2: informações sobre nomes e localidades de projetos
JNO JNAME BUDGET LOC
J1 Instrumentação 150000 Montreal
J3 CAD/CAM 250000 New YorkJ2 Desenv. do B.D. 135000 New York
J4 Manutenção 310000 ParisJ5 CAD/CAM 500000 Boston
J
JNO BUDGET
J1 150000
J3 250000J2 135000
J4 310000J5 500000
JNO JNAME LOC
J1 Instrumentação Montreal
J3 CAD/CAM New YorkJ2 Desenv. do B.D. New York
J4 Manutenção ParisJ5 CAD/CAM Boston
J1 J2
Bancos de Dados Distribuídos Página 49
Completitude (Completeness) Decomposição da relação R em fragmentos R1, R2, ..., Rn está
completa se e somemte se cada item de dado em R puder ser encontrado em algum Ri
Reconstrução Se a relação R for decomposta em fragmentos R1, R2, ..., Rn, então
deverá existir algum operador relacional tal que
R = 1inRi
Disjunção Se a relação R for decomposta em fragmentos R1, R2, ..., Rn, e o item
de dado di estiver em Rj, então di não deveria estar em qualquer outro fragmento Rk (k j ).
Exatidão da Fragmentação
Bancos de Dados Distribuídos Página 50
Grau de Fragmentação
Encontrando o nível adequado de particionamento dentro desta extensão
tuplasou
atributos
relações
Número finito de alternativas
Bancos de Dados Distribuídos Página 51
Fragmentação
Não podemos apenas distribuir relações ?
O que é uma unidade de distribuição razoável ? relação
visões são subconjuntos de relações localidade
comunicação extra
fragmentos de relações (sub-relações)
execução concorrente de um número de transações que acessam diferentes partes da relação
visões que não podem ser definidas num simples fragmento irão requerer processamento extra
controle de dados semânticos (especialmente esforço de integridade) mais difícil
Bancos de Dados Distribuídos Página 52
Alternativas de Alocação
Não-replicada particionada: cada fragmento reside somente em um site
Replicada totalmente replicada: cada fragmento em cada site parcialmente replicada: cada fragmento em alguns dos
sites
Regra prática:Se replicação é vantajosa,
em caso contrário a replicação pode causar problemas
read - only queriesupdate queries
1
Bancos de Dados Distribuídos Página 53
Processamento de Consulta
Consultas em linguagem de alto nível (SQL)
processadorde
consulta
comandos de manipulação de dados em linguagemde baixo nível
Bancos de Dados Distribuídos Página 54
Componentes de Processamento de Consulta
A linguagem de consulta que é normalmente utilizada
SQL: “linguagem de dados intergalática”
Metodologia de execução de consulta
As etapas que se atravessa na execução de consultas de alto-nível (declarativas) do usuário.
Otimização de consulta
Como se determina o “melhor” plano de execução?
Bancos de Dados Distribuídos Página 55
Minimizar uma função de custoCusto de E/S + custo de UCP + custo de comunicação
Podem ter pesos diferentes em diferentes ambientes distribuídos WAN - Redes Remotas
o custo de comunicação é dominante baixa largura de faixa baixa velocidade protocolo com alto overhead
a maioria dos algoritmos ignora todos os outros componentes de custo
LAN - Redes Locais custo de comunicação não tão dominantes custo total da função deveria ser considerado
Pode-se também querer maximizar throughput
Objetivos da Otimização de Consultas
Bancos de Dados Distribuídos Página 56
Assuma relações de cardinalidade n acesso sequencial
Complexidade de Operações Relacionais
Operação Complexidade
SeleçãoProjeção
(sem eliminação de duplicatas)O(n)
Projeção(com eliminação de duplicatas)
GroupO(nlog n)
Junção
Semi-junção
Divisão
Operadores de conjunto
O(nlog n)
Produto cartesiano O(n2)
Bancos de Dados Distribuídos Página 57
Questões de Otimização de Consulta – Tipos de Otimizadores
Pesquisa exaustiva baseada em custo
resultado ótimo
complexidade combinatória no número de relações
Heurística resultado não ótimo
reagrupamento de sub-expressões comuns
avalia primeiramente a projeção e seleção
substitui uma junção por uma série de semi-junções
reordena operações para reduzir o tamanho da relação intermediária
otimiza operações individuais
Bancos de Dados Distribuídos Página 58
Questões de Otimização de consulta – Topologia da Rede
Redes remotas (WAN) - ponto a ponto características
baixa largura de faixa baixa velocidade protocolo com alto overhead
custo de comunicação dominante; ignore todos os outros fatores de custo
horário global para minimizar custo de comunicação estratégias locais de acordo com a otimização de consulta
centralizada Redes locais (LAN)
custo de comunicação não tão dominante função de custo total deveria ser considerada pode explorar bradcasting (junção) algoritmos particulares existem para redes tipo “estrela”
Bancos de Dados Distribuídos Página 59
Metodologia de Processamento de Consulta Distribuída
Consulta em Cálculo sobre RelaçõesDistribuídas
SITE DE CONTROLE
SITES LOCAIS
Decomposiçãode consulta
Decomposiçãode consulta
Localização de Dados
Localização de Dados
Consulta em Algébrica em RelaçõesDistribuídas
Otimização Global
Otimização Global
Consulta Fragmentada
OtimizaçãoLocal
OtimizaçãoLocal
Consulta Fragmentada Otimizada induzindo Operações de Comunicação
Consultas Locais Otimizadas
ESQUEMA GLOBAL
ESQUEMA GLOBAL
ESQUEMA FRAGMENTADO
ESQUEMA FRAGMENTADO
ESTATÍSTICAS NOS FRAGMENTOS
ESTATÍSTICAS NOS FRAGMENTOS
ESQUEMAS LOCAIS
ESQUEMAS LOCAIS
Bancos de Dados Distribuídos Página 60
grande volume de dados utilize disco e memória principal grande
gargalo I/O (ou gargalo de acesso à memória) velocidade(disco) << velocidade(RAM) <<
velocidade(microprocessador)
Prognósticos crescimento de velocidade do (micro-) processador : 50 % por
ano
crescimento da capacidade DRAM : 4 a cada três anos
atravessamento do disco : 2 nos últimos dez anos
Conclusão : o gargalo do I/O irá piorar
O Problema do B.D.
Bancos de Dados Distribuídos Página 61
Aumente a largura da banda do I/O repartição de dados
acesso a dados paralelos
Origens (anos 80): equipamentos de B.D. orientados para hardware custo-desempenho ruim falhas
exceção notável : ICL's CAFS ISP
Anos 90 : a mesma solução, porém utilizando componentes de hardware padronizados integrados em um multiprocessador
orientados para software
padrão essencial para explorar os contínuos aperfeiçoamentos tecnológicos
A Solução
Bancos de Dados Distribuídos Página 62
Alto-desempenho com melhor custo-desempenho do que mainframe ou supercomputadores array
Utiliza muitos nós, cada um com bom custo-desempenho, comunicando através de rede
bom custo através de componentes de grande volume bom desempenho
Tendências multiprocessador rede
O verdadeiro desafio é paralelizar aplicações de forma que executem com bom equilíbrio de carga
Objetivos do Multiprocessador
Bancos de Dados Distribuídos Página 63
Três maneiras de explorar sistemas de multi-processador de alto-desempenho:
automaticamente detecte paralelismo em programas sequenciais
aumente uma linguagem existente com construções paralelas
ofereça uma nova linguagem na qual o paralelismo possa ser expresso ou automaticamente inferido
Críticadifícil de desenvolver paralelizando computadores,
aceleração resultante limitadapossibilita ao programador expressar computações
paralelas, porém de muito baixo nívelpode combinar as vantagens de (1) e (2)
Processamento de Dados Paralelos
Bancos de Dados Distribuídos Página 64
Custo/desempenho muito melhor do que a solução mainframe
Alto desempenho através de paralelismo alto atravessamento através do paralelismo inter-query
baixo tempo de resposta com paralelismo intra-operação
Alta disponibilidade e confiabilidade explorando a replicação de dados
Extensividade com os objetivos ideais aceleração linear
escalamento linear
Sistemas de B.D. Paralelos - Objetivos
Bancos de Dados Distribuídos Página 65
Bancos de Dados Distribuídos Página 66
Bancos de Dados Distribuídos Página 67
Barreiras ao Paralelismo
Iniciar o tempo necessário para iniciar uma operação pode dominar o
tempo real de computação
Interferência quando acessar recursos compartilhados, cada novo processo
desacelera os outros
Assimetria o tempo de resposta de um conjunto de processos paralelos é o
tempo do mais lento
Técnicas de gerenciamento de dados paralelos pretendem ultrapassar estas barreiras
Bancos de Dados Distribuídos Página 68
Funções do B.D. Paralelo
gerenciador da sessão interface do hospedeiro monitoramento da transação para OLTP
gerenciador da solicitação compilação e otimização gerenciamento do diretório de dados controle de dados semânticos controle da execução
gerenciador de dado execução de operações do B.D. suporte de gerenciamento da transação gerenciamento do dado
Bancos de Dados Distribuídos Página 69
Arquiteturas do Sistema Paralelo
Extremos da arquitetura de multiprocessador memória compartilhada (tudo compartilhado)
nada compartilhado (passagem de mensagem)
Arquitetura intermediária: disco compartilhado
Bancos de Dados Distribuídos Página 70
Arquitetura de Memória Compartilhada
Exemplos: multiprocessadores simétricos (Sequent, Encore, Bull's Escala), XPRS (U. of Berkeley), DBS3 (Bull) simplicidade, equilíbrio de carga, comunicação rápida custo da rede, baixa extensividade, baixa disponibilidade
P1 Pn
Memória Global
D
interconectar
Bancos de Dados Distribuídos Página 71
Arquitetura de Disco Compartilhado
Exemplos :DEC's VAXcluster, IBM's IMS/VS Data Sharing custo da rede, extensividade, migração de uni-
processador complexidade, problema de desempenho potencial para
coerência de cópia
D
P1
M1
Pn
Mn
interconectar
Bancos de Dados Distribuídos Página 72
Arquitetura “Nada Compartilhado”
Exemplos :Teradata (ATT GIS), NonStopSQL (Tandem), Gamma (U. of Wisconsin), Bubba (MCC) custo, extensividade, disponibilidade complexidade, difícil equilíbrio de carga
P1
M1
D1
Pn
Mn
Dn
interconectar
Bancos de Dados Distribuídos Página 73
Comparações de Desempenho
10 100 1000
número de nós
desempenho
SN
SD
SM
Bancos de Dados Distribuídos Página 74
combina o bom balanceamento de carga SM(Shared Memory - memória compartilhada) com a extensividade de SN(Shared Nothing - nada compartilhado)
alternativas número limitado de grandes nós, ex: nós de processador 4 x 16 grande número de pequenos nós,ex: nós de processador 16 x 4, tem
um custo-desempenho muito melhor (pode ser um aglomerado de workstations)
Aglomeração de Nós SM
P1 Pn
Memória Global
D
interconectar
P1 Pn
Memória Global
D
interconectar
Bancos de Dados Distribuídos Página 75
Comentários finais
BD distribuídos: teoria “antiga”, prática “recente”
Estudo de arquiteturas paralelismo incluído
Arquitetura C/S e camadas lógicas Protocolos de confiabilidade
sistemas comerciais?
Processamento de consultas Muitos problemas em aberto!
Tendências Feedback da prática: novas demandas (e.g. BD Multimídia)