A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Daniel J. Abadi – Yale - New Haven, USA Samuel R. Madden – MIT – Cambrigde, USA Nabil Hachem – Avantgarde Consulting – Shrewbury, USA SIGMOD '08 Apresentado.

Apresentações semelhantes


Apresentação em tema: "Daniel J. Abadi – Yale - New Haven, USA Samuel R. Madden – MIT – Cambrigde, USA Nabil Hachem – Avantgarde Consulting – Shrewbury, USA SIGMOD '08 Apresentado."— Transcrição da apresentação:

1 Daniel J. Abadi – Yale - New Haven, USA Samuel R. Madden – MIT – Cambrigde, USA Nabil Hachem – Avantgarde Consulting – Shrewbury, USA SIGMOD '08 Apresentado por Jhean M Lanski e Rodrigo A Araujo Column-Stores vs. Row-Stores: How Different Are They Really?

2 Introdução Motivação Proposta/Objetivo Star Schema Benchmark Modificações no Row-Oriented Resultados: Row-Oriented Modificações no Column-Oriented Resultados: Column-Oriented Conclusões Agenda

3 Introdução Column-Store Atributos ao invés de Tuplas. Orientado a leitura. Escritas podem demandar vários acessos. Data Warehouse, Decision Support, Business Intelligence.

4 Introdução

5 Motivação Column-Store vs Row-Store? Depende do cenário, Não é uma comparação que faz sentido. Primeira Questão: É possível obter o desempenho de um Column-Oriented em um Row-Oriented usando um design físico mais orientado a coluna?

6 Proposta/Objetivo 1)Simular um sistema Column-Oriented usando um sistema Row-Oriented. 2)Analisar as funcionalidades exclusivas de um Column-Oriented explorando o aumento na performance que cada funcionalidade proporciona.

7 Proposta/Objetivo Primeiro Objetivo: Modificar o design físico do sistema RO de modo que este pareça com um CO; Testar o sistema no Star Schema Benchmark; Avaliar se um sistema orientado a linha pode ter o desempenho de um sistema orientado a coluna.

8 Star Schema Benchmark Benchmark feito para Data Warehouse, baseado no TPC-H. É formado de uma tabela de fatos, e tabelas de dimensão ligadas a ela. 13 queries, separadas em 4 blocos chamados de flights. queries compostas de 2-4 junções e 1-2 agregações.

9 Star Schema Benchmark **ScaleFactor usado nos testes 10

10 Modificações no Row-Oriented Para simular um sistema orientado a coluna em um orientado a linha foram analisadas 3 abordagens: Particionamento Vertical Índice apenas nos planos Visões Materializadas

11 Modificações no Row-Oriented Particionamento Vertical Divide as relações em tabelas de dupla entrada (key, attribute) Inserções e Junções feitas por Hash Existe overhead por tupla, devido ao acréscimo de chaves

12 Modificações no Row-Oriented Índice apenas nos planos Atribui índices a cada coluna de cada tabela Os índices são estruturados em uma árvore B É eficaz em consultas com intervalo definido

13 Modificações no Row-Oriented Visões Materializadas Foram criadas visões ótimas das querys a serem usadas nos testes. O sistema acessa apenas as colunas necessárias para realizar a query. Ótimo, porém necessita de conhecimento prévio das querys.

14 Resultados: Row-Oriented Legenda: T: Tradicional Row-Oriented T(B): Traditional with Bitmap enabled MV: Materialized Views VP: Vertical Partitionating AI: All-Index Houve perda no desempenho: -Overhead nas tuplas -Junções na construção das tupla

15 Resultados: Row-Oriented C-Store tem melhor desempenho do que a versão ótima do sistema orientado a linha. Segunda Questão: Quais as funcionalidades específicas do CO que são responsáveis pelo alto desempenho?

16 Proposta/Objetivo 1)Simular um sistema Column-Oriented usando um sistema Row-Oriented. 2)Analisar as funcionalidades exclusivas de um Column-Oriented explorando o aumento na performance que cada funcionalidade proporciona.

17 Proposta/Objetivo Segundo Objetivo: Retirar as funcionalidades específicas do CO, uma a uma; Testar o sistema no Star Schema Benchmark; Avaliar o impacto de cada funcionalidade na performance do sistema orientado a coluna.

18 Modificações no Column-Oriented Para verificar o desempenho do CO, foram retiradas, uma a uma, as seguintes funcionalidades: Compressão Processamento por Bloco Materialização Tardia Junção Invisível

19 Modificações no Column-Oriented Compressão Dados do mesmo tipo contíguos em disco Run-Lenght Enconding Permite acesso sem descompressar

20 Modificações no Column-Oriented Processamento por Bloco Blocos de dados são enviados uma única vez para o operador Reduz Overhead de processamento Se a largura da coluna for fixa, os dados no bloco podem ser acessados como um array -> permite processamento paralelo

21 Modificações no Column-Oriented Materialização Tardia Realiza, preferencialmente, todas as operações antes de construir a tupla Não necessita descompressar os dados tão cedo Permite os benefícios de operar por bloco

22 Modificações no Column-Oriented Materialização Tardia - exemplo Where AND Query: Select custID, SUM(price) From table Where (prodID = 4) AND (storeID =1) Group By custID Construção da Tupla

23 Modificações no Column-Oriented Junção Invisível Junção feita especialmente para CO executando um Star Schema; Rescreve junções na tabela de fatos em predicados, e os processa em paralelo; Cria uma tabela hash para cada tabela de dimensão, processa os índices com a tabela de fatos, e cria entradas de 0 e 1 para cada tupla, indicando quais satisfazem os predicados; Faz um bit AND entre as tabelas, e só então une os atributos das tabelas de dimensão com a de fatos.

24 Modificações no Column-Oriented Junção Invisível – Exemplo (Passo 1)

25 Modificações no Column-Oriented Junção Invisível – Exemplo (Passo 2)

26 Resultados: Column-Oriented Legenda: t: Processamento por Bloco T: Processamento por Tupla i: Sem Junção Invisível I: Com Junção Invisível c: Sem Compressão C: Com Compressão l: Materialização Cedo L: Materialização Tardia Constatações: -Materialização Tardia -Compressão -Junção Invisível vs. Denormalização

27 Conclusões Existem diferenças entre um sistema CO e um RO a nível de execução de querys, além das óbvias diferenças a nível de armazenamento. As variações no RO para atingir o desempenho de um CO não obtiveram bons resultados, principalmente pelo overhead na construção das tuplas. Os testes nas funcionalidades do CO mostraram que os principais responsáveis pelo alto desempenho são a Materialização Tardia e a Compressão.


Carregar ppt "Daniel J. Abadi – Yale - New Haven, USA Samuel R. Madden – MIT – Cambrigde, USA Nabil Hachem – Avantgarde Consulting – Shrewbury, USA SIGMOD '08 Apresentado."

Apresentações semelhantes


Anúncios Google