• Nenhum resultado encontrado

de dados para o pgcluster

N/A
N/A
Protected

Academic year: 2021

Share "de dados para o pgcluster"

Copied!
39
0
0

Texto

(1)

pgGrid: Uma implementac¸ ˜ao de fragmentac¸ ˜ao

de dados para o pgCluster

Gustavo Tonini

1

Frank Siqueira (orientador)

1

1

INE - Departamento de Inform ´atica e Estat´ıstica

Universidade Federal de Santa catarina Curso de bacharelado em Ci ˆencias da

Computac¸ ˜ao

(2)

1

Conceitos

PostgreSQL

PgCluster

2

Apresentac¸ ˜ao do pgGrid

Fragmentac¸ ˜ao

Comandos adicionados

Alterac¸ ˜oes no servidor do PostgreSQL

3

Avaliac¸ ˜ao do prot ´otipo

Caracter´ısticas

Desempenho

Conclus ˜oes

Trabalhos futuros

4

Considerac¸ ˜oes finais

(3)

1

Conceitos

PostgreSQL

PgCluster

2

Apresentac¸ ˜ao do pgGrid

Fragmentac¸ ˜ao

Comandos adicionados

Alterac¸ ˜oes no servidor do PostgreSQL

3

Avaliac¸ ˜ao do prot ´otipo

Caracter´ısticas

Desempenho

Conclus ˜oes

Trabalhos futuros

4

Considerac¸ ˜oes finais

(4)

1

Conceitos

PostgreSQL

PgCluster

2

Apresentac¸ ˜ao do pgGrid

Fragmentac¸ ˜ao

Comandos adicionados

Alterac¸ ˜oes no servidor do PostgreSQL

3

Avaliac¸ ˜ao do prot ´otipo

Caracter´ısticas

Desempenho

Conclus ˜oes

Trabalhos futuros

4

Considerac¸ ˜oes finais

(5)

1

Conceitos

PostgreSQL

PgCluster

2

Apresentac¸ ˜ao do pgGrid

Fragmentac¸ ˜ao

Comandos adicionados

Alterac¸ ˜oes no servidor do PostgreSQL

3

Avaliac¸ ˜ao do prot ´otipo

Caracter´ısticas

Desempenho

Conclus ˜oes

Trabalhos futuros

4

Considerac¸ ˜oes finais

(6)

Conceitos

pgGrid Avaliac¸ ˜ao do prot ´otipo Considerac¸ ˜oes finais

PostgreSQL

PgCluster

1

Conceitos

PostgreSQL

PgCluster

2

Apresentac¸ ˜ao do pgGrid

Fragmentac¸ ˜ao

Comandos adicionados

Alterac¸ ˜oes no servidor do PostgreSQL

3

Avaliac¸ ˜ao do prot ´otipo

Caracter´ısticas

Desempenho

Conclus ˜oes

Trabalhos futuros

4

Considerac¸ ˜oes finais

(7)

Conceitos

pgGrid Avaliac¸ ˜ao do prot ´otipo Considerac¸ ˜oes finais

PostgreSQL

PgCluster

PostgreSQL

Sistema gerenciador de banco de

dados objeto-relacional

Implementac¸ ˜ao completa da

ISO/ANSI SQL 1992

Escrito em C

(8)

Conceitos

pgGrid Avaliac¸ ˜ao do prot ´otipo Considerac¸ ˜oes finais

PostgreSQL

PgCluster

(9)

Conceitos

pgGrid Avaliac¸ ˜ao do prot ´otipo Considerac¸ ˜oes finais

PostgreSQL

PgCluster

1

Conceitos

PostgreSQL

PgCluster

2

Apresentac¸ ˜ao do pgGrid

Fragmentac¸ ˜ao

Comandos adicionados

Alterac¸ ˜oes no servidor do PostgreSQL

3

Avaliac¸ ˜ao do prot ´otipo

Caracter´ısticas

Desempenho

Conclus ˜oes

Trabalhos futuros

4

Considerac¸ ˜oes finais

(10)

Conceitos

pgGrid Avaliac¸ ˜ao do prot ´otipo Considerac¸ ˜oes finais

PostgreSQL

