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

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

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

Projeto de Bancos de Dados Distribuídos

23/05/12. Agenda. Introdução. Introdução. Introdução. Álgebra. Relacional. Cálculo. Relacional

23/05/12. Consulta distribuída. Consulta distribuída. Objetivos do processamento de consultas distribuídas

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

Projeto de Bases de Dados Distribuídas

GES013 Sistema de Banco de Dados Normalização de Relações em Projeto de BD (1FN a FNBC)

Universidade Federal do Maranhão

Arquiteturas para SGBD. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

INF1383 -Bancos de Dados

14/03/12. Formas Básicas de BD Distribuído. Integração de Banco de Dados. Abordagem Top-down. Abordagem Top-down (Distribuição de Dados)

Exercícios do Curso COS833 Distribuição e Paralelismo em Bancos de Dados Prof ª Marta Mattoso / Prof. Alexandre Assis

Processamento de Consultas. Processamento de Consultas. Processamento de Consultas Distribuídas. Otimização de Consultas

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

Principais Desafios dos SGBDDs. Processamento Distribuído de Consultas. Processamento de Consultas. Componentes do Processamento de Consultas

Modelo Relacional. Modelo Relacional. Modelo Relacional. Banco de Dados. Modelo Relacional. Modelo Relacional. Fernando Fonseca Ana Carolina

GBC043 Sistemas de Banco de Dados Normalização de Relações em Projeto de BD

UNINGÁ UNIDADE DE ENSINO SUPERIOR INGÁ FACULDADE INGÁ CIÊNCIA DA COMPUTAÇÃO PROJETO DE BANCO DE DADOS RELACIONAL. Profº Erinaldo Sanches Nascimento

Modelo Relacional. Gerenciamento de Dados e Informação. Modelo Relacional Sejam os domínios D 1 (D- Pessoa) e D 2 (D- Endereço) Modelo Relacional

Bancos de Dados Distribuídos. Bancos de Dados Distribuídos. Conteúdo. Motivação. Motivação. Introdução aos BDs Distribuídos.

Banco de Dados I. Aula 17 - Prof. Bruno Moreno 08/11/2011

Banco de dados. Conteúdo: Modelo relacional Prof. Patrícia Lucas

Aula 04. Evandro Deliberal

PCS3413. Engenharia de So-ware e Banco de Dados. Aula 18. Escola Politécnica da Universidade de São Paulo

Introdução aos Sistemas de Bancos de Dados 1 a versão - MAC5760 DCC-IME-USP J.E.FERREIRA e O.TAKAI Terceira Forma Normal (3FN)

Modelo Relacional. Banco de Dados 2º trimestre Prof. Patrícia Lucas

O que é modelo lógico. Tipos de modelo

Bancos de Dados Distribuídos. Gabriel Resende Gonçalves 4 de fevereiro de 2014

Modelagem de dados usando MER. Andre Noel

Unidade 4 Projeto de BD Relacional

Banco de Dados. Aula 3 - Prof. Bruno Moreno 26/08/2011

UTFPR - Universidade Tecnológica Federal do Paraná. Processamento e otimização de consultas

Bases de Dados Distribuídas

04/03/12. Revisão: conceitos básicos de BD. MoAvação para distribuição. Processamento Distribuído. Arquitetura de um SBD Centralizado

MATA60 BANCO DE DADOS Aula 3- Modelo de Entidades e Relacionamentos. Prof. Daniela Barreiro Claro

Abordagem relacional. Capítulo 4

Sumário. Definição do Plano de Execução

Modelo Lógico de Dados. Modelo Relacional

Projeto de Banco de Dados

Projeto de Banco de Dados

Trabalho de Banco de Dados. 1) Considere a distribuição de banco de dados abaixo, nos quais os fragmentos nos sites 2 e 3, e também no site 1.

Banco de Dados. Aula 8 - Prof. Bruno Moreno 16/09/2011

Restrições do modelo relacional

Informática. Banco de Dados Relacional. Professor Julio Alves.

Banco de Dados - Senado

MODELAGEM DE DADOS MODELO RELACIONAL

