Bancos de Dados III. Projeto de Base de Dados Distribuída



Documentos relacionados
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

Projeto de Bancos de Dados Distribuídos (Parte 01)

14/03/12. Tipos de fragmentação. Projeto de Bancos de Dados Distribuídos (Parte 01) Correção das regras de fragmentação. Grau de fragmentação

Projeto de Bancos de Dados Distribuídos

Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri. Banco de Dados Processamento e Otimização de Consultas

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

Integridade dos Dados

Faculdade Lourenço Filho - ENADE

Fundamentos de Banco de Dados

TIN0036 Bancos de Dados Distribuídos e Data Warehousing. PRIMEIRA LISTA DE EXERCÍCIOS Individual GABARITO

BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING

Banco de Dados Arquiteturas para SGBDs

Modelos. Comunicação com clientes

Álgebra Relacional. Conjunto de operações que usa uma ou duas relações como entrada e gera uma relação de saída. Operações básicas:

Disciplina: Suprimentos e Logística II Professor: Roberto Cézar Datrino Atividade 3: Transportes e Armazenagem

Prof.: Clayton Maciel Costa

RAID. Propõe o aumento da confiabilidade e desempenho do armazenamento em disco. RAID (Redundant Array of Independent Disks )

Noções de. Microsoft SQL Server. Microsoft SQL Server

Introdução ao SQL. Aécio Costa

14/03/12. Fragmentação Vertical. Projeto de Bancos de Dados Distribuídos (Parte 02) Complexidade. Objetivo. Complexidade. Abordagens Heurísticas

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

Softwares Aplicativos Banco de Dados

Modelagem de Dados. Aula 02 Arquitetura e Álgebra Relacional. Maxwell Anderson

RAID 1. RAID 0 2. RAID 1

MÓDULO 8 ARQUITETURA DOS SISTEMAS DE BANCO DE DADOS

OBJETIVOS. Orientações para Projetos de BD; Dependências Funcionais (DFs): Definição de DF; Regras de inferência para DFs.

Dicas de Projeto Lógico Relacional

Sistemas de Banco de Dados Aspectos Gerais de Banco de Dados

MODELO CLIENTE SERVIDOR

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

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

Sistemas Operacionais

Éverton Alves de Oliveira. Banco de Dados Distribuído no Desenvolvimento de Aplicações Comerciais

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Projeto de Distribuição de Banco de Dados

4 Um Exemplo de Implementação

Uma expressão básica em SQL consiste em três cláusulas: select, from e where.

SISTEMAS DISTRIBUÍDOS

INE Banco de Dados II. Sumário

Persistência e Banco de Dados em Jogos Digitais

Modelagem de Banco de Dados através do ERwin

Tópicos em Sistemas Distribuídos. Modelos de Comunicação

Consultas SQL com mais de uma 01 tabela

NOME SEXO CPF NASCIMENTO SALARIO

UNIPAC - UNIVERSIDADE PRESIDENTE ANTÔNIO CARLOS FACULDADE DE CIÊNCIA DA COMPUTAÇÃO E COMUNICAÇÃO SOCIAL CURSO DE CIÊNCIA COMPUTAÇÃO

de dados para o pgcluster

Motivação. Aplicações precisam acessar o BD Linguagens BD X Linguagens Programação. paradigmas diferentes (impedance mismatch)

MASSACHUSETTS INSTITUTE OF TECHNOLOGY SLOAN SCHOOL OF MANAGEMENT

Capítulo 7 CAMADA DE TRANSPORTE

Multiprocessamento. Multiprocessadores com memória distribuída (multicomputador)

Arquitetura de BDs Distribuídos. Victor Amorim - vhca Pedro Melo pam2

Modelo de Entidade e Relacionamento (MER) - Parte 07

Roteiro 2 Conceitos Gerais

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

Checklist de Projeto de Data Warehouse

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008

Engenharia de Software III

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

Aula 03 - Modelagem em PPLIM

Sistemas Distribuídos. Ricardo Ribeiro dos Santos

Manual AGENDA DE BACKUP

Disciplina de Banco de Dados Introdução

