paralelismo em banco de dados - uniriotec.brfernanda.baiao/bddistpar/05 - bdpar - paralelismo... ·...

22
1 Paralelismo em Banco de Dados Fernanda Baião [email protected] Paralelismo em Bancos de Dados Equipe Pargres, Fernanda Baião 2 O Problema z Aplicações que requerem z alto desempenho z Grande volume de dados z Alto número de requisições ao banco de dados e/ou Requisições (consultas/atualizações) muito demoradas z aumento de disponibilidade / confiabilidade z replicação de dados Paralelismo em Bancos de Dados Equipe Pargres, Fernanda Baião 3 Processamento Paralelo z Tradicionalmente utilizado para obtenção de alto desempenho em aplicações de bancos de dados z Opções arquiteturais z Servidores Paralelos + SGBDs paralelos z Clusters de PCs + SGBDs para clusters z Clusters de Bancos de Dados!

Upload: dinhliem

Post on 21-Jan-2019

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Paralelismo em Banco de Dados - uniriotec.brfernanda.baiao/BDDistPar/05 - BDPar - Paralelismo... · não alterando o esquema lógico do banco de dados ... na literatura Exige a implementação

1

Paralelismo emBanco de Dados

Fernanda Baiã[email protected]

Paralelismo em Bancos de Dados Equipe Pargres, Fernanda Baião 2

O Problema

Aplicações que requeremalto desempenho

Grande volume de dadosAlto número de requisições ao banco de dados e/ouRequisições (consultas/atualizações) muito demoradas

aumento de disponibilidade / confiabilidadereplicação de dados

Paralelismo em Bancos de Dados Equipe Pargres, Fernanda Baião 3

Processamento Paralelo

Tradicionalmente utilizado para obtenção de alto desempenho em aplicações de bancos de dadosOpções arquiteturais

Servidores Paralelos + SGBDs paralelos

Clusters de PCs + SGBDs para clusters

Clusters de Bancos de Dados!

Page 2: Paralelismo em Banco de Dados - uniriotec.brfernanda.baiao/BDDistPar/05 - BDPar - Paralelismo... · não alterando o esquema lógico do banco de dados ... na literatura Exige a implementação

2

Paralelismo em Bancos de Dados Equipe Pargres, Fernanda Baião 4

Cluster de Bancos de Dados

“Cluster de PCs executando, em cada nó,um Sistema Gerenciador de Bancos de Dados padrão.” (Akal, 2002)SGBDs

SeqüenciaisUtilizados como componentes do tipo “caixa-preta”

ParalelismoImplementado através de uma camada intermediária de software (middleware)

Paralelismo em Bancos de Dados Equipe Pargres, Fernanda Baião 5

Cluster de Bancos de Dados

CamadaIntermediária

SGBDSGBD

SGBDSGBD

SGBDSGBD

SGBDSGBD

SGBDSGBD

Cluster de PCs

Clientes

Paralelismo em Bancos de Dados Equipe Pargres, Fernanda Baião 6

Processamento Paralelo e Bancos de Dados

Propriedades de um sistema paralelo ideal

Aceleração linear Crescimento linear(linear speed-up) (linear scale-up)

Page 3: Paralelismo em Banco de Dados - uniriotec.brfernanda.baiao/BDDistPar/05 - BDPar - Paralelismo... · não alterando o esquema lógico do banco de dados ... na literatura Exige a implementação

3

Paralelismo em Bancos de Dados Equipe Pargres, Fernanda Baião 7

Paralelismo em Bancos de Dados

Características de SBDPDistribuição dos Dados

FragmentaçãoReplicação

Processamento e otimização de consultasParalelismo inter-consultasParalelismo intra-consulta

Gerência de TransaçõesBalanceamento de Carga

Paralelismo em Bancos de Dados Equipe Pargres, Fernanda Baião 8

Características de SBDP

Distribuição de dadosFragmentação

Replicação

Paralelismo em Bancos de Dados Equipe Pargres, Fernanda Baião 9

Fragmentação

☺ Alternativa bastante explorada na literatura

☺ Vários trabalhos apresentam bons resultados com o emprego de tal técnica

Exige novo projeto físico para o banco de dados

Exige a implementação de middleware com funções complexas para a execução de consultas

Pode exigir troca de grandes quantidades de dados entre os nós durante o processamento de uma consulta

