bancos de dados distribuídos página 1 bancos de dados distribuídos alcides calsavara

75
ancos de Dados Distribuídos Página 1 Bancos de Dados Distribuídos Alcides Calsavara

Upload: internet

Post on 17-Apr-2015

115 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: Bancos de Dados Distribuídos Página 1 Bancos de Dados Distribuídos Alcides Calsavara

Bancos de Dados Distribuídos Página 1

Bancos de Dados Distribuídos

Alcides Calsavara

Page 2: 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

Page 3: Bancos de Dados Distribuídos Página 1 Bancos de Dados Distribuídos Alcides Calsavara

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

Page 4: Bancos de Dados Distribuídos Página 1 Bancos de Dados Distribuídos Alcides Calsavara

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.

Page 5: Bancos de Dados Distribuídos Página 1 Bancos de Dados Distribuídos Alcides Calsavara

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

Page 6: Bancos de Dados Distribuídos Página 1 Bancos de Dados Distribuídos Alcides Calsavara

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

Page 7: Bancos de Dados Distribuídos Página 1 Bancos de Dados Distribuídos Alcides Calsavara

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)

Page 8: Bancos de Dados Distribuídos Página 1 Bancos de Dados Distribuídos Alcides Calsavara

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

Page 9: Bancos de Dados Distribuídos Página 1 Bancos de Dados Distribuídos Alcides Calsavara

Bancos de Dados Distribuídos Página 9

Autonomia local

Melhora de desempenho

Melhora de integridade/eficácia

Economia

Expansibilidade

Compartilhamento

Vantagens do SGBDD

Page 10: Bancos de Dados Distribuídos Página 1 Bancos de Dados Distribuídos Alcides Calsavara

Bancos de Dados Distribuídos Página 10

Complexidade

Custo

Controle da distribuição

Falta de experiência

Desvantagens do SGBDD

Page 11: Bancos de Dados Distribuídos Página 1 Bancos de Dados Distribuídos Alcides Calsavara

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

Page 12: Bancos de Dados Distribuídos Página 1 Bancos de Dados Distribuídos Alcides Calsavara

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

Page 13: Bancos de Dados Distribuídos Página 1 Bancos de Dados Distribuídos Alcides Calsavara

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

Page 14: Bancos de Dados Distribuídos Página 1 Bancos de Dados Distribuídos Alcides Calsavara

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

Page 15: Bancos de Dados Distribuídos Página 1 Bancos de Dados Distribuídos Alcides Calsavara

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

Page 16: Bancos de Dados Distribuídos Página 1 Bancos de Dados Distribuídos Alcides Calsavara

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

Page 17: Bancos de Dados Distribuídos Página 1 Bancos de Dados Distribuídos Alcides Calsavara

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

Page 18: Bancos de Dados Distribuídos Página 1 Bancos de Dados Distribuídos Alcides Calsavara

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

Page 19: Bancos de Dados Distribuídos Página 1 Bancos de Dados Distribuídos Alcides Calsavara

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

Page 20: Bancos de Dados Distribuídos Página 1 Bancos de Dados Distribuídos Alcides Calsavara

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

Page 21: Bancos de Dados Distribuídos Página 1 Bancos de Dados Distribuídos Alcides Calsavara

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

Page 22: Bancos de Dados Distribuídos Página 1 Bancos de Dados Distribuídos Alcides Calsavara

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

Page 23: Bancos de Dados Distribuídos Página 1 Bancos de Dados Distribuídos Alcides Calsavara

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

Page 24: Bancos de Dados Distribuídos Página 1 Bancos de Dados Distribuídos Alcides Calsavara

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

Page 25: Bancos de Dados Distribuídos Página 1 Bancos de Dados Distribuídos Alcides Calsavara

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

Page 26: Bancos de Dados Distribuídos Página 1 Bancos de Dados Distribuídos Alcides Calsavara

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

Page 27: Bancos de Dados Distribuídos Página 1 Bancos de Dados Distribuídos Alcides Calsavara

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

Page 28: Bancos de Dados Distribuídos Página 1 Bancos de Dados Distribuídos Alcides Calsavara

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

Page 29: Bancos de Dados Distribuídos Página 1 Bancos de Dados Distribuídos Alcides Calsavara

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

Page 30: Bancos de Dados Distribuídos Página 1 Bancos de Dados Distribuídos Alcides Calsavara

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

Page 31: Bancos de Dados Distribuídos Página 1 Bancos de Dados Distribuídos Alcides Calsavara

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

Page 32: Bancos de Dados Distribuídos Página 1 Bancos de Dados Distribuídos Alcides Calsavara

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

Page 33: Bancos de Dados Distribuídos Página 1 Bancos de Dados Distribuídos Alcides Calsavara

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

...

Page 34: Bancos de Dados Distribuídos Página 1 Bancos de Dados Distribuídos Alcides Calsavara

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.

Page 35: Bancos de Dados Distribuídos Página 1 Bancos de Dados Distribuídos Alcides Calsavara

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

Page 36: Bancos de Dados Distribuídos Página 1 Bancos de Dados Distribuídos Alcides Calsavara

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