UFF-Fundamentos de Sistemas Multimídia. Redes de Distribuição de Conteúdo (CDN)

Engenharia de Sistemas Computacionais

Manual AGENDA DE BACKUP

BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING

Prof. Marcelo Machado Cunha

Modelo de Dados. Modelos Conceituais

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, MODELAGEM DE DADOS. Aula 1. Prof. Rafael Dias Ribeiro. M.Sc.

Prof.: Roberto Franciscatto. Capítulo 1.2 Aspectos Gerais

15/03/2010. Análise por pontos de função. Análise por Pontos de Função. Componentes dos Pontos de Função. Componentes dos Pontos de Função

MANUAL DO USUÁRIO SORE Sistema Online de Reservas de Equipamento. Toledo PR. Versão Atualização 26/01/2009 Depto de TI - FASUL Página 1

A Gerência em Redes de Computadores

Administrando os canais de distribuição (aula 2)

Modelo de Dados Relacional Restrições de um Banco de Dados Relacional

Fernando Albuquerque - fernando@cic.unb.br. Bancos de Dados. Fernando Albuquerque fernando@cic.unb.br

Redes de Computadores

Documento de Requisitos Sistema WEB GEDAI

Márcio Leandro Moraes Rodrigues. Frame Relay

Roteiro. Modelo de Dados Relacional. Processo de Projeto de Banco de Dados. BCC321 - Banco de Dados I. Ementa. Posicionamento.

Bancos de Dados Paralelos. Alunos: ALLAN ROGER BELLO WILLIAN DIAS TAMAGI

Principais Conceitos. Modelo Relacional representa o banco de dados como uma coleção de relações Tupla Atributos Relação Domínio

ADMINISTRAÇÃO DE SISTEMA OPERACIONAL DE REDE (AULA 5)

Curso Superior de Tecnologia em BD

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

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Aula 3 SBD Modelo Entidade Relacionamento Parte 1. Profa. Elaine Faria UFU

Hoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados.

Projeto Conceitual (geralmente no modelo E-R):

2 Diagrama de Caso de Uso

Oficina. Praça das Três Caixas d Água Porto Velho - RO

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, MODELAGEM DE DADOS. Aula 2. Prof. Rafael Dias Ribeiro. M.Sc.

Telecomunicações. Prof. André Y. Kusumoto

Introdução às Bases de Dados

Transcrição:

Bancos de Dados III Fragmentação de Tabelas Rogério Costa rogcosta@inf.puc-rio.br 1 Projeto de Base de Dados Distribuída Top-down Projeto de um novo sistema / ambiente Sistemas homogêneos Bottom-up O banco de dados já existe em diversos sites possivelmente utilizado / carregado por diferentes sistemas 2 1

Projeto de Bases de Dados Distribuídas Posso simplesmente distribuir as relações pelos nós? Posso replicar todas as relações em todos os nós? Posso colocar parte das relações em nós diferentes? 3 Projeto de Bases de Dados Distribuídas Posso simplesmente distribuir as relações pelos nós? Devo considerar fatores como: localização dos usuários, tipos (leitura / escrita) de acessos, quantidade de acessos, freqüência de acessos, existência de hot spots, importância das dados e grau de disponibilidade necessário, segurança das informações, desempenho esperado (existência de SL e QoS Requirements), confiabilidade da rede, configurações dos equipamentos, sistemas concorrentes à base de dados, integridade dos dados,... 4 2

Projeto de Bases de Dados Distribuídas Posso replicar todas as relações em todos os nós? Muitas vezes é difícil para ambientes OLTP: espaço, integridade, atualização,... Posso colocar parte das relações em nós diferentes? Como? través de técnicas de fragmentação (que serão agora discutidas...) 5 Fragmentação de Relações Dois tipos básicos : Horizontal Vertical Estratégias mistas ou derivadas também podem ser adotadas. lgumas Questões... Como e quanto fragmentar? Como verificar correção da fragmentação? 6 3