Aula 01 Conceito de Banco de Dados e SGBD

Base de Dados. Sistemas de Informação. Base de Dados - Índice Introdução Componentes Base de Dados. Introdução. Introdução. Introdução.

Metodologia para projeto de fragmentação de dados XML sobre bases distribuídas

modelo introduzido por E. F. Codd Meados da década de 70: protótipos. INGRES (UC Berkeley, 73 77) System R (IBM Research at San Jose, 74 78)

- Um "query block" permite a implementação das operações de selecção, projecção e junção da álgebra relacional.

Normalização: Noções Básicas

NORMALIZAÇÃO. Lílian Simão Oliveira

Modelagem semântica permite aproximar o modelo obtido do mundo real Exemplo de modelos:

Aula 3 - Modelo Entidade-Relacionamento

Modelagem Conceitual e o Modelo Entidade-Relacionamento

Bancos de Dados Aula #2 - Modelos Conceituais de Dados

Modelo Relacional e Normalização de Dados. ENG1518/3VC Sistemas de Informação Gerenciais Prof. Marcos Villas

Unidade 2 Modelo Conceitual

Bancos de Dados. 7. Mapeamento ER/ERE para Relacional

O Modelo e a Álgebra Relacional

ÁLGEBRA E CÁLCULO RELACIONAL

Aula 12 BD1 Dependências Funcionais e Normalização. Profa. Elaine Faria UFU

Arquitetura Genérica do SGBDD

. Um modelo que represente fielmente a realidade. Um modelo capaz de responder às funcionalidades que se pretendem

3 Plano de Execução de Consultas

Sumário. Etapas do Processamento de Consultas

Projeto de Banco de Dados. Componentes de um Sistema de Informação. Arquitetura de SI. Sistema de Informação (SI) SI nas Organizações

PCS3413 Engenharia de Software e Banco de Dados

ROTEIRO Introdução Álgebra e Cálculo Relacional Operações da Álgebra Relacional Classificação de Operadores da Álgebra Relacional Mapeamento AR -> SQL

Tornou-se um padrão de fato para aplicações comerciais, devido a sua simplicidade e performance.

Parte II Modelo de Dados Relacional. Evandro E. S. Ruiz

MATA60 BANCO DE DADOS Aula: Otimização. Prof. Daniela Barreiro Claro

Modelagem de Dados. Modelagem Conceitual

Subconsultas ou Consultas Aninhadas

Processamento da Consulta. Processamento da Consulta

Transformação de Diagramas MER em Diagramas DR

Modelo Relacional. Josino Rodrigues

Banco de Dados. Dependências Funcionais e Normalização de Bancos de Dados Relacionais. João Eduardo Ferreira Osvaldo Kotaro Takai Marcelo Finger

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

MC536. Modelo Relacional

Modelo Relacional. Aula 02

Banco de Dados Prof. Célio R. Castelano Página 1 de 9. Álgebra Relacional

PROJETO DE BANCO DE DADOS

MODELO ENTIDADE RELACIONAMENTO

Ano: 2014 Banca: FCC Órgão: TJ-AP Prova: Analista Judiciário - Área Apoio Especializado - Tecnologia da Informação

Roteiro. Normalização. BCC321 - Banco de Dados I. Ementa. Para que serve a normalização? Posicionamento

Aula 4 SBD Modelo Entidade Relacionamento Parte 2. Profa. Elaine Faria UFU

Uma base de dados está num estado de integridade se contém apenas dados válidos. Os dados armazenados devem estar de acordo com a realidade

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

MODELO DE BANCO DE DADOS RELACIONAL

Professor Eros Moura, DSc

P R O J E T O: C A R N A V A L. 2. Informações Básicas sobre o Sistema a ser Desenvolvido

BANCO DE DADOS I/MODELAGEM DE DADOS Prof. Ricardo Rodrigues Barcelar

UNIVERSIDADE FEDERAL DA GRANDE DOURADOS PRÓ-REITORIA DE GRADUAÇÃO PROGRAD FACULDADE DE CIÊNCIAS EXATAS E TECNOLOGIA CURSO DE SISTEMAS DE INFORMAÇÃO

