Projeto de Bancos de Dados Distribuídos

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

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

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

Engenharia de Software II

Fundamentos de Bancos de Dados 3 a Prova Caderno de Questões

Inteligência Artificial

Prof. Daniela Barreiro Claro

Princípios e Conceitos de Desenho de Software. Projeto de Sistemas de Software Prof. Rodrigo Ribeiro

Modelo Lógico: Tabelas, Chaves Primárias e Estrangeiras

Banco de Dados I. Prof. Edson Thizon

Módulo de Princípios Básicos de Contagem. Segundo ano

Métodos Formais. Agenda. Relações Binárias Relações e Banco de Dados Operações nas Relações Resumo Relações Funções. Relações e Funções

MODELAGENS. Modelagem Estratégica

PESQUISA OPERACIONAL -PROGRAMAÇÃO LINEAR. Prof. Angelo Augusto Frozza, M.Sc.

Modelo Entidade Relacionamento (MER) Professor : Esp. Hiarly Alves

SISTEMAS DISTRIBUÍDOS

Análise Qualitativa no Gerenciamento de Riscos de Projetos

OBJETIVO GERAL DA DISCIPLINA

AULA 07 Distribuições Discretas de Probabilidade

Unidade 1: O Computador

O que é um banco de dados? Banco de Dados. Banco de dados

AULA 1 INTRODUÇÃO A BANCO DE DADOS E VISÃO GERAL DO SQL CONCEITUANDO BANCO DE DADOS MODELO RELACIONAL

Exercício. Exercício

Banco de Dados I 2007 Módulo II: Modelagem Entidade- Relacionamento versus Relacional. (Aula 1) Clodis Boscarioli

Modelo Relacional Normalização Diagramas E-R e Tabelas Originadas

Modelo Comportamental

Tecnologia da Informação

Programação Orientada a Objetos SANTOS, Rafael

Comandos de Eletropneumática Exercícios Comentados para Elaboração, Montagem e Ensaios

Aula 5. Uma partícula evolui na reta. A trajetória é uma função que dá a sua posição em função do tempo:

Lógica de Programação. Profas. Simone Campos Camargo e Janete Ferreira Biazotto

Testes de Hipóteses Estatísticas

Planejamento - 2. Definição de atividades Sequenciamento das atividades. Mauricio Lyra, PMP

Fundamentos de Programação. Diagrama de blocos

Introdução a Banco de Dados. INTRODUÇÃO

Prof. José Maurício S. Pinheiro - UGB

QUESTIONAMENTO ACERCA DO EDITAL DO PREGÃO ELETRÔNICO AA Nº 03/ BNDES

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

Tópicos Avançados em Banco de Dados Dependências sobre regime e controle de objetos em Banco de Dados. Prof. Hugo Souza

CRIAÇÃO DE TABELAS NO ACCESS. Criação de Tabelas no Access

Fundamentos de Teste de Software

Obtenção Experimental de Modelos Matemáticos Através da Reposta ao Degrau

Desenvolvimento de Software

UNIVERSIDADE ESTADUAL DE CAMPINAS FACULDADE DE EDUCAÇÃO. Elaborado por Gildenir Carolino Santos Grupo de Pesquisa LANTEC

Banco de Dados I Unidade 3: Projeto de BD Relacional. Cláudio Baptista

Seu pé direito nas melhores Faculdades

Curso de Formação de Oficiais Conhecimentos Específicos ENGENHARIA DE COMPUTAÇÃO CADERNO DE QUESTÕES

MÓDULO 2 Topologias de Redes

Álgebra Linear Aplicada à Compressão de Imagens. Universidade de Lisboa Instituto Superior Técnico. Mestrado em Engenharia Aeroespacial

Sistemas Distribuídos

Sérgio Luisir Díscola Junior

VERSÃO RESPOSTAS PROVA DE MARKETING

Arquitecturas de Software Enunciado de Projecto

UNIVERSIDADE FEDERAL DA BAHIA ESCOLA POLITÉCNICA DEPARTAMENTO DE ENGENHARIA QUÍMICA ENG 008 Fenômenos de Transporte I A Profª Fátima Lopes

ASPECTOS CONSTRUTIVOS DE ROBÔS

Organização e Arquitetura de Computadores. Ivan Saraiva Silva

Optimização e Algoritmos (2004/2005)

