A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Bancos de Dados Distribuídos

Apresentações semelhantes


Apresentação em tema: "Bancos de Dados Distribuídos"— Transcrição da apresentação:

1 Bancos de Dados Distribuídos
Alcides Calsavara

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

3 Motivação Tecnologia de Banco de Dados Rede de Computadores integração
distribuição integração ¹ distribuição Sistemas de Distribuído

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.

5 SGBD Centralizado em uma Rede
Rede de Comunicação Site 5 Site 1 Site 2 Site 3 Site 4

6 Ambiente de SGBD Distribuído
Rede de Comunicação Site 5 Site 1 Site 2 Site 3 Site 4

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)

8 Aplicações 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

9 Vantagens do SGBDD Autonomia local Melhora de desempenho
Melhora de integridade/eficácia Economia Expansibilidade Compartilhamento

10 Desvantagens do SGBDD Complexidade Custo Controle da distribuição
Falta de experiência

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

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

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

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

15 Relacionamento entre as Questões
Gerenciamento da Distribuição Confiabilidade de Deadlock Controle de Concorrência Projeto da Distribuição Processamento de Consulta

16 Questões Relacionadas
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

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

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

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

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

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

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

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

24 Independência de Dados
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.

25 Transparência de Rede 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.

26 Transparência de Replicação
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.

27 Transparência de Fragmentação
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.

28 Acesso Transparente SELECT ENAME,SAL FROM E,G,S WHERE DUR > 12
AND E.ENO = G.ENO AND E.TITLE = S.TITLE Boston Communication Network Montreal Paris New York Boston projects Boston employees Boston assignments Paris projects Paris employees Paris assignments Montreal projects New York projects Montreal employees Montreal assignments New York employees New York assignments Tokyo G - projects: projetos E - employees: empregados S - assignments: tarefas

29 Arquitetura ANSI/SPARC Study Group on Data Management Systems - Relatório Interno/1975
Visão do usuário individual Esquema Externo Visão externa Visão externa Visão externa Visão do conjunto de usuários Visão conceitual Esquema Conceitual Visão do armazenamento Esquema Interno Visão Interna

30 Arquitetura ANSI/SPARC Nível Conceitual
Reinos Naturais Mineral Vegetal Animal n Mamíferos Primários n 1 1 Secundários Primatas Cetáceos n Acessórios

31 Arquitetura ANSI/SPARC Nível Externo
Reinos Naturais Biólogo Geólogo Botânico Zoólogo Mineral Vegetal Animal

32 Reino Animal : Mamíferos/Primatas/Homo
Arquitetura ANSI/SPARC Nível Interno Reino Animal : Mamíferos/Primatas/Homo Rodesiano Mongolóides Pitecantropo Neandertal Africanos Homem Solo Eurasianos

33 Reino Animal : Mamíferos/Primatas/Homo
Arquitetura ANSI/SPARC Nível Interno Reino Animal : Mamíferos/Primatas/Homo Altura Mongolóides Peso Organização Neandertal Africanos Longevidade Alimentação Ferramentas Eurasianos ...

34 Dimensões do Problema Distribuição Heterogeneidade Autonomia
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.

35 Alternativas de Implementação do DBMS
Distribuição Distributed, Distributed homogeneous, Distributed, Logically integrated homogeneous federated homogeneous, and homogeneous DBMS DBMS multi-DBMS multiple DBMSs Distributed heterogeneous DBMS Homogeneous federated DBMS Distributed heterogeneous federated DBMS Autonomia Heterogeneous Multi-DBMS integrated DBMS Distributed heterogeneous multi-DBMS Heterogeneidade Single site Heterogeneous heterogeneous multi-DBMS federated DBMS

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ções Batch Respostas Application Software Database

37 Multiplos Clientes/Único servidor
Communications Client Services Applications Communications Client Services Applications Communications Client Services Applications Rede Solicitações de alto-nível Somente dados filtrados Communications DBMS Services Database

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

39 Problemas com Múltiplos-Clientes/Único Servidor
Congestionamento no servidor Único ponto de falha no servidor Difícil escalabilidade no servidor

40 Múltiplos Clientes/Múltiplos Servidores
diretórios caching decomposição de consultas protocolos de commit Communications Client Services Applications Rede DBMS Services Database

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.

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

