400 likes | 571 Views
Sistemas de Banco de Dados Paralelos. Aluno: Márcio Angelo B. de Lira mabl@cin.ufpe.br 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).
E N D
Sistemas de Banco de Dados Paralelos Aluno: Márcio Angelo B. de Lira mabl@cin.ufpe.br 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)
Sistemas Paralelos de Banco de Dados Roteiro • Arquiteturas de sistemas paralelos de banco de dados • Particionamentode Dados Paralelos • Processamento de consulta paralela • Balanceamento de Carga • Clusters de Banco de Dados • Conclusão
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.
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.
Principais conceitos • Paralelismo • Particionamento • Balanceamento • Cluster
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
Estado da Arte • Adistribuiçã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.
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.
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.
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
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. • TransactionManager • 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.
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.
Arquiteturas de sistemas paralelos de banco de dados Arquiteturas Paralelas DBMS • Memória compartilhada
Arquiteturas de sistemas paralelos de banco de dados Arquiteturas Paralelas DBMS • Discos compartilhados
Arquiteturas de sistemas paralelos de banco de dados Arquiteturas Paralelas DBMS • Nada compartilhado
Arquiteturas de sistemas paralelos de banco de dados Arquiteturas Paralelas DBMS • Arquiteturas Híbridas • NUMA • Cluster
Particionamento de Dados Paralelos • Round-robin (Rodízio) • Hash • Range (Faixa ou intervalo)
Processamento de consultas paralelas Paralelismo Consultas • Paralelismo intra-operador • Paralelismo Inter-operador
Processamento de consultas paralelas Algoritmos Paralelos para Processamento de Dados
Processamento de consultas paralelas Otimização de consulta paralela • Pesquisa Espacial • Modelo de Custo • Estratégia de Pesquisa
Balanceamento de Carga Definição
Balanceamento de Carga Problemas de execução paralelas • Inicialização • Interferências • Inclinação
Balanceamento de Carga Balanceamento de Carga Intra-Operador • Técnicas adaptativas • Técnicas especializadas
Balanceamento de Carga Balanceamento de Carga Inter-Operador
Balanceamento de Carga Balanceamento de Carga intra-consulta • Ativações • Filas de ativação • Tópicos
Clusters de Banco de Dados Definição
Clusters de Banco de Dados Arquitetura de Cluster de Banco de Dados
Clusters de Banco de Dados Replicação • Protocolo de replicação preventiva
Clusters de Banco de Dados O balanceamento de carga
Clusters de Banco de Dados Processamento de Consulta
Clusters de Banco de Dados Tolerância a Falhas