3 - Bacias Hidrográficas

Aula 03. Processadores. Prof. Ricardo Palma

10. CPU (Central Processor Unit) Conjunto das instruções Estrutura interna Formato das instruções...

Introdução de XML. Dados da Web. Gerência de Dados da Web. A Web representa, nos dias de hoje, um repositório universal de dados, onde:

Gerenciamento do Escopo do Projeto (PMBoK 5ª ed.)

Métodos Quantitativos Aplicados

Deswik.Sched. Sequenciamento por Gráfico de Gantt

Falta Erro Falha. Motivação. Teste de Software. Falha, Falta e Erro. Falha, Falta e Erro. Falha, Falta e Erro. Falha, Falta e Erro 6/6/11

Adriana da Silva Santi Coord. Pedagógica de Matemática SMED - Abril/2015

ISS Eletrônico. Formato de Arquivos para Transmissão de Documentos Declarados através do aplicativo OFFLINE. Extensão do Arquivo JUNHO2006.

BANCO DE DADOS I Atualizado em 13 de maio de 2009

MANUTENÇÃO SISTEMAS INFORMATIZADOS PARA O PLANEJAMENTO E CONTROLE DA MANUTENÇÃO. CCMS- Computer Maintenance Management System

2 Conceitos Básicos. onde essa matriz expressa a aproximação linear local do campo. Definição 2.2 O campo vetorial v gera um fluxo φ : U R 2 R

Apresentação dos Requisitos Do Edital Inmetro nº 01/2011

Minuta Circular Normativa

Rede Local - Administração Políticas de Backup, Redundância e Fiabilidade

Árvores. ! utilizada em muitas aplicações. ! modela uma hierarquia entre elementos. ! O conceito de árvores está diretamente ligado à recursão

Os dados quantitativos também podem ser de natureza discreta ou contínua.

Pós-Graduação em Computação Distribuída e Ubíqua

GIL, Antonio Carlos. Como elaborar projetos de pesquisa. São Paulo, Editora Atlas,

Ponto eletrônico de funcionários

Arquitetura de Banco de Dados

Pressuposições à ANOVA

CONTRATO DE LICENÇA DO UTILIZADOR PARA PRODUTOS DE SOFTWARE DA STONERIDGE ELECTRONICS LTD

Processo de Gerenciamento do Catálogo de Serviços de TIC

Introdução ao Teste de Software

Roteiro. Modelagem com Entidade-Relacionamento Estendido. Processo de Projeto de Banco de Dados. BCC321 - Banco de Dados I. Ementa.

Módulo e-rede Magento v1.0. Manual de. Instalação do Módulo. estamos todos ligados

2 Workshop processamento de artigos em serviços de saúde Recolhimento de artigos esterilizados: é possível evitar?

Programação Linear - Parte 4

Forma Normal de Boyce-Codd

Unidade IV PRINCÍPIOS DE SISTEMAS DE. Prof. Luís Rodolfo

Exemplos. Jogo dos oito :-) Mundo dos blocos (ex: torre de Hanoi) Poblema das rainhas. Criptoaritmética. Missionários e Canibais.

Exercícios e questões de Álgebra Linear

OPERAÇÕES COM FRAÇÕES

Transcrição:

Problema de Projeto Projeto de Bancos de Dados Distribuídos Fernanda Baião baiao@cos.ufrj.br Definição geral Tomar decisões sobre localização de dados e programas nos nós de uma rede de computadores, assim como possivelmente projetando a rede em si. Em SBDD, a localização das aplicações engloba localização do software SGBDD; e localização das aplicações que executam sobre a base de dados 1998 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Fernanda Baião) 2 Dimensões do Problema Estratégias Alternativas de Projeto de Distribuição Abordagem Descendente na maior parte das vezes no projeto de sistemas a partir do zero na maior parte das vezes em sistemas homogêneos Abordagem Ascendente quando a base de dados já existe em alguns nós 1998 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Fernanda Baião) 3 1998 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Fernanda Baião) 4 Processo de Projeto Descendente Projeto Conceitual Esquema Conceitual Global Entrada do Usuário feedback Análise de Requisitos Requisitos do Sistema (objetivos) Entrada do Usuário Integração de visões Informações de Acesso Projeto de Distribuição Projeto Físico Observação e Monitoramento Projeto de Visões Definições do Esquema Externo Esquemas Conceituais Locais feedback Esquema Físico 1998 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Fernanda Baião) 5 Questões do Projeto de Distribuição Por que devemos fragmentar? Como devemos fragmentar? O quanto devemos fragmentar? Existe algum modo de testar a correção da decomposição? Como devemos alocar? Quais são as informações necessárias para a fragmentação e a alocação? 1998 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Fernanda Baião) 6 1

