de dados para o pgcluster

Documentos relacionados
pggrid: uma Implementação de Fragmentação de Dados para o PostgreSQL

Programação com Acesso a Banco de Dados

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo

Projeto de Banco de Dados Distribuído Proj o e j to t o de d B a B nc n o o d e d Da D do d s o D i D str t ibu b í u do d s

Bancos de Dados III. Replicação de Dados. Rogério Costa Replicação

Introdução ao SQL. Aécio Costa

Bancos de Dados III. Bancos de Dados Distribuídos Especificação e Projeto Parte 1. Rogério Costa rogcosta@inf.puc-rio.br

Sumário. Administração de Banco de dados Módulo 12. Ilustração Backup-Recovery. Recuperação (Recovery) - Definição

Banco de Dados. Um momento crucial na organização dos dados é a forma com que cadastramos estes dados, a estrutura de armazenamento que criamos.

LINGUAGEM SQL. DML - Linguagem de Manipulação de Dados

PostgreSQL. André Luiz Fortunato da Silva Analista de Sistemas CIRP / USP alf@cirp.usp.br

Sistemas de Banco de Dados

Introdução a Sistemas de Bancos de Dados

Banco de Dados. Marcio de Carvalho Victorino Exercícios SQL

Manipulação de Banco de Dados com Java. Ms. Bruno Crestani Calegaro Maio/ 2015

PHP INTEGRAÇÃO COM MYSQL PARTE 1

Roteiro 9 - SQL Básico: chave estrangeira, operadores de comparação e operadores booleanos

Linguagem de Consulta - SQL

O que são Bancos de Dados?

BANCO DE DADOS. info 3º ano. Prof. Diemesleno Souza Carvalho

Material de Banco de Dados

Banco de Dados. Profª. Ana Leda

Armazenamento organizado facilitando SCRUD; Agiliza processo de desenvolvimento de sistemas;

Lista de Exercícios 04 (ListEx4).

A & F Consultoria em Sistemas e Treinamentos 2014 af.tecnoserv@gmail.com. A linguagem SQL. Autor: Hélio de Almeida Fonte: Wikipédia

Disciplina de Banco de Dados Parte V

Dados. Qualquer elemento (aspecto, fato, medida etc.) representativo, disponível e coletável na realidade. fatos no estado bruto, conforme Platão;

BD Oracle. Licenciatura em Engenharia Informática e Computação. Bases de Dados 2003/04

P L A N I F I C A Ç Ã O A N U A L

Ensino Técnico Integrado ao Médio FORMAÇÃO PROFISSIONAL. Plano de Trabalho Docente 2014

GBC043 Sistemas de Banco de Dados. Introdução. Ilmério Reis da Silva UFU/FACOM

Gestão de Tecnologia da Informação

Modelo Cliente/Servidor Por HIARLY ALVES

QUESTINAMENTOS AO EDITAL DE CONCORRÊNCIA 01/2013

Faculdade Pitágoras 16/08/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet

Banco de Dados Avançados Banco de Dados Ativo

Faculdade Pitágoras. Curso Superior de Tecnologia: Banco de Dados. Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL

AUDITORIA EM BANCO DE DADOS COM UTILIZAÇÃO DE REGRAS

Linguagem de Consulta Estruturada SQL- DML

Introdução à Engenharia da Computação. Banco de Dados Professor Machado

SQL Introdução ao Oracle

Projeto de Distribuição de Banco de Dados

17/10/2008. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Redes de Computadores

Banco de Dados. Prof. Antonio

SISTEMA TYR DIAGRAMAS DE CLASSE E SEQUÊNCIA Empresa: Academia Universitária

Banco de Dados II. Triggers e Functions. Prof. Moser Fagundes. Curso TSI Instituto Federal Sul-Rio-Grandense (IFSul) Campus Charqueadas

Os dados no MySQL são armazenado em tabelas. Uma tabela é uma colecção de informação relacionada e consiste em colunas e linhas.

Administração de Usuários e Privilégios no Banco de Dados

IMPLEMENTAÇÃO DE BANCO DE DADOS