Bancos de Dados Distribuídos. Lucas Henrique Samuel Queiroz

Parte NORMALIZAÇÃO. As regras mais importantes oferecidas pelo Sistema Gerenciador de Banco de Dados. são:

Transcrição:

Tipos de fragmentação Projeto de Bancos de Dados Distribuídos (Parte 01) n n Fragmentação vertical IN1128/IF694 Bancos de Dados Distribuídos e Móveis Ana Carolina Salgado acs@cin.ufpe.br Bernadette Farias Lóscio bfl@cin.ufpe.br Grau de fragmentação Correção das regras de fragmentação n É preciso encontrar um nível adequado de fragmentação que mantenha um compromisso entre os dois extremos Nenhuma fragmentação Fragmentação até o nível de tuplas ou de atributos n Este equilíbrio pode ser determinado de acordo com as aplicações que farão uso do banco de dados e com um conjunto de parâmetros que caracterizam essas aplicações n Fragmentação vertical e normalização são processos semelhantes n São necessárias regras para assegurar que o BD não sofrerá nenhuma mudança semântica durante a fragmentação Completeza Reconstrução Disjunção Completeza Reconstrução n Se uma instância da relação R é decomposta em fragmentos R 1, R 2,, R n, cada item de dados que pode ser encontrado em R também pode ser encontrado em um ou mais fragmentos R i n Propriedade idêntica à decomposição sem perdas da normalização n Os dados em uma relação global serão mapeados em fragmentos sem perdas n um item = tupla n Fragmentação vertical um item = atributo n Se uma relação R é decomposta em fragmentos R 1, R 2,, R n, deve ser possível definir um operador relacional tal que: n R = R i, R i F R n O operador dependerá do tipo de fragmentação n Esta regra garante que as restrições definidas sobre os dados na forma de dependências serão preservadas 1

Disjunção Alternativas de alocação n Se uma relação R é decomposta horizontalmente em fragmentos R 1, R 2, R n, e o item de dados d 1 está em R j, ele não está em qualquer outro fragmento R k (k j) n Os fragmentos horizontais são disjuntos n No caso da fragmentação vertical, a disjunção só é definida para os atributos que não fazem parte da chave primária Se a relação é decomposta verticalmente, os atributos que compõem a chave primária se repetem em todos os fragmentos n Quando os dados são alocados, eles podem ser replicados ou mantidos como uma única cópia n As razões para a replicação são a confiabilidade e a eficiência de consultas somente de leitura n A decisão sobre replicação é um compromisso que depende da proporção entre consultas de leitura e consultas de atualização Alocação Requisitos de informações n Banco de dados não replicado é chamado de BD particionado Fragmentos alocados a sites e só existe uma cópia de cada fragmento na rede n O BD existe por inteiro em cada site (totalmente replicado) ou os fragmentos estão distribuídos pelos sites de maneira que cópias de um fragmento podem residir em mais de um site (parcialmente replicado) n No caso de ser parcialmente replicado, o número de cópias de cada fragmento pode ser uma entrada para um algoritmo de alocação n As informações necessárias para o projeto de distribuição podem ser divididas em quatro categorias: n Informações do BD n Informações de aplicativos n Informações da rede de comunicações n Informações de sistemas computacionais Os dois últimos tipos são de natureza quantitativa, sendo utilizadas apenas para a alocação e não em algoritmos de fragmentação - Informações do BD n Versões de fragmentação horizontal: primária e derivada n primária de uma relação é executada com o uso de predicados definidos sobre esta relação n derivada é o particionamento de uma relação que resulta da definição de predicados sobre outra relação n Esquema conceitual global Como as relações do BD estão conectadas entre si, em especial as junções n É preciso identificar a origem e o destino de um vínculo (isto é, ligação, relacionamento, relação) n A informação quantitativa exigida sobre o BD é a cardinalidade de cada relação R, denominada card (R) 2