Fragmentação de Relações dotando fragmentos como unidade de distribuição... Transações paralelas em fragmentos diferentes Paralelismo e acesso a menor volume de dados => desempenho Visões que necessitam acessar dados de múltiplos fragmentos Processamento extra => possível queda no desempenho Manutenção de integridade mais difícil! 7 Fragmentação Horizontal - Exemplo PROJ1 : projetos com orçamento menor que $200,000 PROJ2 : projetos com orçamento maior ou igual a $200,000 PROJ 1 PNO PNME BUDGET LOC P1 Instrumentation 150000 Montreal P2 Database Develop. 135000 New York PROJ PNO PNME BUDGET LOC P1 Instrumentation 150000 Montreal P2 Database Develop. 135000 New York P3 CD/CM 250000 New York P4 Maintenance 310000 Paris P5 CD/CM 500000 Boston PROJ 2 PNO PNME BUDGET LOC P3 CD/CM 250000 New York P4 Maintenance 310000 Paris P5 CD/CM 500000 Boston 8 4

Fragmentação Vertical - Exemplo PROJ 1 : informação sobre orçamentos PROJ 2 : informações sobre nome e localização PROJ PNO PNME BUDGET LOC P1 Instrumentation 150000 Montreal P2 Database Develop. 135000 New York P3 CD/CM 250000 New York P4 Maintenance 310000 Paris P5 CD/CM 500000 Boston PROJ 1 PNO BUDGET P1 150000 P2 135000 P3 250000 P4 310000 P5 500000 PROJ2 PNO PNME LOC P1 Instrumentation Montreal P2 Database Develop. New York P3 CD/CM New York P4 Maintenance Paris P5 CD/CM Boston 9 Correção da Fragmentação Completitude decomposição de uma relação R em fragmentos R 1, R 2,...,R n é completa se e somente se cada item em R pode ser encontrado em algum R i Reconstrução Se uma relação R é decomposta em fragmentos R 1, R 2,..., R n, então existe algum operador relacional tal que R = 1 i n R i Disjunção Se uma relação R é decomposta em fragmentos R 1, R 2,..., R n, e um item de dado d i está em R j, então d i não pode estar em qualquer outro fragmento R k (k j ). 10 5

Estratégias de locação Não-replicada Particionada: cada fragmento reside em um site somente Replicada Totalmente replicada: cada fragmento em cada site Parcialmente replicada: cada fragmento em alguns sites Regra geral Replicação é vantajosa se: read-only queries update queries 1 11 Fragmentação Fragmentação Horizontal Fragmentação Horizontal Primária (FHP) Fragmentação Horizontal Derivada (FHD) Fragmentação Vertical Fragmentação Híbrida 12 6

FHP Modelo Exemplo SKILL TITLE, SL EMP L 1 PROJ ENO, ENME, TITLE PNO, PNME, BUDGET, LOC SG L 2 L 3 ENO, PNO, RESP, DUR 13 FHP Dado R[ 1, 2,, n ], um predicado simples p j é: p j : i θ Valor onde: θ {=,<,,>,, }, Valor D i e D i é o domínio de i. Para cada R definir Pr = {p 1, p 2,,p m } Exemplo PNOME = manutenção ORCM 200000 14 7