SQL Linguagem de Definição de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Ensino Técnico Integrado ao Médio FORMAÇÃO PROFISSIONAL. Plano de Trabalho Docente 2014

Gerenciamento de Dados e Informação Fernando Fonseca. Graduação

<Insert Picture Here> Comparativo entre DBSE e DBEE

SGBDs Móveis. Sumário 12/06/11. Emmanuel Férrer & Gabriela Fernanda. Introdução. Desafios do armazenamento. SQL Anywhere Studio.

Sumário Introdução Breve História da Linguagem SQL l 0.3 Características da Linguagem SQL A Composição deste Livro 3

Persistência de Dados em Java com JPA e Toplink

Banco de dados. Linguagens de Banco de Dados II. Wedson Quintanilha da Silva -

SISTEMAS DISTRIBUÍDOS

Prova de pré-requisito

Sistemas Gerenciadores de Banco de Dados Distribuídos

Conceito de Rede e seus Elementos. Prof. Marciano dos Santos Dionizio

CICLO DE VIDA DE UM BD

ADMINISTRAÇÃO DE BANCOS DE DADOS MÓDULO 13

DO BÁSICO AO AVANÇADO PARA MANIPULAÇÃO E OTIMIZAÇÃO DE DADOS. Fábio Roberto Octaviano

Bancos de Dados Distribuídos

Programação Orientada a Objetos (DPADF 0063)

Introdução a Banco de Dados Aula 03. Prof. Silvestri

SQL Structured Query Language

Qualidades. Atributos de Qualidade. Atributos de Qualidade. Categorias de Qualidades. Arquitecturas de Software

SOFTWARES DE GEOPROCESSAMENTO

Sistemas Gerenciadores de Bancos de Dados

Prof.: Clayton Maciel Costa

Diagrama lógico da rede da empresa Fácil Credito

SERVIDORES REDES E SR1

Triggers. um trigger permite que uma determinada sequência de comandos SQL seja accionada quando um determinado evento ocorre.

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

Introdução. Por que um SBD? inconsistência e redundância de dados;

Triggers e Regras. Fernando Lobo. Base de Dados, Universidade do Algarve

trigger insert, delete, update

CEFET.PHB - PI. Plano de Ensino. Banco de Dados. Plano de Ensino. Plano de Ensino. Plano de Ensino - Conteúdo. Plano de Ensino - Conteúdo

DISPONIBILIDADE TOTAL COM REPLICAÇÃO BIDIRECIONAL E POSTGRESQL

3. Faça uma breve descrição sobre a topologia da rede e o Active Directory-AD DISCIPLINA DE ARQUITETURA FECHADA WINDOWS SERVER

WSUS. Windows Server Update Services

DESENVOLVIMENTO DE SOFTWARE

AULA 2 INTERAÇÃO COM O BANCO DE DADOS

Disciplina: Unidade V: Prof.: Período:

Sistemas Operacionais Suportados Agentes

Introdução ao SQL. O que é SQL?

INSTALANDO UM SERVIDOR WINDOWS SERVER 2012 R2 SERVER CORE

PREFEITURA MUNICIPAL DE BOM DESPACHO-MG PROCESSO SELETIVO SIMPLIFICADO - EDITAL 001/2009 CARGO: COORDENADOR DE INCLUSÃO DIGITAL CADERNO DE PROVAS

Programação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

Transcrição:

: Uma implementação de fragmentação de dados para o pgcluster Gustavo Tonini 1 Frank Siqueira (orientador) 1 1 INE - Departamento de Informática e Estatística Universidade Federal de Santa catarina Curso de bacharelado em Ciências da Computação Trabalho de conclusão de curso, 2009

1 Conceitos 2 Apresentação do 3 4

1 Conceitos 2 Apresentação do 3 4

1 Conceitos 2 Apresentação do 3 4

1 Conceitos 2 Apresentação do 3 4

1 Conceitos 2 Apresentação do 3 4

Conceitos Sistema gerenciador de banco de dados objeto-relacional Implementação completa da ISO/ANSI SQL 1992 Escrito em C Servidor centralizado

Conceitos

1 Conceitos 2 Apresentação do 3 4

Conceitos Plugin do para replicação da replicação Total Multimaster Síncrona Vários servidores que contêm os mesmos dados interoperando