Page 4: Paralelismo em Banco de Dados - uniriotec.brfernanda.baiao/BDDistPar/05 - BDPar - Paralelismo... · não alterando o esquema lógico do banco de dados ... na literatura Exige a implementação

4

Paralelismo em Bancos de Dados Equipe Pargres, Fernanda Baião 10

Replicação

☺ Torna simples a migração do banco de dados☺ Elimina a necessidade de um novo projeto físico☺ Middleware pode ser mais simples do que na solução

que emprega fragmentaçãoRequer técnicas especiais para a manutenção da consistência entre as réplicas

Atualização de cópias primárias x qualquer cópiaEager replication x lazy replication

Aplicações com bases de dados muito grandes teriam dificuldades em utilizar essa solução por restrições de espaço de armazenamento

Paralelismo em Bancos de Dados Equipe Pargres, Fernanda Baião 11

Características de SBDPProcessamento e otimização de consultas

Paralelismo inter-consultasExecução concorrente de múltiplas consultas de diversos usuáriosCada consulta é executada seqüencialmenteAumento de vazão

Paralelismo intra-consulta Decomposição de uma única consulta em sub-consultasExecução paralela de múltiplas sub-consultaRedução do tempo de execução da consulta

Paralelismo Inter-C e Intra-C combinados?!

Paralelismo em Bancos de Dados Equipe Pargres, Fernanda Baião 12

Características de SBDP

Balanceamento de carga Uniformizar o esforço de cada nó de processamento

Distribuindo as requisições ao BDDistribuindo os dados

Objetivos Evitar sobrecarga de um nóTirar proveito do multiprocessamento

Restriçõesem que nós estão armazenados os dados acessados pela requisição?

Page 5: Paralelismo em Banco de Dados - uniriotec.brfernanda.baiao/BDDistPar/05 - BDPar - Paralelismo... · não alterando o esquema lógico do banco de dados ... na literatura Exige a implementação

5

Paralelismo em Bancos de Dados Equipe Pargres, Fernanda Baião 13

Solucões existentes de paralelismo em clusters de BD

SGBDs para clustersPGClusterSmaQComerciais

ClusgresMySQL ClusterOracle 10g (Real Application Cluster)DB2 ICE (Integrated Cluster Environment)

Clusters de Bancos de DadosParalelismo Inter-Consultas

Leg@NetC-JDBC

Paralelismo Intra-ConsultaPowerDB

Inter + IntraPargresPargres (!!!!)(!!!!)

Paralelismo em Bancos de Dados Equipe Pargres, Fernanda Baião 14

Leg@NetFrança

Lip6, Prologue Software, ASPLine

Explora arquitetura de clusters de bancos de dados usando replicaçãoPropõe modelo para balanceamento de carga e garantia de consistência entre as réplicasParalelismo inter-consultasCódigo aberto, linux

Paralelismo em Bancos de Dados Equipe Pargres, Fernanda Baião 15

PowerDBSuíça

Instituto Federal de Tecnologia de Zurique

Explora arquitetura de clusters de bancos de dados usando Fragmentação virtual

tamanho fixo dos fragmentosPropõe técnicas de roteamento de consultas para balanceamento de cargaParalelismo intra-consulta para aplicações OLAP

Page 6: Paralelismo em Banco de Dados - uniriotec.brfernanda.baiao/BDDistPar/05 - BDPar - Paralelismo... · não alterando o esquema lógico do banco de dados ... na literatura Exige a implementação

6

Paralelismo em Bancos de Dados Equipe Pargres, Fernanda Baião 16

MySQL ClusterExplora arquitetura de clusters de bancos de dados usando replicaçãoTrabalha com os dados em memória principalParalelismo inter consultas

Paralelismo em Bancos de Dados Equipe Pargres, Fernanda Baião 17

C-JDBCMiddleware com API padrão para permitir a conexão de aplicações Java com uma grande variedade de SGBDs relacionaisExplora arquitetura de clusters de bancos de dados fornecendo transparência à aplicaçãoPossui recursos para balanceamento de carga, cache de consultas e recuperação a falhas Paralelismo inter-consultas

Paralelismo em Bancos de Dados Equipe Pargres, Fernanda Baião 18