Fragmentação Fragmentação Não podemos apenas distribuir relações? Qual é a unidade apropriada de distribuição? relações? visões são subconjuntos de relações localidade de acesso comunicação extra fragmentos de relações? (sub-relations) Execução concorrente de um número de aplicativos que acessam porções distintas de uma relação Visões que não podem ser definidas sobre um fragmento único vão requerer processamento extra Controle semântico dos dados (especialmente manutenção de integridade) mais difícil 1998 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Fernanda Baião) 8 Alternativas de Fragmentação - Horizontal Alternativas de Fragmentação - Vertical 1998 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Fernanda Baião) 9 1998 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Fernanda Baião) 10 Grau de Fragmentação Correção da Fragmentação número finito de alternativas tuplas ou atributos relações Encontrar um nível adequado de fragmentação neste intervalo em relação aos aplicativos que atuarão sobre a base distribuída Completude Decomposição de uma relação R em fragmentos R 1, R 2,..., R n é completa sse cada item de dados em R pode ser encontrado em pelo menos um fragmento R i Reconstrução Se uma relação R é decomposta em fragmentos R 1, R 2,..., R n, deve ser possível definir um operador relacional (ou de objetos) 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 o item de dados di está em R j, então di não está em qualquer outro fragmento R k (k j ). 1998 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Fernanda Baião) 11 1998 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Fernanda Baião) 12 2

Alternativas de Alocação Comparação entre alternativas de replicação Não replicado Particionado: cada fragmento reside em apenas um nó da rede Replicado Totalmente replicado: cópias de cada fragmento em cada nó Parcialmente replicado : cópias de cada fragmento em alguns nós Regra : Se (consultas de leitura/ consultas de atualização) >= 1, a replicação é vantajosa, caso contrário pode causar problemas Processamento de Consultas Gerenciamento de Diretórios Controle de Concorrência Confiabilidade Realidade Replicação Total Fácil Fácil ou inexistente Moderado Muito alta Aplicação possível Replicação Parcial Difícil Alta Realista Particionamento Mesmo grau de dificuldade Mesmo grau de dificuldade Fácil Baixa Aplicação possível 1998 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Fernanda Baião) 13 1998 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Fernanda Baião) 14 Requisitos de Informação para o Projeto de Distribuição 4 categorias: Informações da base de dados Informações de aplicativos Informações da rede de comunicação Informações de sistemas de computadores Técnicas de Fragmentação Fragmentação Horizontal Relacional: distribui as tuplas da relação entre os fragmentos Fragmentação Vertical (FV) Relacional: distribui os atributos da relação entre os fragmentos Atributos chave devem estar presentes em todos os fragmentos Fragmentação Híbrida 1998 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Fernanda Baião) 15 1998 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Fernanda Baião) 16 Fragmentação Horizontal FHP - Requisitos de Informação Primária (FHP) Técnicas Faixa de Valores Função de Hashing Circular facilita operações de seleção Derivada (FHD) função da fragmentação de outra classe ou relação. facilita operações de junção e navegação entre fragmentos Informações da base de dados esquema conceitual global relações, relacionamentos, cardinalidades ( card(r) ) dono(l1) = SKILL membro(l1) = EMP 1998 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Fernanda Baião) 17 1998 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Fernanda Baião) 18 3

