High-Performance Extensible Indexing Publicado em 1999 na 25th VLDB Conference Por: Marcel Kornacker Apresentado por: Gustavo Augusto e Ivan Silva TABD.

Slides:



Advertisements
Apresentações semelhantes
Pearson Education Slide 1. Pearson Education Slide 2 Cap í tulo 19 Criado por Frederick H. Colclough, Colorado Technical University Standard Template.
Advertisements

AULA 8 Profa. Sandra de Amo GBC053 – BCC
Banco de Dados Prof. Antonio.
Curso: Banco de Dados I Análise de Sistemas PUC Campinas
Novos serviços da ASP.Net 2.0
Evolução dos SGBD’s.
Evolução dos SGBD’s (2ª Parte).
Resumo 1.1) Introdução 1.2) Abordagem Convencional de Arquivos
Prof.: Bruno Rafael de Oliveira Rodrigues
Planificação do Projecto de SW
Garantia de Qualidade do software
Recuperação Como garantir a integridade da informação, em caso de avarias de HW ou SW forma de suportar a reposição de um estado consistente da informação.
Maurício Edgar Stivanello
Rodrigo Braga Pinheiro
Motor de Armazenamento
Desenvolvimento Baseado em CGI Material cedido pelo Prof
Indices estruturados por B-TREE
Gerenciamento de Arquivos, Páginas e Registros
Árvores.
Pesquisa em Memória Primária
Pesquisa em Memória Primária
Métodos de Classificação por Seleção: HeapSort
Material III-Bimestre Wagner Santos C. de Jesus
Sistemas de Informações Geográficas
Aula 6 Subprogramas Universidade do Vale do Rio dos Sinos
Documentando con Javadoc
Grupo 5: Fernando Lourenço Pinho Costa Rafael de Souza Santos
Aula 12 Biblioteca padrão do C++ O que é? Composição
Uma metodologia para o desenvolvimento de aplicações de bases de dados
Microsoft Access Carlos Sebastião.
Rodrigo Cristiano Silva
Tecnologias Web Rodrigo Cristiano Silva
Finding and Evaluating Community Structure in Networks
Alberto Rodrigues Costa Junior - (arcj)
Heaps de Fibonacci Lino Alves.
Compressão de Textos Juliano Palmieri Lage.
Pesquisa em Memória Primária
Marcus Vinicius Silva Soares Orientador: Luiz Merschmann Outubro / 2010.
INF 1010 Estruturas de Dados Avançadas
Laboratório de Programação I Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Design Patterns / Acesso ao banco de dados (java.sql)
INTRODUÇÃO ÁS BASES DE DADOS
Sistemas Operacionais
Curso EFA de técnico de Informática e Sistemas
MapReduce Conceitos e Aplicações
SISTEMAS DE GERENCIAMENTO DE BANCO DE DADOS Hélder Lima e Silva - hmls
Recuperação de Informação
Banco de Dados Parte 04 Ceça. Ceça Moraes 2 Conteúdo  Os três níveis da arquitetura  Mapeamentos  Arquitetura cliente-servidor.
BCC /01 Aula Teórica 09 Funções Material Didático Proposto. 1 BCC701 – Programação de Computadores I Universidade Federal de Ouro Preto Departamento.
Configuração do Ambiente de programação
Linguagem de Programação II Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Programação para Web Unidade 06 – Java Beans e BDs Prof.: Henrique Santos.
Heaps Binomiais Rômulo de Almeida Bruno Mestrando em Ciência da Computação Professora Liliane Salgado Disciplina - Algoritmos.
PostGres - Transacções
HSQL database engine Processamento e Optimização de Interrogações Vitor Silva.
Gestão da Configuração do Software
PostgreSQL Índices Nuno Campos N.º Nuno Campos - N.º Índice Introdução Tipos de Índices – B-Tree – R-Tree – Hash – GiST Classes de Operadores.
Armazenamento de Informação em HSQL LEIC-Tagus – TDB 05/06 Bruno Azenha nº
Professor: Pedro Lopes Gestão de Base de dados Ano Lectivo 2010/2011.
Programação para Internet
Sistemas de Gestão de Bases de Dados Educação e Formação de Adultos (EFA) Operador de Informática Arcozelo 2009/2010 Curso Co-Financiado por:
Daniel Paulo Introdução Neste capítulo trataremos a relação entre tabelas e FILEGROUPS, bem como a alocação interna de dados.
Daniel Paulo Introdução Informações de uma tabela ou view podem ser encontradas de maneira mais rápida através da utilização.
Programação para Web I AULA 2 BANCO DE DADOS.
/ de Julho de UFPE - Universidade Federal de Pernambuco CIn - Centro de Informática Pós-Graduação em Ciência da Computação Tópicos Avançados.
Graph Database Neo4j Edson Barboza.
/ de Abril de UFPE - Universidade Federal de Pernambuco Centro de Informática Pós-Graduação em Ciência da Computação Dissertação de Mestrado.
YOUR LOGO Tópicos Avançados em Internet Prof. Lincoln Ferreira Dantas Sistemas de Informação UNIESP – Presidente Epitácio.
Persistência de dados e padrão DAO
Persistência de dados e padrão DAO Padrões de Projeto Orientado a Objetos Profa. Danielle Martin/Mauricio Universidade de Mogi das Cruzes.
Transcrição da apresentação:

