sistemas de banco de dados paralelos
DESCRIPTION
Sistemas de Banco de Dados Paralelos. Aluno: Márcio Angelo B. de Lira [email protected] Prof.ª : Bernadette Farias Lóscio Ana C arolina Salgado Centro de Informática ( CIn ) Pós-Graduação em Ciência da Computação Universidade Federal de Pernambuco (UFPE). - PowerPoint PPT PresentationTRANSCRIPT
Banco de Dados Distribuídos e Móveis – 2012.1
Sistemas de Banco de Dados Paralelos
Aluno: Márcio Angelo B. de Lira
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
2
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
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.
3
Banco de Dados Distribuídos e Móveis – 2012.1
Objetivo
4
• 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
Principais conceitos
5
•Paralelismo•Particionamento•Balanceamento•Cluster
Banco de Dados Distribuídos e Móveis – 2012.1
Estado da Arte
6
• 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
Estado da Arte
7
• 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
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.
8
Banco de Dados Distribuídos e Móveis – 2012.1
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.
9
Banco de Dados Distribuídos e Móveis – 2012.1
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
10
Banco de Dados Distribuídos e Móveis – 2012.1
Arquiteturas de sistemas paralelos de banco de dados
Arquitetura FuncionalAssumindo 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.
11
Banco de Dados Distribuídos e Móveis – 2012.1
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.
12
Banco de Dados Distribuídos e Móveis – 2012.1
Arquiteturas de sistemas paralelos de banco de dados
13
Banco de Dados Distribuídos e Móveis – 2012.1
Arquiteturas de sistemas paralelos de banco de dados
Arquiteturas Paralelas DBMS
• Memória compartilhada
14
Banco de Dados Distribuídos e Móveis – 2012.1
Arquiteturas de sistemas paralelos de banco de dados
Arquiteturas Paralelas DBMS• Discos compartilhados
15
Banco de Dados Distribuídos e Móveis – 2012.1
Arquiteturas de sistemas paralelos de banco de dados
Arquiteturas Paralelas DBMS• Nada compartilhado
16
Banco de Dados Distribuídos e Móveis – 2012.1
Arquiteturas de sistemas paralelos de banco de dados
Arquiteturas Paralelas DBMS• Arquiteturas Híbridas– NUMA – Cluster
17
Banco de Dados Distribuídos e Móveis – 2012.1
Particionamento de Dados Paralelos
• Round-robin (Rodízio)• Hash • Range (Faixa ou intervalo)
18
Banco de Dados Distribuídos e Móveis – 2012.1
Processamento de consultas paralelas
Paralelismo Consultas
• Paralelismo intra-operador• Paralelismo Inter-operador
19
Banco de Dados Distribuídos e Móveis – 2012.1
Processamento de consultas paralelas
Algoritmos Paralelos para Processamento de Dados
20
Banco de Dados Distribuídos e Móveis – 2012.1
Processamento de consultas paralelas
Otimização de consulta paralela
• Pesquisa Espacial• Modelo de Custo• Estratégia de Pesquisa
21
Banco de Dados Distribuídos e Móveis – 2012.1
Balanceamento de Carga
Definição
22
Banco de Dados Distribuídos e Móveis – 2012.1
Balanceamento de Carga
Problemas de execução paralelas
• Inicialização• Interferências• Inclinação
23
Banco de Dados Distribuídos e Móveis – 2012.1
Balanceamento de Carga
Balanceamento de Carga Intra-Operador
• Técnicas adaptativas• Técnicas especializadas
24
Banco de Dados Distribuídos e Móveis – 2012.1
Balanceamento de Carga
Balanceamento de Carga Inter-Operador
25
Banco de Dados Distribuídos e Móveis – 2012.1
Balanceamento de Carga
Balanceamento de Carga intra-consulta
• Ativações• Filas de ativação• Tópicos
26
Banco de Dados Distribuídos e Móveis – 2012.1
Clusters de Banco de Dados
Definição
27
Banco de Dados Distribuídos e Móveis – 2012.1
Clusters de Banco de Dados
Arquitetura de Cluster de Banco de Dados
28
Banco de Dados Distribuídos e Móveis – 2012.1
Clusters de Banco de Dados
Replicação
• Protocolo de replicação preventiva
29
Banco de Dados Distribuídos e Móveis – 2012.1
Clusters de Banco de Dados
O balanceamento de carga
30
Banco de Dados Distribuídos e Móveis – 2012.1
Clusters de Banco de Dados
Processamento de Consulta
31
Banco de Dados Distribuídos e Móveis – 2012.1
Clusters de Banco de Dados
Tolerância a Falhas
32
Banco de Dados Distribuídos e Móveis – 2012.133
Banco de Dados Distribuídos e Móveis – 2012.134
Banco de Dados Distribuídos e Móveis – 2012.135
Banco de Dados Distribuídos e Móveis – 2012.136
Banco de Dados Distribuídos e Móveis – 2012.1
Exemplos de aplicações
37
Banco de Dados Distribuídos e Móveis – 2012.1
Referências utilizadas
38
Banco de Dados Distribuídos e Móveis – 2012.1
Obrigado!
39