PgCluster

PgCluster

Plugin do PostgreSQL para

replicac¸ ˜ao

Caracter´ısticas da replicac¸ ˜ao

Total

Multimaster

S´ıncrona

V ´arios servidores que

cont ˆem os mesmos dados

interoperando

(11)

Conceitos

pgGrid Avaliac¸ ˜ao do prot ´otipo Considerac¸ ˜oes finais

PostgreSQL

PgCluster

(12)

Conceitos

pgGrid Avaliac¸ ˜ao do prot ´otipo Considerac¸ ˜oes finais

PostgreSQL

PgCluster

Avaliac¸ ˜ao do PgCluster

Replica cada comando para todos

os s´ıtios do cluster

Problemas da replicac¸ ˜ao total

Sobrecarga da rede

Replicac¸ ˜ao de dados sem

necessidade expl´ıcita

Queda de s´ıtio compromete a

disponibilidade de todo o

cluster

(13)

Conceitos

pgGrid

Avaliac¸ ˜ao do prot ´otipo Considerac¸ ˜oes finais

Fragmentac¸ ˜ao

Comandos adicionados

Alterac¸ ˜oes no servidor do PostgreSQL

1

Conceitos

PostgreSQL

PgCluster

2

Apresentac¸ ˜ao do pgGrid

Fragmentac¸ ˜ao

Comandos adicionados

Alterac¸ ˜oes no servidor do PostgreSQL

3

Avaliac¸ ˜ao do prot ´otipo

Caracter´ısticas

Desempenho

Conclus ˜oes

Trabalhos futuros

4

Considerac¸ ˜oes finais

(14)

Conceitos

pgGrid

Avaliac¸ ˜ao do prot ´otipo Considerac¸ ˜oes finais

Fragmentac¸ ˜ao

Comandos adicionados

Alterac¸ ˜oes no servidor do PostgreSQL

(15)

Conceitos

pgGrid

Avaliac¸ ˜ao do prot ´otipo Considerac¸ ˜oes finais

Fragmentac¸ ˜ao

Comandos adicionados

Alterac¸ ˜oes no servidor do PostgreSQL

Abordagem

Adic¸ ˜ao de comandos para

definic¸ ˜ao do cluster e dos

fragmentos

Implementac¸ ˜ao de fragmentac¸ ˜ao

vertical, horizontal e h´ıbrida

V ´arios servidores com conjunto

de dados distintos

(16)

Conceitos

pgGrid

Avaliac¸ ˜ao do prot ´otipo Considerac¸ ˜oes finais

Fragmentac¸ ˜ao

Comandos adicionados

Alterac¸ ˜oes no servidor do PostgreSQL

(17)

Conceitos

pgGrid

Avaliac¸ ˜ao do prot ´otipo Considerac¸ ˜oes finais

Fragmentac¸ ˜ao

Comandos adicionados

Alterac¸ ˜oes no servidor do PostgreSQL

1

Conceitos

PostgreSQL

PgCluster

2

Apresentac¸ ˜ao do pgGrid

Fragmentac¸ ˜ao

Comandos adicionados

Alterac¸ ˜oes no servidor do PostgreSQL

3

Avaliac¸ ˜ao do prot ´otipo

Caracter´ısticas

Desempenho

Conclus ˜oes

Trabalhos futuros

4

Considerac¸ ˜oes finais

(18)

Conceitos

pgGrid

Avaliac¸ ˜ao do prot ´otipo Considerac¸ ˜oes finais

Fragmentac¸ ˜ao

Comandos adicionados

Alterac¸ ˜oes no servidor do PostgreSQL

Definic¸ ˜ao de sites

Adiciona um site ao cluster

CREATE SERVER venus.inf.ufsc.br PORT 5432

RECOVERY PORT 8001;

Adiciona uma entrada no cat ´alogo

pg grid site em todos os

sites

(19)

Conceitos

pgGrid

Avaliac¸ ˜ao do prot ´otipo Considerac¸ ˜oes finais

Fragmentac¸ ˜ao

Comandos adicionados

Alterac¸ ˜oes no servidor do PostgreSQL

Definic¸ ˜ao de fragmentos

Adiciona um fragmento ao cluster