Postgres-RSuícaModificação do código-fonte do Postgres para ganhar características de SGBD paralelo Explora arquitetura de clusters de bancos de dados usando replicação totalPropõe técnicas de controle de concorrência e protocolo eagerreplication para atualização de réplicasArquitetura multi-masterNão trata balanceamento de cargaParalelismo inter consultas

Page 7: Paralelismo em Banco de Dados - uniriotec.brfernanda.baiao/BDDistPar/05 - BDPar - Paralelismo... · não alterando o esquema lógico do banco de dados ... na literatura Exige a implementação

7

Paralelismo em Bancos de Dados Equipe Pargres, Fernanda Baião 19

Avaliação das soluções existentes

TPC-H----SmaQ

Benchmarkpróprio-N/A---MySQL

Cluster

Benchmarkpróprio-----PostgresR

TPC-W--C-JDBC

TPC-R---PowerDB

TPC-W-----Leg@net

OLAPOLTPIntraInterTotalParcialMRPPCircular

Com peso

CircularBenchmark

Aplicação focoParalelismo deconsultas

Modelo dereplicaçãoBalanceamento de carga

Itens

ParGRES: Alto desempenho em

Aplicações OLAPFernanda Baião

Departamento de Informática Aplicada- UNIRIO

[email protected]

Paralelismo em Bancos de Dados Equipe Pargres, Fernanda Baião 21

CenárioTomada de Decisões

Tomar a ação apropriadaconsiderando-se níveis de risco e incertezaassumidos

Page 8: Paralelismo em Banco de Dados - uniriotec.brfernanda.baiao/BDDistPar/05 - BDPar - Paralelismo... · não alterando o esquema lógico do banco de dados ... na literatura Exige a implementação

8

Paralelismo em Bancos de Dados Equipe Pargres, Fernanda Baião 22

Realidade dos BD corporativos

Sales Marketing Finance Rates CustomerService

MIS

Demographics General Ledger

Product PlanningPromotions

Product Info

Competitive Info

Market Data

AccountingPurchasing

Contracts

Paralelismo em Bancos de Dados Equipe Pargres, Fernanda Baião 23

O que queremos?

Sales Marketing Finance Rates/Regulatory

CustomerService

MIS

Product DataCustomer Data

Sales DataMarket Data

G/L DataRevenue DataExternal Data

Informação!

Agilidade

Flexibilidade

Uma única versão da verdade

Mas, de que forma? Com :

Paralelismo em Bancos de Dados Equipe Pargres, Fernanda Baião 24

Data Warehouse

“Uma coleção de dados...Orientados ao assuntoIntegradosNão voláteisVariantes no tempo

... Para fornecer suporte ao processo de tomada de decisões na organização” [Inmon, 92]

Page 9: Paralelismo em Banco de Dados - uniriotec.brfernanda.baiao/BDDistPar/05 - BDPar - Paralelismo... · não alterando o esquema lógico do banco de dados ... na literatura Exige a implementação

9

Paralelismo em Bancos de Dados Equipe Pargres, Fernanda Baião 25

Ambiente de Data Warehouse

Integrar dados de múltiplas fontes

Facilitar o processo de análise semimpacto para o ambiente de dados operacionais

Obter informação de qualidade

Atender diferentes tipos de usuáriosfinais

Flexibilidade e agilidade paraatender novas análises

BDs Operacionais

DW

AplicaçãoSD

FerramentaOLAP

AplicaçãoDBMKT

Paralelismo em Bancos de Dados Equipe Pargres, Fernanda Baião 26

Aplicações OLAP(On-Line Analytical Processing)

ObjetivoApoio à tomada de decisões

Características principaisConsultas de alto custo

Demandam muito tempo de processamentoEnvolvem grande volume de dadosAd-hoc (Gorla, 2003)

Operações de atualização “controladas”Realizadas em períodos pré-definidos

Paralelismo em Bancos de Dados Equipe Pargres, Fernanda Baião 27

Questões críticas no ambiente de DW

Envolvimento dos usuáriosAbordagem incremental e iterativaApresentação dos dados

simplicidade, clareza de semântica, níveis distintosde detalhe

Esteja preparado para mudançasDesempenho

OtimizaçãoOtimização de de consultasconsultas OLAP!!!!!!!!!OLAP!!!!!!!!!