- Vínculos pagamento funcionário cargo, sal L 1 fno, fnome, cargo Exemplo: Proprietária(L 1 ) = pagamento Membro(L 1 ) = funcionário Expressão de vínculos entre as relações L 2 projeto trabalha fno, pno, resp,, duração pno, pnome, orçamento, loc L 3 - Informações de aplicativos n Informações qualitativas e quantitativas n A qualitativa orienta a atividade de fragmentação (ex: predicados usados nas consultas de usuários) n 20% das consultas de usuários mais ativos respondem a 80% do total de acessos aos dados n Regra 80/20 pode ser usada como diretriz para a execução dessa análise n A informação qualitativa é incorporada nos modelos de alocação n Predicados podem ser simples, envolvendo apenas operadores relacionais, por exemplo n Predicados podem ser mais elaborados, os quais são combinações booleanas de predicados simples n Um predicado minterm é a conjunção de Tendo em vista que sempre é possível converter uma expressão booleana para a forma normal conjuntiva, o uso de predicados minterm nos algoritmos de projeto não causa qualquer perda de generalidade n Na lógica booleana, uma fórmula está na forma normal conjuntiva (FNC) se é uma conjunção de cláusulas, onde uma cláusula é uma disjunção de literais. Funcionário Trabalha FNO FNome FNO PNO Cargo Respons. Dur. F1 P1 Gerente 12 F1 João Engenheiro F2 P1 Analista 24 F2 Paulo Analista F2 P2 Analista 6 F3 Maria Professor F3 P3 Consultor 10 F4 Pedro Programador F3 P4 Engenheiro 48 F5 Luiza Analista F4 P2 Programador 18 F6 Luis Engenheiro F5 P2 Gerente 24 F7 Beatriz Professor F6 P4 Gerente 48 F8 Paula Analista F7 P3 Engenheiro 36 F8 P3 Gerente 40 Projeto Pagamento P01 BI 150000 Montreal Cargo Salário P02 Des. 135000 Nova York Engenheiro 40000 de BD P03 CAD/CAM 250000 Nova York Analista 34000 P04 Manutenção 310000 Paris Professor 27000 Programador 24000 n Predicado simples p 1 : cargo = Professor p 2 : cargo = Engenheiro p 3 : cargo = Programador p 4 : cargo = Analista p 5 : sal 30000 p 6 : sal > 30000 3

n Alguns predicados minterm n m 1 : cargo = Engenheiro sal 30000 n m 2 : cargo = Engenheiro sal > 30000 n m 3 : not (cargo = Engenheiro ) sal 30000 n m 4 : not (cargo = Engenheiro ) sal > 30000 n m 5 : cargo = Programador sal 30000 n m 6 : cargo = Programador sal > 30000 n Algumas observações: Esses não são todos os predicados minterm que podem ser definidos; esta é apenas uma amostra representativa Alguns predicados podem não ter significado, dada a semântica da relação pagamento n Informações quantitativas sobre aplicativos incluem: Seletividade de minterm: a quantidade de tuplas da relação que seria acessada por uma consulta do usuário especificada de acordo com um predicado minterm. Por exemplo, a seletividade de m 1 é 0 porque não existem tuplas que satisfazem esse predicado. n Informações quantitativas sobre aplicativos incluem: Frequência de acesso: é a frequência com que os aplicativos do usuário acessam os dados. Se Q={q 1, q 2,, q n } é um conj. de consultas do usuário, acc(q i ) indica a frequência de acesso da consulta q i em determinado período. As fequências de acesso minterm podem ser determinadas a partir das frequências de consultas. A fequência de acesso de um minterm m i é denotada por acc(m i ) primária primária n É definida por uma operação de seleção sobre as relações proprietárias de um esquema do banco de dados n Dada a relação R, seus fragmentos horizontais são determinados por: n R i - σ Fi (R), 1 i w, onde w é o número de fragmentos definidos sobre R n Se F i está em forma normal conjuntiva então é um predicado minterm(mi) os algoritmos de fragmentação horizontal geralmente consideram F i como sendo um predicado minterm n Exemplo: Decomposição da relação Projeto em Projeto1 e Projeto2 Projeto1 = σ orçamento 200000 (Projeto) Projeto2 = σ orçamento > 200000 (Projeto) 4