Conceitos

Avaliação do Replica cada comando para todos os sítios do cluster Problemas da replicação total Sobrecarga da rede Replicação de dados sem necessidade explícita Queda de sítio compromete a disponibilidade de todo o cluster

1 Conceitos 2 Apresentação do 3 4

Conceitos

Abordagem Conceitos Adição de comandos para definição do cluster e dos fragmentos Implementação de fragmentação vertical, horizontal e híbrida Vários servidores com conjunto de dados distintos interoperando

no

1 Conceitos 2 Apresentação do 3 4

Definição de sites Conceitos Adiciona um site ao cluster CREATE SERVER venus.inf.ufsc.br PORT 5432 RECOVERY PORT 8001; Adiciona uma entrada no catálogo pg grid site em todos os sites Sincroniza todos os sites

Definição de fragmentos Adiciona um fragmento ao cluster CREATE FRAGMENT nome ON relacao (lista de atributos) WHERE where clause; lista de atributos define a fragmentação vertical where clause define a fragmentação horizontal Pode-se utilizar qualquer expressão/operador em SQL; Adiciona uma entrada no catálogo pg grid fragment em todos os sites

Exemplo Conceitos Exemplo CREATE FRAGMENT produto fln ON produto WHERE id cidade origem=1;

Alocação de fragmentos Aloca um fragmento de dados a um site PLACE fragmento ON site; Adiciona uma entrada no catálogo pg grid allocation em todos os sites Envia os dados do fragmento para o site

1 Conceitos 2 Apresentação do 3 4

Funcionamento interno do executor Bibliotecas para acesso/manipulação de tuplas Comandos INSERT, UPDATE E DELETE alteram tuplas Comando SELECT navegam através das tuplas através das bibliotecas de armazenamento

Alterações nas bibliotecas de acesso Cada função de alteração deve consultar os catálogos e verificar a necessidade de replicação da operação A função de consulta deve verificar os catálogos e distribuir a consulta Utiliza funções do pgcluster para distribuir os dados e as consultas 2PC* já implementado. Basta chamar as funções que coordenam cada passo

1 Conceitos 2 Apresentação do 3 4

Comparação com outros SGBD Característica MySQL Oracle DB2 Consultas dist. Sim Sim Sim Sim Multi-mestre Sim Sim Sim Sim Rep. parcial Não Sim Sim Sim Rep. síncrona Sim Sim Sim Sim Rep. assíncrona Não Não Não Não Sim Sim Sim Sim Def. de regras de frag. Não Sim Não Sim Integ. ref. distribuída Não Não Não Sim Protocolo de commit 2PC 2PC 2PC 2PC

1 Conceitos 2 Apresentação do 3 4

Caso de teste (modelo)

Caso de teste (alocação)

Consultas na relação fragmentada Consulta pgcluster 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 PRODUTO.NOME = PROD500001

Outras medições para a relação fragmentada Medição pgcluster Tempo para atualização 1.8s 0.9s Carga de trabalho durante a consulta 20% 38% Pacotes transmitidos durante atualização 16 4 Pacotes de rede transmitidos consulta 0 400020 Espaço ocupado pelo banco de dados 30MB 7.57MB

1 Conceitos 2 Apresentação do 3 4

Conceitos Flexibilidade, escalabilidade e transparência; Otimização de consultas precisa ser melhor trabalhada; Poucas opções em BDD atualmente no mercado; foi uma boa escolha para a implementação; Viabilidade do trabalho atestada pelas avaliações realizadas

1 Conceitos 2 Apresentação do 3 4

Conceitos Testes com cenários mais complexos Otimização de consultas (verificar cláusula where dos comandos update e delete) Remoção da necessidade de servidores de replicação (camada adicional do pgcluster)

1 Conceitos 2 Apresentação do 3 4

Repositório do projeto http://pgfoundry.org/projects/pggrid/ Download do código-fonte https://svn.inf.ufsc.br/gustavotonini// Projetos relacionados (replicação total) pgpool (master-slave) Slony (master-slave) Bucardo (replicação assíncrona)

Perguntas? Conceitos Perguntas?