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
Download

Marcio Angelo - Sistemas de banco de dados Paralellos