FHP Predicados Minterm Conjunção de predicados simples, que podem aparecer na forma natural ou na negação Examplos m 1 : PNME="Maintenance" BUDGET 200000 m 2 : NOT(PNME="Maintenance") BUDGET 200000 m 3 : PNME= "Maintenance" NOT(BUDGET 200000) m 4 : NOT(PNME="Maintenance") NOT(BUDGET 200000 15 FHP Seletividade do predicado: sel(p i ) Número de tuplas de uma relação que seriam acessadas por uma consulta de usuário especificada de acordo com o predicado pi Freqüência de acesso: acc(q i ) freqüência de acesso aos dados por uma aplicação q i Pode ser definida também a freqüência de acesso de um predicado 16 8

FHP Definição: R j = σ Fj (R ), 1 j w onde F j é uma condição de seleção, que é (preferencialmente) um predicado ssim: Uma fragmentação horizontal R i de uma relação R consiste de todas as tuplas de R que satisfazem o predicado P i Logo: Dado um conjunto de predicados P, há tantos fragmentos horizontais possíveis de R quando o número de predicados 17 FHP Exemplos: Duas relações candidatas: PY e PROJ plicação: verifica salário e determina aumentos Registro de funcionários é mantido em dois sites => aplicação executada em dois sites Predicados simples: p 1 : SL 30000 p 2 : SL > 30000 Pr = {p 1,p 2 } é completa e mínima 18 9

FHP - Exemplo PY 1 PY 2 TITLE SL TITLE SL Mech. Eng. 27000 Elect. Eng. 40000 Programmer 24000 Syst. nal. 34000 19 FHP Exemplos: Relação PROJ plicação 1: verifica dados de acordo com local plicação 2: verifica dados de acordo com orçamento Passo 1- montar predicados simples Passo 2- montar predicados minterm Passo 3- eliminar fragmentos desnecessários 20 10

FHP Exemplo Fragmentos Minterm deixados após eliminação m 1 : (LOC = Montreal ) (BUDGET 200000) m 2 : (LOC = Montreal ) (BUDGET > 200000) m 3 : (LOC = New York ) (BUDGET 200000) m 4 : (LOC = New York ) (BUDGET > 200000) m 5 : (LOC = Paris ) (BUDGET 200000) m 6 : (LOC = Paris ) (BUDGET > 200000) 21 FHP Corretude Completitude Cada item existente em uma relação R deve ser encontrado em um de seus fragmentos R i Reconstrução Se uma relação R é fragmentada em F R = {R 1,R 2,,R r } R= Ri FR R i Disjunção Predicados minterm que formam a base da fragmentação devem ser mutuamente exclusivos 22 11

Fragmentação Horizontal Derivada FHD: Definida em uma relação membro de uma ligação (L i ) de acordo com uma operação de seleção especificada no proprietário SKILL TITLE, SL EMP L 1 PROJ ENO, ENME, TITLE PNO, PNME, BUDGET, LOC SG L 2 L 3 ENO, PNO, RESP, DUR 23 FHD - Exemplo Dada uma ligação L 1 onde proprietário(l 1 )=SKILL e EMP membro(l 1 )=EMP 1 Onde EMP 1 = EMP semijoin SKILL 1 EMP 2 = EMP semijoin SKILL 2 SKILL 1 = σ SL 30000 (SKILL) SKILL 2 = σ SL>30000 (SKILL) ENO ENME TITLE E3. Lee Mech. Eng. E4 J. Miller Programmer E7 R. Davis Mech. Eng. EMP 2 ENO ENME TITLE E1 J. Doe Elect. Eng. E2 M. Smith Syst. nal. E5 B. Casey Syst. nal. E6 L. Chu Elect. Eng. E8 J. Jones Syst. nal. 24 12

locação de Fragmentos Problema: Dados F = {F 1, F 2,, F n } S ={S 1, S 2,, S m } Q = {q 1, q 2,, q q } => fragmentos => sites => aplicações Encontrar a alocação ótima de F em S. locação ótima envolve: Custo mínimo Comunicação + armazenamento + processamento(leitura e atualização) Tempo (muitas vezes) Desempenho Tempo de resposta e/ou throughput Restrições Restrições em cada site. Ex: limite de armazenamento e processamento 25 Resquisitos de Informação Informação de BD Seletividade dos fragmentos Tamanho dos fragmentos Informação de aplicação Número de leituras de uma consulta a um fragmento Número de modificações de uma consulta a um fragmento Matriz indicando quais consultas lêem quais fragmentos Matriz indicando quais consultas modificam quais fragmentos Site de origem de cada consulta 26 13

Resquisitos de Informação Informação de rede Custo de comunicação por pacote entre dois sites Tamanho do pacote Informação de site Custo unitário de armazenamento dos dados Custo unitário de processamento dos dados 27 Modelo de locação Modelo Geral min(custototal) Sujeito a x ij = 1 se fragmento F i é armazenado no site S j 0 caso contrário Restrição de tempo de resposta Restrição de armazenamento Restrição de capacidade processamento Variável de decisão: 28 14

Modelo de locação Custo Total todas consultas todos sites Custo de processamento + Custo de armazenamento no site todos fragmentos Custo de armazenamento (do fragmento F j em S k ) (custo unitário de armazenamento S k ) (tamanho de F j ) x jk Custo de processamento (para uma consulta) componente processamento + componente transmissão 29 Modelo de locação Custo de processamento de consulta Componente processamento custo acesso + custo integridade + custo concorrência Custo de acesso (núm. acessos de atual. + núm acessos de leit.) todos sites todos fragmentos x ij custo de processamento local no site Custo manutenção de integridade e controle concorrência Podem ser calculados de forma equivalente 30 15

Modelo de locação Custo de processamento de consulta Componente transmissão custo processar atualizações + custo processar recuperações Custo de atualizações todos sites todos fragmentos todos sites todos fragmentos Custo de recuperações. Custo da mensagem de update + Custo da mensagem de ck min todos sites (custo de comando de recuperação + todos fragmentos custo de enviar o resultado de volta) 31 Modelo de locação Restrições Tempo de resposta Tempo resposta consulta max. tempo resposta aceitável para a consulta rmazenamento em um site S i todos fragmentos Processamento em um site S i Requisito de armazenamento de fragmento no site capacidade de armazenamento no site. Carga de processamento de consulta no site todos fragmentos capacidade de processamento no site 32 16

Modelo de locação Problema NP-Completo Problema similar a localização de armazéns de commodities (pesquisa operacional) Heurísticas; Técnicas de branch-and-bound; lgoritmos de fluxo de rede;... 33 Fragmentação Vertical Informação da aplicação finidade de atributos Medida que indica associação entre atributos Pode ser calculada a partir do padrão de uso dos dados Padrão de uso de atributos Dado um conjunto de consultas Q = {q 1, q 2,...,q q } sobre uma relação R[ 1, 2,... n ], uso(qi,j) = { 1 se j é referenciado em q j 0 senão 34 17

Fragmentação Vertical Considere as 4 consultas sobre a relação PROJ q 1 : SELECT BUDGET q 2 : SELECT PNME,BUDGET FROM PROJ FROM PROJ WHERE PNO=Value q 3 : SELECT PNME q 4 : SELECT SUM(BUDGET) FROM PROJ FROM PROJ WHERE LOC=Value WHERE LOC=Value 1 = PNO 2 = PNME 3 = BUDGET 4 = LOC q 1 q 2 q 3 q 4 1 2 3 4 1 0 1 0 0 1 1 0 0 1 0 1 0 0 1 1 35 Fragmentação Vertical finidade medida de afinidade de atributo entre 2 atributos i e j de uma relação R[ 1, 2,, n ] com respeito a um conjunto de consultas Q = (q 1, q 2,, q q ) é definida como: aff ( i, j ) = (acesso) Todas as queries que acessam i e j acesso = Freq acesso de uma consulta (Qtde acesso por execução) todos sites 36 18

Fragmentação Vertical ssumindo cada consulta no exemplo anterior faz acesso aos atributos uma vez a cada execução ssumindo as seguintes freqüências de acesso aff( 1, 3 ) = 15*1 + 20*1+10*1 = 45 matriz de afinidade será: q 1 q 2 q 3 q 4 1 2 3 4 S 1 S 2 S 3 15 20 10 5 0 0 25 25 25 3 0 0 1 2 3 4 45 0 45 0 0 80 5 75 45 5 53 3 0 75 3 78 37 lgoritmo de Clusterização Dada uma matriz de afinidade, reorganiza a ordem dos atributos para formar clusters onde atributos em cada cluster demonstram alta afinidade uns com os outros Exemplo: lgoritmo de energia de ligação (BE). BE acha a ordem dos atributos tal que a medida de afinidade global é maximizada 38 19

BE Dada a matriz obtida no exemplo anterior, após a aplicação do BE teremos a matriz abaixo 1 3 2 4 45 45 1 3 2 4 0 0 45 53 5 3 0 5 80 75 0 3 75 78 39 20