CREATE FRAGMENT

nome ON relacao (lista de

atributos) WHERE where clause;

lista de atributos define a fragmentac¸ ˜ao vertical

where clause define a fragmentac¸ ˜ao horizontal

Pode-se utilizar qualquer express ˜ao/operador em SQL;

Adiciona uma entrada no cat ´alogo

pg grid fragment em todos

(20)

Conceitos

pgGrid

Avaliac¸ ˜ao do prot ´otipo Considerac¸ ˜oes finais

Fragmentac¸ ˜ao

Comandos adicionados

Alterac¸ ˜oes no servidor do PostgreSQL

Exemplo

Exemplo

CREATE FRAGMENT produto fln ON produto WHERE

id cidade origem=1;

(21)

Conceitos

pgGrid

Avaliac¸ ˜ao do prot ´otipo Considerac¸ ˜oes finais

Fragmentac¸ ˜ao

Comandos adicionados

Alterac¸ ˜oes no servidor do PostgreSQL

Alocac¸ ˜ao de fragmentos

Aloca um fragmento de dados a um site

PLACE

fragmento ON site;

Adiciona uma entrada no cat ´alogo

pg grid allocation em

todos os sites

(22)

Conceitos

pgGrid

Avaliac¸ ˜ao do prot ´otipo Considerac¸ ˜oes finais

Fragmentac¸ ˜ao Comandos adicionados

Alterac¸ ˜oes no servidor do PostgreSQL

1

Conceitos

PostgreSQL

PgCluster

2

Apresentac¸ ˜ao do pgGrid

Fragmentac¸ ˜ao

Comandos adicionados

Alterac¸ ˜oes no servidor do PostgreSQL

3

Avaliac¸ ˜ao do prot ´otipo

Caracter´ısticas

Desempenho

Conclus ˜oes

Trabalhos futuros

4

Considerac¸ ˜oes finais

(23)

Conceitos

pgGrid

Avaliac¸ ˜ao do prot ´otipo Considerac¸ ˜oes finais

Fragmentac¸ ˜ao Comandos adicionados

Alterac¸ ˜oes no servidor do PostgreSQL

Funcionamento interno do executor

Bibliotecas para acesso/manipulac¸ ˜ao de tuplas

Comandos INSERT, UPDATE E DELETE alteram tuplas

Comando SELECT navegam atrav ´es das tuplas atrav ´es

das bibliotecas de armazenamento

(24)

Conceitos

pgGrid

Avaliac¸ ˜ao do prot ´otipo Considerac¸ ˜oes finais

Fragmentac¸ ˜ao Comandos adicionados

Alterac¸ ˜oes no servidor do PostgreSQL

Alterac¸ ˜oes nas bibliotecas de acesso

Cada func¸ ˜ao de alterac¸ ˜ao deve consultar os cat ´alogos e

verificar a necessidade de replicac¸ ˜ao da operac¸ ˜ao

A func¸ ˜ao de consulta deve verificar os cat ´alogos e

distribuir a consulta

Utiliza func¸ ˜oes do pgCluster para distribuir os dados e as

consultas

2PC* j ´a implementado. Basta chamar as func¸ ˜oes que

coordenam cada passo

(25)

Conceitos

pgGrid

Avaliac¸ ˜ao do prot ´otipo Considerac¸ ˜oes finais

Fragmentac¸ ˜ao Comandos adicionados

(26)

Conceitos pgGrid

Avaliac¸ ˜ao do prot ´otipo

Considerac¸ ˜oes finais

Caracter´ısticas Desempenho Conclus ˜oes Trabalhos futuros

1

Conceitos

PostgreSQL

PgCluster

2

Apresentac¸ ˜ao do pgGrid

Fragmentac¸ ˜ao

Comandos adicionados

Alterac¸ ˜oes no servidor do PostgreSQL

3

Avaliac¸ ˜ao do prot ´otipo

Caracter´ısticas

Desempenho

Conclus ˜oes

Trabalhos futuros

4

Considerac¸ ˜oes finais

(27)

Conceitos pgGrid

Avaliac¸ ˜ao do prot ´otipo

Considerac¸ ˜oes finais

Caracter´ısticas