FHP - Requisitos de Informação Informações de aplicativos predicados simples : Dada uma relação R[A 1, A 2,, A n ], um predicado simples p j é p j : A i θ Valor onde θ {=,<,,>,, }, Valor D i e D i é o domínio de A i Para a relação R definimos P r = {p 1, p 2,, p m } o conjunto de todos os predicados simples definidos sobre R Ex: PNAME = "Maintenance, BUDGET 200000 FHP - Requisitos de Informação Exemplo m 1 : PNAME="Maintenance e BUDGET 200000 m 2 : NOT(PNAME="Maintenance") e BUDGET 200000 m 3 : PNAME= "Maintenance e NOT(BUDGET 200000) m 4 : NOT(PNAME="Maintenance") e NOT(BUDGET 200000) predicados minterm: Dada uma relação R e P r = {p 1, p 2,, p m }, definimos o conjunto de predicados minterm M = {m 1,m 2,,m r } como M = { m i m i = p j Pr p j * }, 1 j m, 1 i z onde p j * = p j ou p j * = (p j ). 1998 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Fernanda Baião) 19 1998 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Fernanda Baião) 20 FHP - Requisitos de Informação Informações de aplicativos seletividade de minterm: sel(m i ) quantidade de tuplas da relação que seria acessada por uma consulta do usuário especificada de acordo com um dado predicado minterm frequências de acesso: acc(q i ) a frequência com o que um aplicativo q i do usuário acessa os dados frequência de acesso minterm também pode ser definida Fragmentação Horizontal Primária Definição operação de seleção sobre uma relação proprietária R j = σ F j (R ), 1 j w onde F j é a fórmula de seleção, que é (preferencialmente) um predicado minterm Então... Um fragmento horizontal R i da relação R consiste de todas as tuplas de R que satisfazem o predicado minterm m i Dado um conjunto de predicados minterm M, existem tantos fragmentos horizontais da relação R quantos forem os predicados minterm. Conjunto de fragmentos horizontais também é referido como conjunto de fragmentos minterm 1998 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Fernanda Baião) 21 1998 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Fernanda Baião) 22 FHP - Algoritmo P r tem que ser completo... Dados: Uma relação R, o conjunto de predicados simples P r Saída: O conjunto de fragmentos de R = {R 1, R 2,,R w } que obedecem as regras de correção da fragmentação Sendo que : P r deve ser completo P r deve ser mínimo Um conjunto de predicados simples P r é considerado completo sse existe uma probabilidade igual de acesso de cada aplicativo a qualquer tupla pertencente a qualquer fragmento minterm definido de acordo com P r Exemplo: Considere que a relação PROJ[PNO,PNAME,BUDGET,LOC] tem 2 aplicativos definidos sobre ela: Encontre os orçamentos dos projetos de cada localidade (1) Encontre os projetos com orçamento menor do que $200000 (2) 1998 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Fernanda Baião) 23 1998 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Fernanda Baião) 24 4

P r tem que ser completo... P r tem que ser mínimo... De acordo com (1), P r ={LOC= Montreal,LOC= New York,LOC= Paris }...que não é completo com respeito a (2). Modifique P r ={LOC= Montreal, LOC= New York, LOC= Paris, BUDGET 200000, BUDGET>200000}...que é completo Se um predicado influencia o modo como a fragmentação é efetuada (faz com que um fragmento f seja ainda mais fragmentado em, digamos, fi e fj) deve haver pelo menos um aplicativo que acesse fi e fj de maneira diferenciada Cada fragmento simples deve ser relevante na determinação de uma fragmentação Se todos os predicados de um conjunto Pr são relevantes, Pr é mínimo 1998 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Fernanda Baião) 25 1998 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Fernanda Baião) 26 P r tem que ser mínimo... PHF - Exemplo Exemplo: Pr ={LOC= Montreal,LOC= New York, LOC= Paris, BUDGET 200000,BUDGET>200000} é minimo (e completo). No entanto, se adicionarmos então Pr não é mínimo. PNAME = Instrumentation 2 relações : PAY e PROJ Fragmentação da relação PAY 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 p 1 : SAL 30000 p 2 : SAL > 30000 P r = {p 1,p 2 }, que é completo e mínimo Predicados minterm m 1 : (SAL 30000) m 2 : NOT(SAL 30000) = (SAL > 30000) 1998 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Fernanda Baião) 27 1998 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Fernanda Baião) 28 PHF - Exemplo PHF - Exemplo Fragmentação da relação PROJ Aplicativos Procura nomes e orçamentos de projetos dadas suas localizações executado em 3 nós Acessa informações de projetos de acordo com o orçamento information according to budget Um nó acessa 200000 e outro acessa > 200000 Predicados simples Aplicação 1 p 1 : LOC = Montreal p 2 : LOC = New York p 3 : LOC = Paris Aplicação 2 p 4 : BUDGET 200000 p 5 : BUDGET > 200000 P r = {p 1,p 2,p 3,p 4,p 5 } 1998 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Fernanda Baião) 29 1998 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Fernanda Baião) 30 5