Page 10: Paralelismo em Banco de Dados - uniriotec.brfernanda.baiao/BDDistPar/05 - BDPar - Paralelismo... · não alterando o esquema lógico do banco de dados ... na literatura Exige a implementação

10

Paralelismo em Bancos de Dados Equipe Pargres, Fernanda Baião 28

Problema

Como obter alto desempenho no processamento de consultas OLAP

de alto custo?

Paralelismo em Bancos de Dados Equipe Pargres, Fernanda Baião 29

Desafio

Como obter alto desempenho no processamento de consultas de alto

custo?de maneira pouco dispendiosapouco dispendiosa?de maneira não intrusivanão intrusiva?

mantendo os programas de aplicação e os acessos ao SGBD intactos

não mudando de SGBDnão alterando o esquema lógico do banco de dados

Paralelismo em Bancos de Dados Equipe Pargres, Fernanda Baião 30

Processamento ParaleloOpções Arquiteturais

Servidores Paralelos + SGBDs paralelos

Clusters de PCs + SGBDs para clusters

Clusters de Bancos Clusters de Bancos de Dados!de Dados!

Page 11: Paralelismo em Banco de Dados - uniriotec.brfernanda.baiao/BDDistPar/05 - BDPar - Paralelismo... · não alterando o esquema lógico do banco de dados ... na literatura Exige a implementação

11

Paralelismo em Bancos de Dados Equipe Pargres, Fernanda Baião 31

Cluster de Bancos de Dados(Relembrando…)

“Cluster de PCs executando, em cada nó,um Sistema Gerenciador de Bancos de Dados padrão.” (Akal, 2002)SGBDs

SeqüenciaisUtilizados como componentes do tipo “caixa-preta”

ParalelismoImplementado através de uma camada intermediária de software (middleware)

Paralelismo em Bancos de Dados Equipe Pargres, Fernanda Baião 32

Cluster de Bancos de Dados

CamadaIntermediária

SGBDSGBD

SGBDSGBD

SGBDSGBD

SGBDSGBD

SGBDSGBD

Cluster de PCs

Clientes

Paralelismo em Bancos de Dados Equipe Pargres, Fernanda Baião 33

Paralelismo em Bancos de Dados

Características de SBPDistribuição dos Dados

FragmentaçãoReplicação

Processamento e otimização de consultasParalelismo inter-consultasParalelismo intra-consulta

Gerência de TransaçõesBalanceamento de Carga

Page 12: Paralelismo em Banco de Dados - uniriotec.brfernanda.baiao/BDDistPar/05 - BDPar - Paralelismo... · não alterando o esquema lógico do banco de dados ... na literatura Exige a implementação

12

Paralelismo em Bancos de Dados Equipe Pargres, Fernanda Baião 34

Distribuição de dados

FragmentaçãoHorizontalVertical

ReplicaçãoTotalParcial

Paralelismo em Bancos de Dados Equipe Pargres, Fernanda Baião 35

Fragmentação

Exige novo projeto físico para o banco de dados

Alternativa bastante explorada na literatura

Exige a implementação de middleware com funções

complexas para a execução de consultas

Vários trabalhos apresentam bons resultados

Pode exigir troca de grandes quantidades de dados entre os nós durante o processamento de uma

consulta

DesvantagensVantagens

Paralelismo em Bancos de Dados Equipe Pargres, Fernanda Baião 36

Replicação

Middleware pode ser mais simplesTorna simples a migração do banco de dados

Requer técnicas especiais para a manutenção da consistência entre

as réplicas

Elimina a necessidade de um novo projeto físico

Exigência de espaço de armazenamento

DesvantagensVantagens

Page 13: Paralelismo em Banco de Dados - uniriotec.brfernanda.baiao/BDDistPar/05 - BDPar - Paralelismo... · não alterando o esquema lógico do banco de dados ... na literatura Exige a implementação

13

Paralelismo em Bancos de Dados Equipe Pargres, Fernanda Baião 37

Distribuição de dados

FragmentaçãoHorizontalVertical

ReplicaçãoTotalParcial

Fragmentação + Replicação!

Fragmentação Virtual

Paralelismo em Bancos de Dados Equipe Pargres, Fernanda Baião 38

Fragmentação Virtual

Objetivo: forçar cada SGBD a processar uma mesma consulta sobre subconjuntos distintos de dados através da adição de predicados definindo intervalos de dados