Desempenho Conclus ˜oes Trabalhos futuros

Comparac¸ ˜ao com outros SGBD

Caracter´ıstica

MySQL

Oracle

DB2

pgGrid

Consultas dist.

Sim

Sim

Sim

Sim

Multi-mestre

Sim

Sim

Sim

Sim

Rep. parcial

N ˜ao

Sim

Sim

Sim

Rep. s´ıncrona

Sim

Sim

Sim

Sim

Rep. ass´ıncrona

N ˜ao

N ˜ao

N ˜ao

N ˜ao

Fragmentac¸ ˜ao

Sim

Sim

Sim

Sim

Def. de regras de frag.

N ˜ao

Sim

N ˜ao

Sim

Integ. ref. distribu´ıda

N ˜ao

N ˜ao

N ˜ao

Sim

(28)

Conceitos pgGrid

Avaliac¸ ˜ao do prot ´otipo

Considerac¸ ˜oes finais

Caracter´ısticas Desempenho Conclus ˜oes Trabalhos futuros

1

Conceitos

PostgreSQL

PgCluster

2

Apresentac¸ ˜ao do pgGrid

Fragmentac¸ ˜ao

Comandos adicionados

Alterac¸ ˜oes no servidor do PostgreSQL

3

Avaliac¸ ˜ao do prot ´otipo

Caracter´ısticas

Desempenho

Conclus ˜oes

Trabalhos futuros

4

Considerac¸ ˜oes finais

(29)

Conceitos pgGrid

Avaliac¸ ˜ao do prot ´otipo

Considerac¸ ˜oes finais

Caracter´ısticas

Desempenho

Conclus ˜oes Trabalhos futuros

(30)

Conceitos pgGrid

Avaliac¸ ˜ao do prot ´otipo

Considerac¸ ˜oes finais

Caracter´ısticas

Desempenho

Conclus ˜oes Trabalhos futuros

(31)

Conceitos pgGrid

Avaliac¸ ˜ao do prot ´otipo

Considerac¸ ˜oes finais

Caracter´ısticas

Desempenho

Conclus ˜oes Trabalhos futuros

Consultas na relac¸ ˜ao fragmentada

Consulta

pgCluster

pgGrid

SELECT * FROM PRODUTO

5.3s

16.5s

SELECT * FROM PRODUTO, CIDADE

WHERE

5.7s

19.3s

PRODUTO.CIDADE ID = CIDADE.ID

SELECT * FROM PRODUTO

WHERE

4s

2.3s

(32)

Conceitos pgGrid

Avaliac¸ ˜ao do prot ´otipo

Considerac¸ ˜oes finais

Caracter´ısticas

Desempenho

Conclus ˜oes Trabalhos futuros

Outras medic¸ ˜oes para a relac¸ ˜ao fragmentada

Medic¸ ˜ao

pgCluster

pgGrid

Tempo para atualizac¸ ˜ao

1.8s

0.9s

Carga de trabalho durante a consulta

20%

38%

Pacotes transmitidos durante atualizac¸ ˜ao

16

4

Pacotes de rede transmitidos consulta

0

400020

(33)

Conceitos pgGrid

Avaliac¸ ˜ao do prot ´otipo

Considerac¸ ˜oes finais

Caracter´ısticas Desempenho Conclus ˜oes Trabalhos futuros

1

Conceitos

PostgreSQL

PgCluster

2

Apresentac¸ ˜ao do pgGrid

Fragmentac¸ ˜ao

Comandos adicionados

Alterac¸ ˜oes no servidor do PostgreSQL

3

Avaliac¸ ˜ao do prot ´otipo

Caracter´ısticas

Desempenho

Conclus ˜oes

Trabalhos futuros

4

Considerac¸ ˜oes finais

(34)

Conceitos pgGrid

Avaliac¸ ˜ao do prot ´otipo

Considerac¸ ˜oes finais

Caracter´ısticas Desempenho

Conclus ˜oes

Trabalhos futuros

Conclus ˜oes

Flexibilidade, escalabilidade e transpar ˆencia;

Otimizac¸ ˜ao de consultas precisa ser melhor trabalhada;