PHF - Exemplo PHF - Exemplo Fragmentação da relação PROJ Fragmentos minterm restantes após eliminação dos contraditórios m1 : (LOC = Montreal ) e (BUDGET 200000) m2 : (LOC = Montreal ) e (BUDGET > 200000) m3 : (LOC = New York ) e (BUDGET 200000) m4 : (LOC = New York ) e (BUDGET > 200000) m5 : (LOC = Paris ) e (BUDGET 200000) m6 : (LOC = Paris ) e (BUDGET > 200000) 1998 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Fernanda Baião) 31 1998 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Fernanda Baião) 32 PHF - Correção Fragmentação Horizontal Derivada Completude Já que Pr é completo e mínimo, os predicados de seleção são completos Definida sobre uma relação membro de uma ligação de acordo com uma operação de seleção especificada sobre sua dona Cada ligação é uma junção Reconstrução Se a relação R está fragmentada em F R = {R 1,R 2,,R r } R = para todo Ri FR R i Disjunção Predicados minterm que formam a base da fragmentação têm que ser mutuamente exclusivos 1998 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Fernanda Baião) 33 1998 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Fernanda Baião) 34 DHF - Definição Dada uma ligação L onde dono (L)=S e membro(l)=r, Os fragmentos horizontais derivados de R são definidos como R i = R S i, 1 i w DHF - Exemplo Dada a ligação L1 onde dono(l1)=skill e membro(l1)=emp EMP1 = EMP SKILL1 FHD EMP2 = EMP SKILL2 onde SKILL1 = σ SAL 30000 (SKILL) SKILL2 = σ SAL>30000 (SKILL) FHP Onde w é o número de fragmentos definidos sobre R e S i = σ Fi (S) Onde F i é a fórmula segundo a qual o fragmento horizontal primário S i é definido 1998 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Fernanda Baião) 35 1998 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Fernanda Baião) 36 6

DHF - Correção Fragmentação Vertical Completude Integridade referencial Reconstrução Mesmo que a fhp Disjunção Grafos de junção simples entre fragmentos Tem sido estudada dentro do contexto de BD centralizados Metodologias de projeto Agrupamento físico Duas abordagens agrupamento Atributos para fragmentos Fragmentos sobrepostos divisão Relações para fragmentos Fragmentos não sobrepostos Atributos chave replicados não são considerados sobrepostos Facilidade para garantir dependências funcionais (verificação de integridade, etc.) 1998 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Fernanda Baião) 37 1998 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Fernanda Baião) 38 FV - Requisitos de Informação Informações de aplicativos Afinidade de atributos Indica a proximidade com que os atributos estão relacionados Obtida a partir da dados mais primitivos Valores de uso de atributos Dado um conjunto de aplicativos Q = {q 1, q 2,, q q } executadas sobre a relação R[A 1, A 2,, A n ] use(q i,a j ) = 1 se o atributo Aj é referenciado pela consulta qi 0 caso contrário VF Definição de use(q i,a j ) Considere as 4 consultas (aplicativos) sobre a relação PROJ use(q i, ) podem ser definidos de acordo 1998 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Fernanda Baião) 39 1998 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Fernanda Baião) 40 VF Afinidade de atributos aff(a i,a j ) A medida de afinidade de atributos entre dois atributos Ai e Aj de uma relação R[A 1, A 2,, A n ] com respeito ao conjunto de aplicativos Q = (q 1, q 2,, q q ) é definida como: aff (A i, A j ) = todos os aplicativos que acessam Ai e Aj (acesso do aplicativo) acesso do aplicativo = todos os nós frequência acesso aplicativo * (n acessos/execução) VF Cálculo de aff(a i,a j ) Suponha que cada consulta do exemplo anterior acessa os atributos 1 vez durante cada execução Suponha as frequências de acesso : Então aff(a 1, A 3 ) = 15*1 + 20*1 + 10*1 = 45 e a matriz de afinidades de atributos AA: 1998 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Fernanda Baião) 41 1998 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Fernanda Baião) 42 7