Page 37: Bancos de Dados Distribuídos Página 1 Bancos de Dados Distribuídos Alcides Calsavara

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

Page 38: Bancos de Dados Distribuídos Página 1 Bancos de Dados Distribuídos Alcides Calsavara

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

Page 39: Bancos de Dados Distribuídos Página 1 Bancos de Dados Distribuídos Alcides Calsavara

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

Page 40: Bancos de Dados Distribuídos Página 1 Bancos de Dados Distribuídos Alcides Calsavara

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

Page 41: Bancos de Dados Distribuídos Página 1 Bancos de Dados Distribuídos Alcides Calsavara

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.

Page 42: Bancos de Dados Distribuídos Página 1 Bancos de Dados Distribuídos Alcides Calsavara

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

Page 43: Bancos de Dados Distribuídos Página 1 Bancos de Dados Distribuídos Alcides Calsavara

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

Page 44: Bancos de Dados Distribuídos Página 1 Bancos de Dados Distribuídos Alcides Calsavara

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

Page 45: Bancos de Dados Distribuídos Página 1 Bancos de Dados Distribuídos Alcides Calsavara

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

Page 46: Bancos de Dados Distribuídos Página 1 Bancos de Dados Distribuídos Alcides Calsavara

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 ?

Page 47: Bancos de Dados Distribuídos Página 1 Bancos de Dados Distribuídos Alcides Calsavara

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

Page 48: Bancos de Dados Distribuídos Página 1 Bancos de Dados Distribuídos Alcides Calsavara

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

Page 49: Bancos de Dados Distribuídos Página 1 Bancos de Dados Distribuídos Alcides Calsavara

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

Page 50: Bancos de Dados Distribuídos Página 1 Bancos de Dados Distribuídos Alcides Calsavara

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

Page 51: Bancos de Dados Distribuídos Página 1 Bancos de Dados Distribuídos Alcides Calsavara

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

Page 52: Bancos de Dados Distribuídos Página 1 Bancos de Dados Distribuídos Alcides Calsavara

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

Page 53: Bancos de Dados Distribuídos Página 1 Bancos de Dados Distribuídos Alcides Calsavara

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

Page 54: Bancos de Dados Distribuídos Página 1 Bancos de Dados Distribuídos Alcides Calsavara

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?

Page 55: Bancos de Dados Distribuídos Página 1 Bancos de Dados Distribuídos Alcides Calsavara

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

Page 56: Bancos de Dados Distribuídos Página 1 Bancos de Dados Distribuídos Alcides Calsavara

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)

Page 57: Bancos de Dados Distribuídos Página 1 Bancos de Dados Distribuídos Alcides Calsavara

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

Page 58: Bancos de Dados Distribuídos Página 1 Bancos de Dados Distribuídos Alcides Calsavara

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”

Page 59: Bancos de Dados Distribuídos Página 1 Bancos de Dados Distribuídos Alcides Calsavara

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

Page 60: Bancos de Dados Distribuídos Página 1 Bancos de Dados Distribuídos Alcides Calsavara

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.

Page 61: Bancos de Dados Distribuídos Página 1 Bancos de Dados Distribuídos Alcides Calsavara

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

Page 62: Bancos de Dados Distribuídos Página 1 Bancos de Dados Distribuídos Alcides Calsavara

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

Page 63: Bancos de Dados Distribuídos Página 1 Bancos de Dados Distribuídos Alcides Calsavara

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

Page 64: Bancos de Dados Distribuídos Página 1 Bancos de Dados Distribuídos Alcides Calsavara

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

Page 65: Bancos de Dados Distribuídos Página 1 Bancos de Dados Distribuídos Alcides Calsavara

Bancos de Dados Distribuídos Página 65

Page 66: Bancos de Dados Distribuídos Página 1 Bancos de Dados Distribuídos Alcides Calsavara

Bancos de Dados Distribuídos Página 66

Page 67: Bancos de Dados Distribuídos Página 1 Bancos de Dados Distribuídos Alcides Calsavara

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

Page 68: Bancos de Dados Distribuídos Página 1 Bancos de Dados Distribuídos Alcides Calsavara

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

Page 69: Bancos de Dados Distribuídos Página 1 Bancos de Dados Distribuídos Alcides Calsavara

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

Page 70: Bancos de Dados Distribuídos Página 1 Bancos de Dados Distribuídos Alcides Calsavara

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

Page 71: Bancos de Dados Distribuídos Página 1 Bancos de Dados Distribuídos Alcides Calsavara

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

Page 72: Bancos de Dados Distribuídos Página 1 Bancos de Dados Distribuídos Alcides Calsavara

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

Page 73: Bancos de Dados Distribuídos Página 1 Bancos de Dados Distribuídos Alcides Calsavara

Bancos de Dados Distribuídos Página 73

Comparações de Desempenho

10 100 1000

número de nós

desempenho

SN

SD

SM

Page 74: Bancos de Dados Distribuídos Página 1 Bancos de Dados Distribuídos Alcides Calsavara

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

Page 75: Bancos de Dados Distribuídos Página 1 Bancos de Dados Distribuídos Alcides Calsavara

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)