Poucas opc¸ ˜oes em BDD atualmente no mercado;

PostgreSQL foi uma boa escolha para a implementac¸ ˜ao;

Viabilidade do trabalho atestada pelas avaliac¸ ˜oes

(35)

Conceitos pgGrid

Avaliac¸ ˜ao do prot ´otipo

Considerac¸ ˜oes finais

Caracter´ısticas Desempenho Conclus ˜oes Trabalhos futuros

1

Conceitos

PostgreSQL

PgCluster

2

Apresentac¸ ˜ao do pgGrid

Fragmentac¸ ˜ao

Comandos adicionados

Alterac¸ ˜oes no servidor do PostgreSQL

3

Avaliac¸ ˜ao do prot ´otipo

Caracter´ısticas

Desempenho

Conclus ˜oes

Trabalhos futuros

4

Considerac¸ ˜oes finais

(36)

Conceitos pgGrid

Avaliac¸ ˜ao do prot ´otipo

Considerac¸ ˜oes finais

Caracter´ısticas Desempenho Conclus ˜oes

Trabalhos futuros

Trabalhos futuros

Testes com cen ´arios mais complexos

Otimizac¸ ˜ao de consultas (verificar cl ´ausula where dos

comandos update e delete)

Remoc¸ ˜ao da necessidade de servidores de replicac¸ ˜ao

(camada adicional do pgCluster)

(37)

Conceitos pgGrid Avaliac¸ ˜ao do prot ´otipo

Considerac¸ ˜oes finais

Considerac¸ ˜oes finais

1

Conceitos

PostgreSQL

PgCluster

2

Apresentac¸ ˜ao do pgGrid

Fragmentac¸ ˜ao

Comandos adicionados

Alterac¸ ˜oes no servidor do PostgreSQL

3

Avaliac¸ ˜ao do prot ´otipo

Caracter´ısticas

Desempenho

Conclus ˜oes

Trabalhos futuros

4

Considerac¸ ˜oes finais

(38)

Conceitos pgGrid Avaliac¸ ˜ao do prot ´otipo

Considerac¸ ˜oes finais

Considerac¸ ˜oes finais

Reposit ´orio do projeto

http://pgfoundry.org/projects/pggrid/

Download do c ´odigo-fonte

https://svn.inf.ufsc.br/gustavotonini/pgGrid/

Projetos relacionados (replicac¸ ˜ao total)

pgPool (master-slave)

Slony (master-slave)

(39)

Conceitos pgGrid Avaliac¸ ˜ao do prot ´otipo

Considerac¸ ˜oes finais

Considerac¸ ˜oes finais

Perguntas?

Referências

Documentos relacionados

A disciplina de Direitos do Autor tem como objetivo propiciar aos acadêmicos uma visão teórica e prática deste ramo do direito que estuda a proteção das

(1.79) Esta equa¸c˜ao representa a f´ormula geral para a fun¸c˜ao peso em amplitude verdadeira do empilhamento 2.5D de uma configura¸c˜ao de entrada para uma de sa´ıda,

MQS Adulto Junior Jogos Paralímpicos 57,0 N/A Categoria Adulto e Junior Paralímpica Campeonato Mundial 55,0 52,0.. Campeonato Regional 52,0 47,0 Jogos Parapan-Americanos

A mesma estratégia foi utilizada durante a Residência Social, quando mantivemos contato e participamos de reuniões com a Rede para Desenvolvimento do Gênero (R.D.G.)

As vezes serve a particula Ne, para fazer o verbo negativo, & esta he a mais usada entre os Ambundos; tambem se achaõ algũas vezes o Que, & o Ne, juntamente antes do

"A terapia do shiatsu é uma forma de manipulação administrada com os polegares, os dedos e a palma das mãos, sem o uso de qualquer aparelho mecânico ou de outro tipo, para

Estratégias corporativas pautadas em serviços ou produtos, posicionamento de mercado, planejamento estratégico, marketing, comunicação, relacionamento, análise de ambiente de

Objetivo da Pesquisa: A pesquisa tem como objetivo geral avaliar a qualidade de vida dos participantes do projeto social “Idoso Sim, Velho Não” do 2º Batalhão de Bombeiros Militar