n Um fragmento horizontal Ri da relação R consiste de todas as tuplas de R que satisfazem o predicado minterm mi n Dado um conjunto de predicados minterm M, existem tantos fragmentos horizontais da relação R quantos forem os predicados minterm n Conjunto de fragmentos horizontais também é referido como conjunto de fragmentos minterm n A definição de fragmentos horizontais depende dos predicados minterm n O primeiro passo para qualquer algoritmo de fragmentação é definir um conjunto de predicados simples que formarão os predicados minterm primária - algoritmo Completeza de n Dados: Uma relação R, o conjunto de predicados simples Pr n Saída: O conjunto de fragmentos de R = {R 1, R 2,...,R w } que obedecem as regras de correção da fragmentação n Sendo que : Pr deve ser completo Pr deve ser mínimo n Um conjunto de Pr é considerado completo sse existe uma probabilidade igual de acesso de cada aplicativo a qualquer tupla pertencente a qualquer fragmento minterm definido de acordo com Pr n Cada tupla tem igual probabilidade de ser acessada dentro de um fragmento Completeza de Completeza de n Exemplo: n Considere que a relação Projeto(PNO, PNome, Orçamento, Loc) tem 2 aplicações definidas sobre ela: (1) Encontre os orçamentos dos projetos de cada localidade (2) Encontre os projetos com orçamento < 200000 n De acordo com (1), Pr = {Loc = Montreal,Loc = New York, Loc = Paris } n Pr não é completo com respeito a (2), pois dentro de um mesmo fragmento uma tupla terá maior probabilidade de ser acessada do que outra Projeto P01 BI 150000 Montreal P02 Des. de BD 135000 Nova York P03 CAD/CAM 250000 Nova York P04 Manutenção 310000 Paris 5

Completeza de Completeza de n Modifique Pr ={Loc = Montreal, Loc = New York, Loc = Paris, Orçamento 200000, Orçamento > 200000} n Agora Pr é completo, pois todas as tuplas terão a mesma probabilidade de serem acessadas em cada um dos fragmentos minterm n Os fragmentos obtidos de acordo com um conjunto completo de predicados são logicamente uniformes n São estatisticamente homogêneos na forma como os aplicativos têm acesso a eles n Um conjunto completo de predicados será usado como base da fragmentação horizontal primária Minimalidade de Minimalidade de n Se um predicado influencia o modo como a fragmentação é efetuada (isto é, faz com que um fragmento f seja ainda mais fragmentado em, digamos, f i e f j ) deve haver pelo menos um aplicativo que acesse f i e f j de maneira diferenciada n Cada predicado simples deve ser relevante na determinação de uma fragmentação n Se todos os predicados de um conjunto Pr são relevantes, Pr é mínimo n O conjunto Pr ={Loc = Montreal, Loc = New York, Loc = Paris, Orçamento 200000, Orçamento > 200000} é mínimo n Se adicionássemos Pnome = BI ao conjunto Pr ele deixaria de ser mínimo, porque o novo predicado não é relevante com relação a Pr n Este novo predicado não afetaria os fragmentos que já foram criados Exemplo 1 n Um algoritmo para determinar um conjunto completo e mínimo de predicados Pr dado um conjunto de Pr deve adotar a seguinte regra: Regra 1: a regra fundamental de completeza e minimalidade, que estabelece que uma relação ou fragmento é particionado em pelo menos duas partes que são acessadas de maneira diferente por pelo menos um aplicativo n No algoritmo de fragmentação horizontal os fragmentos são determinados de acordo com um predicado minterm definido sobre os predicados de Pr n Fragmentação da relação Pagamento Aplicativo: Verifica as informações sobre salário e determina um aumento adequado Registros de funcionários são administrados em 2 nós (aplicativo executado em 2 nós) Predicados simples p1 : Salário 30000 p2 : Salário > 30000 Pr = {p1}, que é completo e mínimo (p2 não particionaria f1, que é o fragmento minterm formado com relação a p1) Predicados minterm m1 : (Salário 30000) m2 : NOT(Salário 30000) = (Salário > 30000) 6

