Sistemas de Banco de Dados Paralelos Aluno: Márcio Angelo B. de Lira [email protected] Prof.ª : Bernadette Farias Lóscio Ana Carolina Salgado Centro de Informática (CIn) Pós-Graduação em Ciência da Computação Universidade Federal de Pernambuco (UFPE) Banco de Dados Distribuídos e Móveis – 2012.1 Sistemas Paralelos de Banco de Dados Roteiro • Arquiteturas de sistemas paralelos de banco de dados • Particionamento de Dados Paralelos • Processamento de consulta paralela • Balanceamento de Carga • Clusters de Banco de Dados • Conclusão Banco de Dados Distribuídos e Móveis – 2012.1 2 Motivação Sistemas paralelos melhoram as velocidades de processamento de E/S usando várias CPUs e discos em paralelo. As máquinas paralelas estão se tornando cada vez mais comuns contribuído para o avanço dos estudos em sistemas de banco de dados paralelos. Banco de Dados Distribuídos e Móveis – 2012.1 3 Objetivo • O objetivo deste seminário é a continuidade da disciplina de Banco de dados Distribuído e Móveis, estimulando o aluno a realizar uma pesquisa minuciosa sobre os sistemas de banco de dados paralelos e compartilhar com a turma o conhecimento adquirido. Banco de Dados Distribuídos e Móveis – 2012.1 4 Principais conceitos •Paralelismo •Particionamento •Balanceamento •Cluster Banco de Dados Distribuídos e Móveis – 2012.1 5 Estado da Arte • Muitas aplicações de dados intensos requerem suporte para bancos de dados muito grandes (por exemplo, centenas de terabytes ou petabytes). • Exemplos são: e-commerce, data warehousing e data mining. • Apoiar grandes bancos de dados de forma eficiente tanto para OLTP ou OLAP pode ser abordada através da combinação de computação paralela e gestão de banco de dados distribuído. • Um computador paralelo, ou multiprocessador, é um tipo especial de sistema distribuído feito de um número de nós (processadores, memórias e discos), conectados por uma rede muito rápida dentro de um ou mais armários na mesma sala. • A idéia principal é construir um computador muito potente partindo de muitos computadores pequenos, numa relação muito boa de custo / performance, a um custo muito menor do que computadores de grande porte equivalentes Banco de Dados Distribuídos e Móveis – 2012.1 6 Estado da Arte • A distribuição de dados pode ser explorada para aumentar o desempenho (através de paralelismo) e disponibilidade (através da replicação). • A maior parte da investigação em sistemas de base de dados paralelos foi feito no contexto do modelo relacional que proporciona uma boa base para os dados baseado em paralelismo. • vantagens e limitações das arquiteturas de sistemas paralelos (memória compartilhada, compartilhada disco, compartilhou nada). • as técnicas para particionamento de dados, processamento de consultas, balanceamento de carga e técnicas de gestão de dados paralelos em clusters de banco de dados. Banco de Dados Distribuídos e Móveis – 2012.1 7 Arquiteturas de sistemas paralelos de banco de dados Objetivos – Sistemas de banco de dados paralelos combinam gerenciamento de banco de dados e processamento paralelo para aumentar o desempenho e disponibilidade. – Décadas de 70 e 80. – Objetivos cobertos pelos os mesmos do SGBD distribuído. • Alto desempenho – Gerenciamento de dados paralelos, a otimização da consulta, e balanceamento de carga – O rendimento pode ser aumentado, utilizando paralelismo de inter-consulta, e diminuir os tempos de resposta de transações, usando paralelismo de intra-consulta. – dividir uma determinada carga igualmente entre todos os processadores. – Dependendo da arquitetura do sistema paralelo, que pode ser alcançado estaticamente pelo projeto de banco de dados físico adequado ou dinamicamente em tempo de execução. Banco de Dados Distribuídos e Móveis – 2012.1 8 Arquiteturas de sistemas paralelos de banco de dados • Alta disponibilidade – Composto de muitos componentes redundantes, aumentando bastante a disponibilidade de dados e tolerância a falhas. – A replicação de dados em diversos nós é útil para suportar Filover (técnica de tolerância a falhas que permite o redirecionamento automático de transações a partir de um nó com falha para outro nó que armazena uma cópia dos dados). – Sobrecarga da cópia disponível. – As soluções para este problema requerem cópias de particionamento de tal modo que eles podem também ser acessados em paralelo. Banco de Dados Distribuídos e Móveis – 2012.1 9 Arquiteturas de sistemas paralelos de banco de dados • Extensibilidade – Extensibilidade é a capacidade de expandir o sistema suavemente através da adição de processamento e armazenamento de energia para o sistema – Linear speedup refere-se a um aumento linear no desempenho para uma base de dados de tamanho constante enquanto que o número de nós. – Linear scaleup se refere a um desempenho sustentado por um aumento linear no tamanho do banco de dados e número de nós Banco de Dados Distribuídos e Móveis – 2012.1 10 Arquiteturas de sistemas paralelos de banco de dados Arquitetura Funcional Assumindo uma arquitetura cliente / servidor, as funções suportadas por um sistema de banco de dados paralelo pode ser dividido em três subsistemas: • Session Manager – Desempenha o papel de um monitor de transações, proporcionando suporte para as interações do cliente com o servidor. – Executa as ligações e desligamentos entre os processos de cliente e os dois outros subsistemas. • Transaction Manager – Ele supervisiona a execução da transação e commit, ele pode disparar o processo de recuperação em caso de falha da transação. – Para acelerar a execução da consulta, ele pode otimizar e paralelizar a consulta em tempo de compilação. Banco de Dados Distribuídos e Móveis – 2012.1 11 Arquiteturas de sistemas paralelos de banco de dados Arquitetura Funcional (cont.) • Data Manager – Ele fornece todas as funções de baixo nível necessários para executar consultas compiladas em paralelo. – Suporte a transação paralela, gerenciando a cache. Banco de Dados Distribuídos e Móveis – 2012.1 12 Arquiteturas de sistemas paralelos de banco de dados Banco de Dados Distribuídos e Móveis – 2012.1 13 Arquiteturas de sistemas paralelos de banco de dados Arquiteturas Paralelas DBMS • Memória compartilhada Banco de Dados Distribuídos e Móveis – 2012.1 14 Arquiteturas de sistemas paralelos de banco de dados Arquiteturas Paralelas DBMS • Discos compartilhados Banco de Dados Distribuídos e Móveis – 2012.1 15 Arquiteturas de sistemas paralelos de banco de dados Arquiteturas Paralelas DBMS • Nada compartilhado Banco de Dados Distribuídos e Móveis – 2012.1 16 Arquiteturas de sistemas paralelos de banco de dados Arquiteturas Paralelas DBMS • Arquiteturas Híbridas – NUMA – Cluster Banco de Dados Distribuídos e Móveis – 2012.1 17 Particionamento de Dados Paralelos • Round-robin (Rodízio) • Hash • Range (Faixa ou intervalo) Banco de Dados Distribuídos e Móveis – 2012.1 18 Processamento de consultas paralelas Paralelismo Consultas • Paralelismo intra-operador • Paralelismo Inter-operador Banco de Dados Distribuídos e Móveis – 2012.1 19 Processamento de consultas paralelas Algoritmos Paralelos para Processamento de Dados Banco de Dados Distribuídos e Móveis – 2012.1 20 Processamento de consultas paralelas Otimização de consulta paralela • Pesquisa Espacial • Modelo de Custo • Estratégia de Pesquisa Banco de Dados Distribuídos e Móveis – 2012.1 21 Balanceamento de Carga Definição Banco de Dados Distribuídos e Móveis – 2012.1 22 Balanceamento de Carga Problemas de execução paralelas • Inicialização • Interferências • Inclinação Banco de Dados Distribuídos e Móveis – 2012.1 23 Balanceamento de Carga Balanceamento de Carga Intra-Operador • Técnicas adaptativas • Técnicas especializadas Banco de Dados Distribuídos e Móveis – 2012.1 24 Balanceamento de Carga Balanceamento de Carga Inter-Operador Banco de Dados Distribuídos e Móveis – 2012.1 25 Balanceamento de Carga Balanceamento de Carga intra-consulta • Ativações • Filas de ativação • Tópicos Banco de Dados Distribuídos e Móveis – 2012.1 26 Clusters de Banco de Dados Definição Banco de Dados Distribuídos e Móveis – 2012.1 27 Clusters de Banco de Dados Arquitetura de Cluster de Banco de Dados Banco de Dados Distribuídos e Móveis – 2012.1 28 Clusters de Banco de Dados Replicação • Protocolo de replicação preventiva Banco de Dados Distribuídos e Móveis – 2012.1 29 Clusters de Banco de Dados O balanceamento de carga Banco de Dados Distribuídos e Móveis – 2012.1 30 Clusters de Banco de Dados Processamento de Consulta Banco de Dados Distribuídos e Móveis – 2012.1 31 Clusters de Banco de Dados Tolerância a Falhas Banco de Dados Distribuídos e Móveis – 2012.1 32 Banco de Dados Distribuídos e Móveis – 2012.1 33 Banco de Dados Distribuídos e Móveis – 2012.1 34 Banco de Dados Distribuídos e Móveis – 2012.1 35 Banco de Dados Distribuídos e Móveis – 2012.1 36 Exemplos de aplicações Banco de Dados Distribuídos e Móveis – 2012.1 37 Referências utilizadas Banco de Dados Distribuídos e Móveis – 2012.1 38 Obrigado! Banco de Dados Distribuídos e Móveis – 2012.1 39