OriginalQuery

Sub -Query2

Sub -Query3

Sub -Query4

Sub -Query1 DBMS

DBMS

DBMS

DBMS

CC2

C3

C4

C1 DBMSPostgreSQL

DBMSPostgreSQL

DBMSPostgreSQL

DBMSPostgreSQL

Paralelismo em Bancos de Dados Equipe Pargres, Fernanda Baião 39

Fragmentação Virtual

Select sum(price) from ITEM

Select sum(price) from ITEM

where item_no >= 1

and item_no < 250,001

Select sum(price) from ITEM

where item_no >= 1

and item_no < 250,001

Select sum(price) from ITEM

where item_no >= 500,001

and item_no < 750,001

Select sum(price) from ITEM

where item_no >= 500,001

and item_no < 750,001

Select sum(price) from ITEM

where item_no >= 250,001

and item_no < 500,001

Select sum(price) from ITEM

where item_no >= 250,001

and item_no < 500,001

Select sum(price) from ITEM

where item_no >= 750,001

and item_no < 1,000,001

Select sum(price) from ITEM

where item_no >= 750,001

and item_no < 1,000,001

Page 14: Paralelismo em Banco de Dados - uniriotec.brfernanda.baiao/BDDistPar/05 - BDPar - Paralelismo... · não alterando o esquema lógico do banco de dados ... na literatura Exige a implementação

14

Paralelismo em Bancos de Dados Equipe Pargres, Fernanda Baião 40

Fragmentação Virtual Adaptativa

OriginalQuery

DBMS

DBMS

DBMS

DBMS

C

DBMSPostgreSQL

DBMSPostgreSQL

DBMSPostgreSQL

DBMSPostgreSQL

Subconsultas

Paralelismo em Bancos de Dados Equipe Pargres, Fernanda Baião 41

Processamento e otimização de consultas

Paralelismo inter-consultasExecução concorrente de múltiplas consultas de diversos usuáriosCada consulta é executada seqüencialmenteAumento de vazão

Paralelismo intra-consulta Decomposição de uma única consulta em sub-consultasExecução paralela de múltiplas sub-consultaRedução do tempo de execução da consulta

Paralelismo Inter-C e Intra-C combinados?!

Paralelismo em Bancos de Dados Equipe Pargres, Fernanda Baião 42

Balanceamento de cargaUniformizar o esforço de cada nó de processamento

Distribuindo as requisições ao BDDistribuindo os dados

Objetivos Evitar sobrecarga de um nóTirar proveito do multiprocessamento

Restriçõesem que nós estão armazenados os dados acessados pela requisição?

Page 15: Paralelismo em Banco de Dados - uniriotec.brfernanda.baiao/BDDistPar/05 - BDPar - Paralelismo... · não alterando o esquema lógico do banco de dados ... na literatura Exige a implementação

15

Paralelismo em Bancos de Dados Equipe Pargres, Fernanda Baião 43

Paralelismo em clusters de BDSoluções existentes

Intra- consulta

Inter- consulta Atualiz. Baixo

custo Disp. Indep.

de SGBD

Licença

Pargres ■ ■ ■ ■ ■ ■ LPGL

C-JDBC ■ ■ ■ ■ ■ LGPL

PGReplicator ■ ■ ■ GPL Slony-1 ■ ■ ■ BSD PowerDB/FAS ■ ■ ■ ? ■ ?

Clu

ster

de

SG

BD

PowerDB/SVP ■ ■ ■ ? ■ ?

PGCluster ■ ½ ■ BSD Oracle 10g/RAC ■ ■ ■ Com.

SGBD

par

a cl

uste

r

MySQL Cluster ■ ■ ■ ½ ■ GPL/Com.

Paralelismo em Bancos de Dados Equipe Pargres, Fernanda Baião 44

Pargres

Middleware para clusters de bancos de dados voltado para consultas de alto custo

típicas de aplicações OLAPImplementa Paralelismo Inter & Intra-ConsultaFragmentação Virtual AdaptativaUtiliza o SGBD livre PostgreSQL

Sem adaptações para execução em clusters de Pcshttp://forge.objectweb.org/projects/pargres

Paralelismo em Bancos de Dados Equipe Pargres, Fernanda Baião 45

Pargres

PARGRES

PostgreSQLPC-Cluster