43 Arquitetura de um SGBD Distribuído
ES : External Schema GCS : Global Conceptual Schema LCS : Local Conceptual Schema LIS : Local Internal Schema

44 Lógica de Dados numa Arquitetura de um SGBD Distribuído
... ES1 ES2 ESn GCS LCS1 LCS2 LCSn LIS1 LIS2 LISn

45 Top-Down Design Análise das Necessidades Input do Usuário
Integração da Visão Objetivos Design Conceitual Design da Visão Informação de Acesso ES’s GCS Distribuição Físico LCS’s LIS’s

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 ?

47 Alternativas de Fragmentação - Horizontal
J J1 : projetos com orçamentos inferiores a $200,000 J2 : projetos com orçamentos maiores ou iguais a $200,000 JNO JNAME BUDGET LOC J1 Instrumentação 150000 Montreal J2 Desenvolv.do B.D. 135000 New York J3 CAD/CAM 250000 New York J4 Manutenção 310000 Paris J5 CAD/CAM 500000 Boston J1 J2 JNO JNAME BUDGET LOC JNO JNAME BUDGET LOC J1 Instrumentação 150000 Montreal J3 CAD/CAM 250000 New York J2 Desenv. do B.D. 135000 New York J4 Manutenção 310000 Paris J5 CAD/CAM 500000 Boston

48 Alternativas de Fragmentação - Vertical
J 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 York J2 Desenv. do B.D. 135000 J4 Manutenção 310000 Paris J5 500000 Boston J1 J2 JNO BUDGET J1 150000 J3 250000 J2 135000 J4 310000 J5 500000 JNO JNAME LOC J1 Instrumentação Montreal J3 CAD/CAM New York J2 Desenv. do B.D. J4 Manutenção Paris J5 Boston

49 Exatidão da Fragmentação
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 = Ñ1£i£nRi 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 ).

50 Grau de Fragmentação Número finito de alternativas relações tuplas ou atributos Encontrando o nível adequado de particionamento dentro desta extensão

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

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 queries update queries ³ 1

53 Processamento de Consulta
Consultas em linguagem de alto nível (SQL) processador de consulta comandos de manipulação de dados em linguagem de baixo nível

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?

55 Objetivos da Otimização de Consultas
Minimizar uma função de custo Custo 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

56 Complexidade de Operações Relacionais
Operação Complexidade Seleção Projeção O(n) Assuma relações de cardinalidade n acesso sequencial (sem eliminação de duplicatas) Projeção (com eliminação de duplicatas) O(nlog n) Group Junção Semi-junção O(nlog n) Divisão Operadores de conjunto Produto cartesiano O(n2)

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

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”

59 Metodologia de Processamento de Consulta Distribuída
Consulta em Cálculo sobre Relações Distribuídas SITE DE CONTROLE SITES LOCAIS Decomposição de consulta Localização de Dados Consulta em Algébrica em Relações Otimização Global Consulta Fragmentada Local Consulta Fragmentada Otimizada induzindo Operações de Comunicação Consultas Locais Otimizadas ESQUEMA GLOBAL FRAGMENTADO ESTATÍSTICAS NOS FRAGMENTOS ESQUEMAS

60 O Problema do B.D. 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

61 A Solução 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

62 Objetivos do Multiprocessador
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

63 Processamento de Dados Paralelos
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ítica difícil de desenvolver paralelizando computadores, aceleração resultante limitada possibilita ao programador expressar computações paralelas, porém de muito baixo nível pode combinar as vantagens de (1) e (2)

64 Sistemas de B.D. Paralelos - Objetivos
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

65

66

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

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

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

70 Arquitetura de Memória Compartilhada
Pn Memória Global D interconectar 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

71 Arquitetura de Disco Compartilhado
Pn Mn interconectar 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

72 Arquitetura “Nada Compartilhado”
Pn Mn Dn interconectar Exemplos : Teradata (ATT GIS), NonStopSQL (Tandem), Gamma (U. of Wisconsin), Bubba (MCC) custo, extensividade, disponibilidade complexidade, difícil equilíbrio de carga

73 Comparações de Desempenho
10 100 1000 número de nós desempenho SN SD SM

74 Aglomeração de Nós SM P1 Pn Memória Global D interconectar 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)

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)


Carregar ppt "Bancos de Dados Distribuídos"

Apresentações semelhantes


Anúncios Google