High-Performance Extensible Indexing Publicado em 1999 na 25th VLDB Conference Por: Marcel Kornacker Apresentado por: Gustavo Augusto e Ivan Silva TABD 23/04/12

Introdução Métodos eficientes de acesso à árvores de procura são cruciais para qualquer base de dados. Em tradicionais DBMS relacionais, árvores B+ são suficientes para queries com tipos de dados standards do SQL Mas para extensive object-relational database management systems (ORDBMSs) novos métodos são necessários.

Introdução (continuação) As ORDBMSs são feitas para suportar aplicações como Servidores web dinâmicos Sistemas de informação geográfica Ferramentas CAD Etc... Para essas aplicações novos métodos de acesso (AM). Entrentanto fazer um AM não é trivial, pois é necessário um vasto conhecimento em protocolos de concorrência e recuperação

Introdução (problema) No estado da arte comercial, há o Oracles Extensible Indexing Interface e o Informix Dynamic Server with Universal Data Option (IDS/UDO).

Introdução (proposta) Generalized Search Tree(GiST)

Índice Descrição do GiST Arquitetura e implementação do GiST Implementation Issues Concurrency control and Recovery Performance Measurements Summary

Descrição do GiST GiST é uma arvore equilibrada que fornece algoritmos template para navegação entre estruturas de árvores através de page splits e deletes. Como todas as outras árvores de indexação, o GiST guarda pares (key, RID) nas folhas. RIDs (Record Identifiers) apontam para os registos na pagina de dados. Paginas internas contêm pares (predicado, apontador da pagina filho) onde o predicado avalia TRUE para cada chave dentro ou abaixo da pagina filho associada

Descrição do GiST Exemplos de bases que seguem essas propriedades: – Árvores B+ – Árvores R Além desses requerimentos estruturais, o GiST não impõe nenhum requerimento extra sobre os dados chave guardados na arvore ou sobre a organização dos mesmos dentro e entre as paginas permitindo dados multidimencionais.

Descrição do GiST O GiST suporta as operações standard de índices: – Search: com um predicado, retorna todas as folhas com entradas que satisfaçam o predicado – Insert: adiciona um par (key, RID) à árvore – Delete: remove um determinado par da árvore Entretanto é necessário uma ajuda de funções externas fornecidas pelo desenvolvedor do AM E.g. no search, é necessário definir uma funçao consistent() E.g. No delete, é necessário definir uma função union()

Arquitetura e implementação do GiST Ao implementar uma arquitetura extensão de AM baseada em GiST certos problemas precisam ser tratadas: User Defined Functions(UDF) Costumização do formato de armazenamento e das paginas internas

Arquitetura e implementação do GiST A arquitetura é dividada em 3 partes GiST core(11functions) AM extension Data type adapter

Arquitetura e implementação do GiST A arquitetura é dividada em 3 partes GiST core(11functions) AM extension Data type adapter

Arquitetura e implementação do GiST A arquitetura é dividada em 3 partes GiST core(11functions) AM extension Data type adapter

Arquitetura e implementação do GiST s

As operações search, insert e delete mudam de forma a usar as funçoes de interface do GiST core. Essas novas operações optimizam o número de chamadas UDF.

Implementation Issues A implementação da extensão GiST AM inclui controlo de concurrencia e recuperação.

Análise performance Concurrency control – O protocolo de locking que permite a procura e actualizações de forma concurrente nas arvores é feita usando uma adaptação da técnica de B-link tree. – Todas as páginas estão ligadas umas às outras. – Para alem do link, cada página tem um PSN (page number sequence). – Em cada page split o actual PSN da página vai para o ramo da direita e um novo PSN é atribuído ao ramo da esquerda. – O Log é apenas efectuado a cada 100 incrementos para garantir eficiência.

Recovery O protocolo de logging do GiST suporta alta concurrencia nas arvores de procura, dividindo-os em content-changing (item insertion and deletion at the leaf level) e structure- modifying parts (page splits, parent entry updates, page deletions). A API implementada não modifica em nada a implementação base Informix Dynamic Server with Universal Data Option (IDS/UDO).

Performance Measurements GiST-based R-trees VS built-in R-trees – Software engineering benefits – higher performance – Performance comparation involves individual search and insert – Search built-in: 1359 UDF calls – Search GiST-based: 80 UDF calls – Insert built-in: 182 UDF calls – Insert GiST-based: 4 UDF calls – Insert built-in W/split: 704 UDF calls – Insert GiST-based W/split: 66 UDF...

Summary Modelo GiST-based como extenção da implementação IDS/UDO. Clara separação das funcionalidades de uma AM e os algoritmos genéricos de search e update. 1. Não tem que se preocupar com concurrencias nem protocolos de recuperação 2. AM está ligeiramente integrado na BD do ponto de vista operacional, o que garante tanta fiabilidade quando as built-in. Redução das linhas de implementação. Melhoramento na performance entre os 14 e 40%.