BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING



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

Processamento e Otimização de Consultas

Banco de Dados. Otimização de consultas. Prof. Joao Eduardo Ferreira Prof. Osvaldo Kotaro Takai. Última atualização: 15 de maio de 2006

Algoritmos para Processamento e Otimização de Consultas. Adriano Douglas Girardello Ana Paula Fredrich Tiago Alexandre Schulz Sippert

INE 5336 Banco de Dados II

INE 5616 Banco de Dados II

INE 5432 Banco de Dados II

Fundamentos de Banco de Dados

Prof.: Clayton Maciel Costa

Processamento de Dados

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

BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING

Evolução. Tópicos. Bancos de Dados - Introdução. Melissa Lemos. Evolução dos Sistemas de Informação Esquemas Modelos. Características de SGBDs

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

Geração de código. Ivan Ricarte INTRODUÇÃO À COMPILAÇÃO

Processamento de Consultas

Prof. Marcelo Machado Cunha

SISTEMA GERENCIADOR DE BANCO DE DADOS

Estruturas de Armazenamento e Indexação. Rafael Lage Moreira Barbosa

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

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

Prof. Daniela Barreiro Claro

Estrutura de Dados. Ricardo José Cabeça de Souza Parte 1

Modelos. Comunicação com clientes

Projeto: Camada Independente de Dispositivo

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

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

Arquitetura de Banco de Dados

Banco de Dados. Uma coleção de dados relacionados [ELMASRI/NAVATHE]

Sistema para aprendizado de Álgebra Relacional e Linguagem SQL

Faculdade Lourenço Filho - ENADE

Sistema de Bancos de Dados. Conceitos Gerais Sistema Gerenciador de Bancos de Dados

NOME SEXO CPF NASCIMENTO SALARIO

PROCESSAMENTO E OTIMIZAÇÃO DE CONSULTAS EM GERENCIADORES DE BANCO DE DADOS RELACIONAIS

Computação Paralela. Desenvolvimento de Aplicações Paralelas João Luís Ferreira Sobral Departamento do Informática Universidade do Minho.

FundamentosemInformática

Sistemas de Bases de Dados

ESTRUTURA INTERNA DO SISTEMA ESTRUTURA GERAL DO SGBD. Desempenho do BD ÙSatisfação do usuário. A performance do sistema depende:

Disciplina de Banco de Dados Introdução

Geração de código intermediário. Novembro 2006

Sistemas Operacionais de Rede INTRODUÇÃO AO ACTIVE DIRECTORY

Banco de Dados 1 Prof. MSc Wagner Siqueira Cavalcante

Métodos de Pesquisa em Memória Primária

Softwares Aplicativos Banco de Dados

BDII SQL Junção Revisão 8

Introdução à Banco de Dados. Definição

Integridade dos Dados

Modelo de Dados. Modelo para organização dos dados de um BD

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

05/06/2012. Banco de Dados. Gerenciamento de Arquivos. Gerenciamento de Arquivos Sistema Gerenciador de Banco de Dados Modelos de Dados

Curso de Aprendizado Industrial Desenvolvedor WEB. Disciplina: Banco de Dados Professora: Cheli Mendes Costa Modelo de Dados

4 Implementação e Resultados Experimentais

Universidade Federal de Goiás Ciências da Computação Sistemas Operacionais 2

PROCESSAMENTO DE CONSULTAS EM BANCOS DE DADOS DE DIFERENTES TECNOLOGIAS

Banco de Dados. Introdução. João Eduardo Ferreira Osvaldo Kotaro Takai. DCC-IME-USP

Roteiro 2 Conceitos Gerais

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

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

Tecnologia da Informação. Visão Geral sobre Informática

Programação de Computadores III

Roteiro. Conceitos e Arquitetura de Sistemas de Banco de Dados. Conceitos e Arquiteturas de Sistemas de Banco de Dados. BCC321 - Banco de Dados I

Sistemas Distribuídos. Aleardo Manacero Jr.

14/09/2008. Curso Superior de Tecnologia em Bando de Dados Disciplina: Projeto de Banco de Dados Relacional II Prof.: Fernando Hadad Zaidan

Prof. Antonio Almeida de Barros Jr. Prof. Antonio Almeida de Barros Junior

ADMINISTRAÇÃO DOS RECURSOS DE DADOS

Prevayler. Perola. André Luís Sales de Moraes Juliana Keiko Yamaguchi Tatiana Yuka Takaki

EMENTAS DAS DISCIPLINAS

A Gerência em Redes de Computadores

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

Conteúdo Programático

Introdução aos Computadores

FACULDADE INTEGRADAS DE PARANAÍBA ADMINISTRAÇÃO DE EMPRESAS. Bancos de Dados Conceitos Fundamentais

SISTEMAS DE BANCO DE DADOS. Prof. Adriano Pereira Maranhão

Revisão de Banco de Dados

Unidade 5 Armazenamento e Indexação

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados:

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO

Sistemas Distribuídos: Conceitos e Projeto Caracterização de Sistemas Distribuídos

A Linguagem SQL. Introdução a Banco de Dados DCC 011

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados

OURO MODERNO Web Designer APOSTILA DE EXEMPLO. (Esta é só uma reprodução parcial do conteúdo)

1

Orientação a Objetos