VF Algoritmo de agrupamento BEA - Exemplo Considere a matriz de afinidade de atributos AA e reorganize a ordem dos atributos par formar grupos onde os atributos em cada grupo têm alta afinidade entre si Bond Energy Algorithm (BEA) Maximiza a função de afinidade global AM = i j (afinidade de Ai e Aj com seus vizinhos) 1998 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Fernanda Baião) 43 1998 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Fernanda Baião) 44 VF - Algoritmo Como dividir um conjunto de atributos agrupados {A 1, A 2,, A n } em 2 (ou mais) conjuntos {A 1, A 2,, A i } e {A i,, A n } tal que nenhum (ou um número mínimo de) aplicativos que acessam dois (ou mais do que um) conjuntos VF - Algoritmo Sejam TQ = conjunto de aplicativos que acessam apenas TA BQ = conjunto de aplicativos que acessam apenas BA OQ = conjunto de aplicativos que acessam tanto TA quanto BA e CTQ = num. total de acessos a atributos por aplicativos que acessam apenas TA CBQ = num. total de acessos a atributos por aplicativos que acessam apenas BA COQ = num. total de acessos a atributos por aplicativos que acessam tanto TA quanto BA Encontre o ponto na diagonal que maximize CTQ * CBQ - COQ 2 1998 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Fernanda Baião) 45 1998 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Fernanda Baião) 46 VF - Algoritmo 2 problemas : Grupo formado no meio da matriz agrupada Desloque uma linha para cima e uma coluna para a esquerda e aplique o algoritmo para encontrar o melhor ponto de divisão Repita para todos os possíveis deslocamentos Custo O(m 2 ) Mais de 2 grupos Divisão m-caminhos Tente 1, 2,, m-1 pontos de divisão sobre a diagonal e tente encontrar o melhor ponto para cada um deles Custo O(2 m ) VF - Correção Uma relação R, definida sobre o conjunto de atributos A e chave K, fragmentada verticalmente F R = {R 1, R 2,, R r } Completude A = A Ri Reconstrução R = K R i, Ri FR Disjunção Ids, quando presentes, não são considerados sobrepostos pois são mantidos pelo sistema (transparente ao usuário) Chaves duplicadas não são consideradas sobrepostas 1998 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Fernanda Baião) 47 1998 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Fernanda Baião) 48 8

Fragmentação Híbrida Alocação 1998 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Fernanda Baião) 49 Alocação de fragmentos Descrição do problema Dados F = {F1, F2,, Fn } fragmentos S ={S1, S2,, Sm } nós da rede Q = {q1, q2,, qq } aplicativos Encontre a distribuição ótima de F em S Otimalidade Custo mínimo Comunicação + armazenamento + processamento (leitura & atualização) Custo em termos de tempo (geralmente) Desempenho Tempo de resposta e/ou vazão do sistema Restrições Por nó (armazenamento e processamento) 1998 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Fernanda Baião) 51 Requisitos de Informação Informações do banco de dados Seletividade dos fragmentos Tamanho dos fragmentos Informações de aplicativos Tipos e números dos acessos Localidade dos acessos Informações dos nós Custo unitário de armazenamento de um dado em um nó Custo unitário de processamento em um nó Informações da rede Largura de banda Latência Overhead de comunicação 1998 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Fernanda Baião) 52 Alocação De arquivos (PAA) versus de Bancos de Dados (PABD) Fragmentos não são arquivos individuais Relacionamentos têm que ser mantidos Acesso aos BD é mais complicado Modelo de acesso a arquivos remotos não é aplicável Relacionamento entre alocação e processamento de consultas Custos adicionais que devem ser considerados Manutenção da integridade Controle de concorrência 1998 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Fernanda Baião) 53 Modelo de alocação Forma Geral Min(custoTotal) Sujeito às restrições De tempo de resposta De armazenamento De processamento Variável de decisão X ij = 1 se fragmento F i é armazenado no nó S j 0, caso contrário 1998 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Fernanda Baião) 54 9

Modelo de Alocação Alocação Exemplo de Algoritmo Métodos de solução PAA é NP-completo PABD também NP-completo Heurísticas baseadas em Problema da mochila Técnica de otimização branch and bound Tentativas de reduzir o espaço de soluções Ignorar replicação Algoritmo de Huang e Chen 2 passos: Aloca réplicas em cada nó com consulta de leitura Retira réplicas para minimizar custo consultas de atualização 1998 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Fernanda Baião) 55 1998 M. Tamer Özsu e Patrick Valduriez (tradução livre e adaptações Fernanda Baião) 56 10