Exemplo 1 Exemplo 2 n da relação Pagamento Pagamento Cargo Salário Engenheiro 40000 Analista 34000 Professor 27000 Programador 24000 Salário 30000 Salário > 30000 Pagamento1 Pagamento2 Cargo Salário Cargo Salário Professor 27000 Engenheiro 40000 Programador 24000 Analista 34000 n Fragmentação da relação Projeto Suponha que existam dois aplicativos O primeiro aplicativo é executado em 3 sites e procura nomes e orçamentos de projetos dadas suas localizações Select Pnome, Orçamento From projeto Where Loc = valor Predicados simples (aplicativo 1) p1 : Loc = Montreal p2 : Loc = New York p3 : Loc = Paris Exemplo 2 Exemplo 2 n Fragmentação da relação Projeto (cont.) O segundo aplicativo é emitido em dois sites e está relacionado com a administração de projetos. Os sites administram projetos de acordo com o orçamento Um nó administra projetos com orçamento 200000 e outro administra projetos com orçamento > 200000 Predicados simples (Aplicativo 2) p4 : Orçamento 200000 p5 : Orçamento > 200000 n n Fragmentação da relação Projeto (cont.) O conjunto Pr = {p1, p2, p3, p4, p5} é completo e mínimo Com base em Pr, os seis predicados minterm a seguir podem ser definidos (predicados minterm obtidos após a eliminação dos contraditórios) m1 : (Loc = Montreal ) e (Orçamento 200000) m2 : (Loc = Montreal ) e (Orçamento > 200000) m3 : (Loc = New York ) e (Orçamento 200000) m4 : (Loc = New York ) e (Orçamento > 200000) m5 : (Loc = Paris ) e (Orçamento 200000) m6 : (Loc = Paris ) e (Orçamento > 200000) - Exemplo 2 derivada Projeto P01 BI 150000 Montreal P02 Des. de BD 135000 Nova York P03 CAD/CAM 250000 Nova York P04 Manutenção 310000 Paris Projeto1 Projeto3 PNO PNome Orçamento Loc P02 Des. de 135000 Nova P01 BI 150000 Montreal BD York n Uma fragmentação horizontal derivada é definida sobre uma relação membro de um vínculo de acordo com uma operação de seleção especificada sobre sua proprietária n Exemplo: pagamento cargo, sal Exemplo: Proprietária(L 1 ) = pagamento Membro(L 1 ) = funcionário Projeto4 P03 CAD/CAM 250000 Nova York Projeto6 P04 Manutenção 310000 Paris funcionário L 1 fno, fnome, cargo Na fragmentação horizontal derivada, um fragmento de funcionário seria definido de acordo com uma seleção em pagamento 7

derivada derivada n Em uma fragmentação horizontal derivada, os fragmentos são definidos considerando operações de semijunção Deseja-se fazer o particionamento de uma relação membro de acordo com uma relação proprietária, porém o resultado da fragmentação dever ser definido somente sobre os atributos da relação membro n Dada uma ligação L onde proprietária(l)=s e membro(l)=r, Os fragmentos horizontais derivados de R são definidos como: R i = R semijoin S i, 1 i w, onde w é o número de fragmentos definidos sobre R e Si = σ Fi (S), onde F i é a fórmula segundo a qual o fragmento horizontal primário S i é definido Um semijunção da relação R definida sobre o conjunto de atributos A pela relação S definida sobre o conjunto de atributos B é o subconjunto das tuplas de R que participam da junção de R com S derivada - exemplo n Dada a ligação L 1 onde: Proprietária(L 1 ) = Pagamento Membro(L 1 ) = Funcionário n A relação funcionário pode ser particionada da seguinte forma: Funcionário1 = Funcionário semijoin Pagamento1 Funcionário2 = Funcionário semijoin Pagamento2 onde: Pagamento 1 = σ salário 30000 (Pagamento) Pagamento 2 = σ salário > 30000 (Pagamento) n É importante notar que é possível ter mais de uma fragmentação candidata para uma relação n A escolha final do esquema de fragmentação pode ser um problema de decisão solucionado durante a alocação 8