AULA 10- Plugins Tema Shapefile e Tema Externo

Introdução a Banco de Dados

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

Curso: Ciência da Computação Disciplina: Construção de Compiladores Período: Prof. Dr. Raimundo Moura

Orientação a Objetos

Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1.

LOGs e ALERTAS de DESEMPENHO

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

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

O que é um programa? Programa é uma lista de instruções que descrevem uma tarefa a ser realizada pelo computador.

Definição do Plano de Execução. Estimativas sobre os Dados

Tipos de Servidores. Servidores com estado

Banco de Dados Arquiteturas para SGBDs

Transcrição:

BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING http://www.uniriotec.br/~tanaka/tin0036 tanaka@uniriotec.br Bancos de Dados Distribuídos Processamento de Consultas

Ambiente com SGBD Distribuído

Processamento de Consultas Um problema (bem) resolvido em SGBDs centralizados Tradução de consultas em linguagem de alto nível para código executável Etapas do processamento Sintática (scan/parse e validação) Otimização Geração de código executável Execução da consulta

Processamento de Consultas Consulta em Alto Nível Processador de Consultas Resultado da Consulta

Consulta em Alto Nível SQL SELECT Scan, Parse e Validação Forma intermediária de Consulta Álgebra Relacional / Árvore ou Grafo de Consulta Otimizador de Consulta Plano de Execução Estratégia de execução escolhida dentre várias Gerador de Código Código para execução da consulta Pode ser executado diretamente (Modo interpretado) Ou armazenado e executado quando necessário (Modo compilado) Processador Run Time Resultado da Consulta

Otimização de Consultas Envolve escolha de algoritmos para implementação de operações relacionais Seleção Busca linear (força bruta); busca binária; uso de índice primário (ou hashing); uso de índice de agrupamento; uso de índice secundário em árvore B+, etc. Junção Nested loop (força bruta); single-loop; sort-merge; hash-join Projeção e operações de conjuntos Operações agregadas

Otimização de Consultas Por heurística Regra que funciona bem na maioria dos casos mas não é garantido funcionar bem em todos os casos possíveis Tipicamente reordenam as operações numa árvore de consulta Por estimativa de custo O otimizador estima (através de estatísticas) e compara os custos de diferentes estratégias de execução e escolhe aquela com a menor estimativa de custo. O número de estratégias consideradas deve ser limitado. Função de custo envolve seguintes componentes: acesso a disco, armazenamento, computação, uso de memória, comunicação.

Processamento de Consultas em BDs Distribuídos Num sistema distribuído, diversos fatores adicionais complicam o processamento de consultas. O principal é o custo de transferência de dados através da rede, que envolve arquivos intermediários que são transferidos entre sites para posterior processamento, bem como arquivos com resultados finais que são transferidos para o site que necessita dos resultados. Por isso, os algoritmos de otimização de consultas em SGBDs distribuídos consideram o objetivo de reduzir o volume de transferência de dados como um critério de otimização na escolha da estratégia de eecução de uma consulta distribuída.

Exemplo

Exemplo simples Para cada empregado, obter o nome do empregado e o nome do departamento no qual o empregado trabalha. Q: p FNAME,LNAME,DNAME (EMPLOYEE DNO=DNUMBER DEPARTMENT) A consulta Q é submetida no site 3. Estratégias: 1. Transferir as relações para o site 3 e executar a junção (1.003.500 bytes transferidos) 2. Transferir EMPLOYEE para o site 2, executar a junção, e enviar o resultado para o site 3 (1.400.000 bytes transferidos) 3. Transferir DEPARTMENT para o site 1, executar a junção e enviar o resultado para o site 3 (403.500 bytes transferidos)

Outro exemplo simples Para cada departamento, o nome do departamento e o nome do gerente do departamento. Q : p FNAME,LNAME,DNAME (DEPARTMENT MGRSSN=SSN EMPLOYEE) A consulta Q também é submetida no site 3. Estratégias: 1. Transferir as relações para o site 3 e executar a junção (1.003.500 bytes transferidos) 2. Transferir EMPLOYEE para o site 2, executar a junção, e enviar o resultado para o site 3 (1.004.000 bytes transferidos) 3. Transferir DEPARTMENT para o site 1, executar a junção e enviar o resultado para o site 3 (7.500 bytes transferidos)

Exemplos usando semijoin Projetar s atributos de junção de DEPARTMENT no site 2 e transferir para o site 1. Para Q, serão transferidos 4*100 = 400 bytes (junção por DNUMBER) Para Q, serão transferidos 9*100 = 900 bytes (junção por MGRSSN) Juntar o arquivo transferido com a relação EMPLOYEE no site 1 e transferir os atributos requeridos do arquivo resultante para o site 2. Para Q serão transferidos 34 * 10.000 = 340.000 bytes (DNO,FNAME,LNAME) Para Q, serão transferidos 39 * 100 = 3.900 bytes (MGRSSN,FNAME,LNAME) Executar a consulta fazendo a junção dos arquivos transferidos com DEPARTMENT no site 2, e apresentar o resultado ao usuário no site 2. Para Q, 400 + 340.000 = 340.400 bytes Para Q, 900 + 3.900 = 4.800 bytes Mais o volume a transferir para o site 3, caso este fosse o site requisitante.