Clientes

PostgreSQL

PostgreSQL

PostgreSQL

PostgreSQL

Page 16: Paralelismo em Banco de Dados - uniriotec.brfernanda.baiao/BDDistPar/05 - BDPar - Paralelismo... · não alterando o esquema lógico do banco de dados ... na literatura Exige a implementação

16

Paralelismo em Bancos de Dados Equipe Pargres, Fernanda Baião 46

PostgreSQLJDBC driver

PostgreSQLdatabase

ApplicationServer

JVM

Visão Geral solução Pargres

Paralelismo em Bancos de Dados Equipe Pargres, Fernanda Baião 47

PostgreSQLJDBC driver

PostgreSQLdatabase

ApplicationServer

JVM

Visão Geral solução Pargres

ParGRESJDBC driver

ParGRESServer

JVM

Paralelismo em Bancos de Dados Equipe Pargres, Fernanda Baião 48

Visão Geral solução Pargres

Internet

JDBC

Page 17: Paralelismo em Banco de Dados - uniriotec.brfernanda.baiao/BDDistPar/05 - BDPar - Paralelismo... · não alterando o esquema lógico do banco de dados ... na literatura Exige a implementação

17

Paralelismo em Bancos de Dados Equipe Pargres, Fernanda Baião 49

Visão Geral solução Pargres

Internet

JDBC JDBC

Cluster de PCs

Paralelismo em Bancos de Dados Equipe Pargres, Fernanda Baião 50

Arquitetura do ParGRES

Paralelismo em Bancos de Dados Equipe Pargres, Fernanda Baião 51

Arquitetura do ParGRES

Analisador sintático que faz parser das consultasProvê transparência no paralelismo intra-CGramática SQL-99

Recursos não suportados da linguagem enviados diretamente ao SGBD

CQP

Translator

CQP

Page 18: Paralelismo em Banco de Dados - uniriotec.brfernanda.baiao/BDDistPar/05 - BDPar - Paralelismo... · não alterando o esquema lógico do banco de dados ... na literatura Exige a implementação

18

Paralelismo em Bancos de Dados Equipe Pargres, Fernanda Baião 52

Arquitetura do ParGRES

Componente principal da arquiteturaPapel de coordenadorDecisão intra-C x inter-CComposição de resultadosGerência das transações distribuídas

CQP

CQP

Paralelismo em Bancos de Dados Equipe Pargres, Fernanda Baião 53

Arquitetura do ParGRES

Gerência de transações Distribuídas

W1 R3

R1 R2

ParGRES

Time t1

DBMS DBMS

W1 R3

ParGRES

Time t2

DBMS DBMS

R1 R2

R3

ParGRES

Time t3

DBMS DBMS

W1 W1

ParGRES

Time t4

DBMS DBMS

R3

Paralelismo em Bancos de Dados Equipe Pargres, Fernanda Baião 54

Pargres

Alto desempenho em consultas pesadas:escalável, não centralizadadisponibilidadenão necessita modificar a aplicação clienteindependente de fabricante SBGDuso de hardware commodity

Implementa Paralelismo Inter & Intra-ConsultaReplicação Total e Fragmentação Virtual Adaptativa

Page 19: Paralelismo em Banco de Dados - uniriotec.brfernanda.baiao/BDDistPar/05 - BDPar - Paralelismo... · não alterando o esquema lógico do banco de dados ... na literatura Exige a implementação

19

Paralelismo em Bancos de Dados Equipe Pargres, Fernanda Baião 55

Pargres

Compatível com SQL-ANSI/99Usa o SGBD livre PostgreSQL versão 8.0.3

Sem adaptações para execução em clusters de PcsDesenvolvido em JavaJDBC versão 3.0 Console texto/web

Paralelismo em Bancos de Dados Equipe Pargres, Fernanda Baião 56

Pargres Admin

Submissão de consultas on-line

Adição/remocãode NQPs

Atualização do catálogo

Paralelismo em Bancos de Dados Equipe Pargres, Fernanda Baião 57

Comparativo

Intra- consulta

Inter- consulta Atualiz. Baixo

custo Disp. Indep.

de SGBD

Licença

Pargres ■ ■ ■ ■ ■ ■ LPGL

C-JDBC ■ ■ ■ ■ ■ LGPL

