Data Warehouse em Bancos de Dados NoSQL - Isaac.pptx
Esquema Lógico para Data Warehouse em Bancos
de Dados NoSQL Orientados por Colunas
Autores:
Mohamed Boussahoua, Omar Boussaid, Fadila Bentayeb
(Université Lumiere Lyon 2 | UL2)
Objetivo
• A principal contribuição deste trabalho é a
transformação do data warehouse relacional
em um data warehouse NoSQL orientado por
colunas
• Geralmente é implementados como sistemas
de gerenciamento de bancos de dados
relacionais tradicionais
• Pontos fracos
– Não são adequados para bancos de dados
distribuídos:
• Apresentam problemas de escalabilidade
• Problemas de operação de junção
• Armazenamento de dados em massa
• Problemas de acesso.
Data Warehouse
NoSQL
• Uma solução escolhida é usar um banco de
dados não relacional
– Permite o armazenamento com menor custo
– Oferece grande flexibilidade na representação de
dados
– Permite gerenciamento de grandes quantidades
de armazenamento de dados em servidores
distribuídos
• Tipos de modelagem
– Orientado por chave-valor (Key / Value Store)
– Orientado por colunas (Column Store)
– Orientado por documentos (Document Store)
– Orientado por grafos (Graph Store).
NoSQL
NoSQL orientado por colunas
• Modelo mais apropriado escolhido para o
armazenamento de data warehouse foi
orientado por colunas:
– Tabelas de largura variável
– Alto desempenho em consultas
– Compactação de dados
– Não há regras de normalização
NoSQL orientado por colunas
• Todos os dados são armazenados na mesma tabela
• Cada tabela é composta por uma ou mais famílias de
colunas (CFi)
• Cada família de colunas é composta por um conjunto
de atributos e colunas
• Cada linha de dados das colunas é referenciada por
uma chave Row-key (Ri)
• Tabela T, com 2 famílias de colunas, CF1 e CF2
• Cada linha de dados é referenciada pelas chaves R1, R2, R3, R4 e R5
NoSQL orientado por colunas
Armazenamento do Hbase
A proposta de abordagem
• Precisamos de um conjunto Q de consultas mais
frequentes a serem feitas em uma tabela de fatos
e suas dimensões
• Matriz de Uso de Atributos (AUM)
– Contém informações dos atributos que são utilizados
nas consultas mais frequentes
• Matriz de Afinidade de Atributos (AAM)
– Contém informações dos atributos que são
consultados simultaneamente nas consultas mais
frequentes
Construindo Famílias da Coluna:
• Uso de técnicas de agrupamento (clustering)
– Técnica usada para agrupar dados com informações semelhantes
– Ela tem como entrada um conjunto de atributos obtidos a partir da
Matriz de Afinidade de Atributos (AAM)
– A saída são famílias de colunas formadas por atributos/elementos
que tenham características semelhantes
• Entre vários tipos de algoritmos de agrupamento o algoritmo escolhido
foi o k-means
– Permite construir o número máximo dos grupos possíveis
– Tem entrada a matriz de afinidade de atributo (AAM) e um número k
– A saída é um conjunto k de famílias de colunas
A proposta de abordagem
Implementação, Experimentos e Resultados
• Para o experimento é usado uma tabela de fatos
e suas 9 tabelas de dimensões
• Foram selecionados 19 consultas que acessam 67
atributos explorando todo o esquema da tabela
de fatos
• O banco de dados não relacional usado foi
HBase.
• Foram calculam cubos OLAP com base nas 19 consultas com um
número gradualmente crescente dimensões
• O grau dessa dimensionalidade é dividido em 3 níveis:
– pequeno (SD), médio (MD) e grande (LD)
– Quanto maior o grau de dimensionalidade da consulta, maior será o
numero de informações (tabelas, atributos e predicados) usados para
efetuar uma consulta
Implementação, Experimentos e Resultados
• Benchmark TPC-DS foi usado para avaliar o
desempenho da técnica
• O método proposto foi analisado com os valores de k:
• k = 4
• k = 11
• k = 13
• Outros dois métodos foram escolhidos para serem
comparados ao nosso:
– Flat Schema
• Os dados são armazenados em uma tabela Hbase com uma família
de colunas para todos os atributos
– Naıve schema
• Os dados são armazenados em uma tabela Hbase com 10 famílias
de colunas
Implementação, Experimentos e Resultados
Implementação, Experimentos e Resultados
Duração do tempo de execução das consultas q1, q2, q3
• Esquema k = 4
– Não teve um bom resultado pela má escolha do número de famílias da
colunas k; os atributos nas famílias de colunas não estão bem agrupados.
• Flat schema
– Todos os atributos das tabelas de fatos e dimensões são combinados em
uma família de colunas; HBase solicita que carregue na memória um
grande número de arquivos HFiles
• Naive schema, k = 11, k = 13
– HBase explora famílias de colunas com tamanhos de dados pequenos
– O número de HFiles na memória é pequeno
Implementação, Experimentos e Resultados
Pequeno (SD), Médio (MD) e Grande (LD),
Tempo de resposta das consultas globais de q1 a q19
Conclusão
• O objetivo principal deste trabalho é a transformação
do data warehouse relacional em um data warehouse
NoSQL colunar (CN-DW).
• Vários testes foram feitos usando benchmark TPC-DS
• Os resultados obtidos, comparado aos outros métodos,
confirmam os benefícios das técnicas de agrupamento
(clustering) para a criação de famílias de colunas
aumentando assim o desempenho das consultas