Espeialização em Engenharia de Software Marta Mattoso
Banos de Dados Distribuídos Bibliografia Utilizada Î Özsu, M.T. Valduriez, P. "Priniples of Distributed Database Systems", Prentie Hall, 1991. Elmasri, R. Navathe, S. "Fundamentals of Database Systems", Benjamin/Cummings, 2 a. edição, 1994. Mattoso, M.L.Q. "Sistemas de Banos de Dados Distribídos e Paralelos", Apostila da Jornada de Atualização em Informátia (JAI94), 43 págs., SBC, 1994. Özsu, M.T. Valduriez, P. "Distributed Database Systems: Where Are We Now?", IEEE Computer, agosto, 1991. Ceri, S. Pelagatti, G. "Distributed Database Systems - Priniples and Systems, MaGraw Hill, 1984. Espeialização em ES Pag 1
Banos de Dados Distribuídos Roteiro 1- Introdução 2- Caraterização de BDD 3- Vantagens de SBDD 4- Projeto de Bases de Dados Distribuídas 5- Proessamento de Consultas em SBDDs 6- Controle de Conorrênia em SBDDs 7- Problemas em Aberto 8- As Novas Tenologias e os SBDDs Espeialização em ES Pag 2
Introdução Importânia da tenologia de Banos de Dados Distribuídos Produtos já no merado Diversas vantagens sobre os entralizados Previsões de substituição ompleta dos SGBDs entralizados Questões em aberto Espeialização em ES Pag 3
Motivação Tenologia de BD entralização Redes de Computadores distribuição Sistemas de BD Distribuídos integração integração entralização Espeialização em ES Pag 4
Caraterização de um Sistema de Bano de Dados Distribuído Base de Dados Distribuída É uma oleção de diversas bases de dados, interligadas logiamente através de uma rede de omputadores Sistema de Bases de Dados Distribuídas É o sistema de software que possibilita a gerênia da base de dados distribuída e torna a distribuição transparente para o usuário Sistema de Bano de Dados Distribuídas - SBDD É a ombinação das bases om o sistema Espeialização em ES Pag 5
Um SGBD entralizado sobre uma rede Nó 1 Nó 5 Rede de Comuniação Nó 2 Nó 4 Nó 3 Espeialização em ES Pag 6
Prinipais Caraterístias de um SBDD Dados armazenados em loais (ou nós) Proessadores dos nós interonetados através de rede de omputadores A base de dados distribuída é realmente uma base de dados e não uma oleção de arquivos O sistema possui toda a funionalidade de um SGBD A tenologia atual multiproessadores e liente/servidor Espeialização em ES Pag 7
Um Ambiente de Bases de Dados Distribuídas Nó 1 Nó 5 Rede de Comuniação Nó 2 Nó 4 Nó 3 Espeialização em ES Pag 8
Arquiteturas de Sistemas Banos de Dados Distribuídos Autonomia Grau de autonomia om que ada SGBD individual trabalha. Envolvendo fatores omo a existênia de troa de informações entre os omponentes. alta integração, a semi-autonomia e a automia total. Distribuição Diz respeito à distribuição físia dos dados pelos nós, que pode ser total, parial ou nenhuma Heterogeneidade Do hardware, omuniação ou gereniadores diferentes Espeialização em ES Pag 9
Vantagens de SBDDs 1. Transparênia na Gerênia dos Dados Distribuídos e Repliados transparênia da rede transparênia da repliação transparênia da fragmentação Desta forma, os usuários do bano de dados enxergariam uma únia imagem da base de dados logiamente integrada, embora ela estivesse fisiamente distribuída. Espeialização em ES Pag 10
Vantagens de SBDDs 2. Confiabilidade através de Transações Distribuídas Espera-se que os SBDDs ofereçam onfiabilidade por trabalharem om omponentes repliados eliminando assim pontos únios de falha 3. Aumento de Desempenho Loalização dos Dados O ompartilhamento de reursos não é tão rítio e a loalização reduz a demora pelo aesso remoto aos dados Paralelismo no Proessamento de Consultas Espeialização em ES Pag 11
Vantagens de SBDDs 4. Failidade de Expansão A adaptação ao resimento da base de dados é mais simples. Considerações quanto às Implementações Para aumentar o desempenho: tempos separados para leitura e modifiação duas ópias da base de dados são mantidas, uma base de onsultas e uma base de produção. Em intervalos regulares a base de produção é opiada para a base de onsultas. As análises de desempenho não são efetivas. Espeialização em ES Pag 12
Projeto de Bases de Dados Distribuídas 1. Projeto Asendente Envolve a integração de bases existentes ('multidatabase') 2. Projeto Desendente Distribuição das entidades globais sobre os nós do sistema distribuído Caraterização de duas atividades: Fragmentação Aloação Espeialização em ES Pag 13
Projeto de Bases de Dados Distribuídas Fragmentação Fragmentação Horizontal (Seleção) Cirular, Faixa de Valores e Hashing Fragmentação Vertial (Projeção) A have da relação deve estar presente em todos os fragmentos Fragmentação Híbrida Aloação O fragmento pode ser repliado ou únio Espeialização em ES Pag 14
Distribuição - base unifiada Nome Telefone Nome Vôo Jose Campos 322-9999 Air Frane 147 Maria Silva 222-3333 Air Frane 147 Gabriel Silva 222-3333 Air Frane 147 Cláudio Silva 222-3333 Varig 224 Varig 224 Passageiro José Campos Maria Silva Gabriel Silva Gabriel Silva Cláudio Silva Vôo Tarifa Ass Cia Air Frane 147 1000,00 250 Air Frane Air Frane 455 750,00 500 Air Frane Varig 224 500,00 150 Varig Nome Faturam. Presid. Sede Varig 20000K Pampa Porto Alegre Air Frane 10000K Etoile Paris Espeialização em ES Pag 15
Distribuição - frag. horizontal, base AF Nome Telefone Jose Campos 322-9999 Maria Silva 222-3333 Gabriel Silva 222-3333 Cláudio Silva 222-3333 Vôo Tarifa Ass Cia Air Frane 147 1000,00 250 Air Frane Air Frane 455 750,00 500 Air Frane Nome Vôo Air Frane 147 Air Frane 147 Air Frane 147 Passageiro José Campos Maria Silva Gabriel Silva Nome Faturam. Presid. Sede Air Frane 10000K Etoile Paris Espeialização em ES Pag 16
Distribuição - frag. horizontal, base RG Nome Telefone Jose Campos 322-9999 Maria Silva 222-3333 Gabriel Silva 222-3333 Cláudio Silva 222-3333 Nome Vôo Varig 224 Varig 224 Passageiro Gabriel Silva Cláudio Silva Vôo Tarifa Ass Cia Varig 224 500,00 150 Varig Nome Faturam. Presid. Sede Varig 20000K Pampa Porto Alegre Espeialização em ES Pag 17
Distribuição - fragmentação vertial Nome Telefone Nome Vôo Passageiro Jose Campos 322-9999 Air Frane 147 José Campos Maria Silva 222-3333 Air Frane 147 Maria Silva Gabriel Silva 222-3333 Air Frane 147 Gabriel Silva Varig 224 Gabriel Silva Cláudio Silva 222-3333 Varig 224 Cláudio Silva Vôo Tarifa Air Frane 147 1000,00 Air Frane 455 750,00 Varig 224 500,00 Vôo Ass Cia Air Frane 147 250 Air Frane Air Frane 455 500 Air Frane Varig 224 150 Varig Varig Nome Air Frane Faturam. 20000K 10000K Nome Presid. Sede Varig Pampa Porto Alegre Air Frane Etoile Paris Espeialização em ES Pag 18
Proessamento Distribuído de Consultas Traduz automatiamente uma onsulta expressa em linguagem de alto nível sobre uma base distribuída que é vista omo únia pelo usuário A tradução deve ser orreta. O plano gerado deve ser ótimo. O proessamento trabalha em quatro fases: a deomposição da onsulta a loalização dos dados a otimização global a otimização loal Espeialização em ES Pag 19
Proessamento Distribuído de Consultas Loalização dos Dados Transforma uma onsulta algébria em uma onsulta equivalente sobre uma base fragmentada. É analisado o prediado da onsulta e a função de fragmentação É avaliado a geração de fragmentos vazios A onsulta pode ser reduzida Espeialização em ES Pag 20
Tabela de Vôos distribuída Nó 1 Vôo-A Vôo Tarifa Ass Cia Air Frane 147 1000,00 250 Air Frane Air Frane 455 750,00 500 Air Frane Nó 5 Rede de Comuniação Nó 2 Vôo Tarifa Ass Cia Varig 224 500,00 150 Varig Nó 4 Nó 3 Vôo-V Espeialização em ES Pag 21
Proessamento Distribuído de Consultas Loalização dos Dados SELECT VÔO, TARIFA FROM VÔOS WHERE CIA = AIR FRANCE Transforma a onsulta em onsulta equivalente sobre a base fragmentada. SELECT VÔO, TARIFA FROM VÔO-A WHERE CIA = AIR FRANCE UNION SELECT VÔO, TARIFA FROM VÔO-V WHERE CIA = AIR FRANCE É analisado o prediado da onsulta e a função de fragmentação É avaliado a geração de fragmentos vazios A onsulta pode ser reduzida SELECT VÔO, TARIFA FROM VÔO-A WHERE CIA = AIR FRANCE Espeialização em ES Pag 22
Proessamento Distribuído de Consultas Loalização dos Dados SELECT VÔO, TARIFA FROM VÔOS WHERE TARIFA <= 1000.00 Transforma a onsulta em onsulta equivalente sobre a base fragmentada. SELECT VÔO, TARIFA FROM VÔO-A WHERE TARIFA <= 1000.00 UNION SELECT VÔO, TARIFA FROM VÔO-V WHERE TARIFA <= 1000.00 É analisado o prediado da onsulta e a função de fragmentação É avaliado a geração de fragmentos vazios A onsulta pode ser reduzida Neste aso não há redução, mas há paralelismo. Espeialização em ES Pag 23
Proessamento Distribuído de Consultas Otimização Global Gera o plano de exeução ótimo a partir da onsulta fragmentada levando em onta ténias de otimização heurístias e sistemátias. O álulo do usto deve levar em onta a movimentação dos dados entre os nós. Espeialização em ES Pag 24
Distribuição Vertial Vôo Ass Cia Air Frane 147 250 Air Frane Air Frane 455 500 Air Frane Varig 224 150 Varig Nó 5 Nó 1 Rede de Comuniação Vôo-1 Nó 2 Vôo Tarifa Air Frane 147 1000,00 Air Frane 455 750,00 Varig 224 500,00 Nó 4 Nó 3 Vôo-2 Espeialização em ES Pag 25
Proessamento Distribuído de Consultas Loalização dos Dados SELECT VÔO, TARIFA FROM VÔOS WHERE TARIFA <= 1000.00 Transforma a onsulta em onsulta equivalente sobre a base fragmentada. SELECT VÔO, TARIFA FROM VÔO-1 WHERE TARIFA <= 1000.00 JOIN SELECT VÔO, TARIFA FROM VÔO-2 WHERE TARIFA <= 1000.00 É analisado o prediado da onsulta e a função de fragmentação É avaliado a geração de fragmentos vazios A onsulta pode ser reduzida SELECT VÔO, TARIFA FROM VÔO-2 WHERE TARIFA <= 1000.00 Espeialização em ES Pag 26
Projeto Desendente de Bases de Dados Distribuídas Análise de Requisitos Objetivos Projeto Coneitual Projeto Externo ECG Info. Aesso EEs Projeto de Distribuição Info. Usuário ECLs Projeto Físio EILs Espeialização em ES Pag 27
Questões em Projeto Distribuído Por que fragmentar? Como fragmentar? Quanto fragmentar? Como testar a orreção? Como aloar? Informação sobre requisitos? Espeialização em ES Pag 28
Informação dos requisitos Info da base de Dados - Relaionamentos, Cardinalidade Cia_Aérea Nome Faturam. Presid. Sede Vôos L1 Passageiros Vôo Tarifa Ass Cia Nome Telefone Passagens Vôo L2 L3 Passageiro Espeialização em ES Pag 29
Fragmentação Horizontal ¹ Primária» Prinipais Ténias : Faixa de Valores : Função de Hashing : Cirular ¹ Derivada ¹ Fragmentação de uma relação ou lasse não é baseada nas propriedades dos seus próprios atributos mas em função da fragmentação de outra lasse ou relação. ¹ Usada para failitar as operações de junção e navegação entre fragmentos ¹ A tabela de Vôos pode ser fragmentada de modo derivado em relação à tabela de Cia_Aérea Espeialização em ES Pag 30
Distribuição - frag. horizontal Primária Nome Faturam. Presid. Sede Air Frane 10000K Etoile Paris Derivada Vôo Tarifa Ass Cia Air Frane 147 1000,00 250 Air Frane Air Frane 455 750,00 500 Air Frane Espeialização em ES Pag 31
Controle de Conorrênia Distribuído Proura busar um equilíbrio adequado entre a manutenção da onsistênia e o alto nível de onorrênia. Problemas : Gerênia de ópias múltiplas. Falhas loais em nós. Falha nas ligações de omuniação. Finalização ('ommit') distribuída. Bloqueio perpétuo distribuído. Espeialização em ES Pag 32
Problemas em Aberto 1. Proessamento de Consultas Distribuído Espaço de soluções pode ser muito grande Avaliação usto otimização X usto exeução Intervalo entre a otimização e re-otimização Mudanças na distribuição dos dados (desbalaneamento) Espeialização em ES Pag 33
Problemas em Aberto 2. Problemas no Cresimento da Rede Faltam estudos de desempenho de SBDDs que levem em onta um modelo de usto mais detalhado da rede de omuniação. Algumas questões vem sendo trazidas quando se trata do omportamento de protoolos de omuniação e de algoritmos à medida que os sistemas resem e se tornam geografiamente distribuídos. A maioria dos trabalhos de desempenho de SBDDs utilizam modelos simplifiados, argas de trabalho artifiiais ou premissas onflitantes ou ainda onsideram pouos algoritmos e espeífios. Espeialização em ES Pag 34
Problemas em Aberto 3. Proessamento de Transações Distribuído Manter um estado onsistente da base de dados om tanta repliação implia em protoolos sofistiados de ontrole de réplias. O método mais imediato é o ROWA (read one write many), mas é também muito aro. Para que sejam plenamente alançados os objetivos da repliação, ou seja, disponibilidade e desempenho, é neessário que seja avaliado a integração dos três tipos de repliação que oorrem nos SBDDs que são a repliação dos dados, a repliação do proessamento e da omuniação. Apenas a repliação dos dados vem sendo estudada intensamente. Espeialização em ES Pag 35
Problemas em Aberto 4. Integração om Sist. Operaionais Distribuídos Há muito tempo os projetistas sistemas de bano de dados entralizados ou distribuídos relamam de serem uma apliação omum omo qualquer outra de um sistema operaional. Existe um desenontro entre as neessidades de um SGBD e as funções dos S.O.s atuais. Essa situação é ainda mais rítia no aso dos SBDDs, pois neessitam de funções que os SO distribuídos existentes não atendem omo por exemplo, suporte a transações distribuídas om ontrole de onorrênia e reonstrução. Espeialização em ES Pag 36
As Novas Tenologias e os SBDDs ª A questão do desempenho ª ª Um dos exemplos das novas apliações de Bd que irão se benefiiar da tenologia de SBDDs são os ambientes de trabalho ooperativo. Nesses sistemas os partiipantes ooperam no aesso aos reursos ompartilhados ao invés de ompetir por eles omo oorre em apliações usuais de BD. Começam a surgir SBDDOOs, mas ainda longe dos benefíios Espeialização em ES Pag 37
As Novas Tenologias e os SBDDs ª ª A evolução da tenologia de SGBDs distribuídos irá viabilizar os servidores paralelos de bases de dados. O paralelismo trará então impatos para os SBDDs na implementação de SBDDs sobre os servidores paralelos. Espeialização em ES Pag 38