PGReplicator ■ ■ ■ GPL Slony-1 ■ ■ ■ BSD PowerDB/FAS ■ ■ ■ ? ■ ?

Clu

ster

de

SG

BD

PowerDB/SVP ■ ■ ■ ? ■ ?

PGCluster ■ ½ ■ BSD Oracle 10g/RAC ■ ■ ■ Com.

SGBD

par

a cl

uste

r

MySQL Cluster ■ ■ ■ ½ ■ GPL/Com.

Page 20: Paralelismo em Banco de Dados - uniriotec.brfernanda.baiao/BDDistPar/05 - BDPar - Paralelismo... · não alterando o esquema lógico do banco de dados ... na literatura Exige a implementação

20

Paralelismo em Bancos de Dados Equipe Pargres, Fernanda Baião 58

Validação ExperimentalBenchmark TPC-H

LineitemPK: orderkey, linenumber

29,999,795 tuplas

LineitemPK: orderkey, linenumber

29,999,795 tuplas

OrdersPK: orderkey

7,500,000 tuplas

OrdersPK: orderkey

7,500,000 tuplas

PartsuppPK: partkey, suppkey

4,000,000 tuplas

PartsuppPK: partkey, suppkey

4,000,000 tuplas

PartPK: partkey

1,000,000 tuplas

PartPK: partkey

1,000,000 tuplas

SupplierPK: suppkey50,000 tuplas

SupplierPK: suppkey50,000 tuplas

CustomerPK: custkey

750,000 tuplas

CustomerPK: custkey

750,000 tuplas

NationPK: nationkey

25 tuplas

NationPK: nationkey

25 tuplas

RegionPK: regionkey

5 tuplas

RegionPK: regionkey

5 tuplas

Fator de escala = 5

Paralelismo em Bancos de Dados Equipe Pargres, Fernanda Baião 59

Validação Experimental

Cluster de 32 nós no INRIACada nó do cluster

Dois processadores 2.2 GHz Opteron, 2 GB RAM, 30 GB HD. Nós interconectados em rede Gigabit EthernetInstância do PostgreSQL 8

Resultados mediram speed-up das consultas variando o número de nós do cluster

Paralelismo em Bancos de Dados Equipe Pargres, Fernanda Baião 60

Validação Experimental

Page 21: Paralelismo em Banco de Dados - uniriotec.brfernanda.baiao/BDDistPar/05 - BDPar - Paralelismo... · não alterando o esquema lógico do banco de dados ... na literatura Exige a implementação

21

Paralelismo em Bancos de Dados Equipe Pargres, Fernanda Baião 61

Trabalhos relacionados e futuros

Fragmentação física [Furtado e Mattoso - COPPE]Reduzir o problema do espaço em disco

Projeto CG-OLAP [Tanaka, Baiao, Diniz – UNIRIO]Aplicação no domínio de Geo-ProcessamentoNovas técnicas e protocolos de comunicação no clusterNovas técnicas de distribuição dos dados

Paralelismo em Bancos de Dados Equipe Pargres, Fernanda Baião 62

Mais Informaçõeshttp://pargres.nacad.ufrj.br

Mattoso et al., ParGRES: uma camada de processamento paralelo de consultas sobre o PostgreSQL, Workshop de Software Livre, FISL 2005

Mattoso et al., ParGRES: Middleware para Processamento Paralelo de Consultas OLAP em Clusters de Banco de DadosSBBD-Demos 2005

http://www.objectweb.org/

Paralelismo em Bancos de Dados Equipe Pargres, Fernanda Baião 63

ConclusãoClusters de SGBDs e Processamento paralelo

Aumento de desempenho de aplicações com acesso intensivo a SGBDsBaixo custo

PargresUma solução leve para alto desempenho de consultas OLAP em clusters de BDPouco intrusivaComponentes já consolidadosCluster de PCs sem uso de hardware específicoDesenvolvimento sobre o PostgreSQL

Padrão SQL-99Software livre

Page 22: Paralelismo em Banco de Dados - uniriotec.brfernanda.baiao/BDDistPar/05 - BDPar - Paralelismo... · não alterando o esquema lógico do banco de dados ... na literatura Exige a implementação

22

Paralelismo emBanco de Dados

Fernanda BaiãoEquipe Pargres

[email protected]://pargres.nacad.ufrj.br