SlideShare ist ein Scribd-Unternehmen logo
1 von 20
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
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
Pequeno (SD)
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
Duração do tempo de execução das consultas q4 a q12
Médio (MD)
Implementação, Experimentos e Resultados
Duração do tempo de execução das consultas q13 a q19
Grande (LD)
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

Weitere ähnliche Inhalte

Ähnlich wie Data Warehouse em Bancos de Dados NoSQL - Isaac.pptx

Introdução a modelagem de dados parte II - Banco de Dados
Introdução a modelagem de dados parte II - Banco de DadosIntrodução a modelagem de dados parte II - Banco de Dados
Introdução a modelagem de dados parte II - Banco de Dadosinfo_cimol
 
Acessos Uniformes à Sistemas NoSQL
Acessos Uniformes à Sistemas NoSQLAcessos Uniformes à Sistemas NoSQL
Acessos Uniformes à Sistemas NoSQLthomasdacosta
 
Filesystem distribuído com hadoop!!!
Filesystem distribuído com hadoop!!! Filesystem distribuído com hadoop!!!
Filesystem distribuído com hadoop!!! Alessandro Binhara
 
DBA Brasil 2.0 NOSql Apache Cassandra para DBAs
DBA Brasil 2.0   NOSql Apache Cassandra para DBAsDBA Brasil 2.0   NOSql Apache Cassandra para DBAs
DBA Brasil 2.0 NOSql Apache Cassandra para DBAsRonaldo Leite Martins
 
MongoDB Aggregation Framework
MongoDB Aggregation FrameworkMongoDB Aggregation Framework
MongoDB Aggregation FrameworkLeandro Domingues
 
Padrões de Design para MapReduce
Padrões de Design para MapReducePadrões de Design para MapReduce
Padrões de Design para MapReduceKarla Okada
 
Oracle 11g – Inteligência em Banco de Dados
Oracle 11g – Inteligência em Banco de DadosOracle 11g – Inteligência em Banco de Dados
Oracle 11g – Inteligência em Banco de DadosDaniela Macedo
 
NoSQL no Microsoft Azure - Global Azure Bootcamp 2017
NoSQL no Microsoft Azure - Global Azure Bootcamp 2017NoSQL no Microsoft Azure - Global Azure Bootcamp 2017
NoSQL no Microsoft Azure - Global Azure Bootcamp 2017Renato Groff
 
PostgreSQL-Prático.pdf
PostgreSQL-Prático.pdfPostgreSQL-Prático.pdf
PostgreSQL-Prático.pdfArleiEvaristo
 
Resumo da Sessão "Effective Geodatabase Programming" do Esri DevSummit 2012
Resumo da Sessão "Effective Geodatabase Programming" do Esri DevSummit 2012 Resumo da Sessão "Effective Geodatabase Programming" do Esri DevSummit 2012
Resumo da Sessão "Effective Geodatabase Programming" do Esri DevSummit 2012 Bruno Caimar
 
I nd t_bigdata(1)
I nd t_bigdata(1)I nd t_bigdata(1)
I nd t_bigdata(1)wchevreuil
 
Alto desempenho com banco de dados MySQL
Alto desempenho com banco de dados MySQLAlto desempenho com banco de dados MySQL
Alto desempenho com banco de dados MySQLJonas Silveira
 
Data warehouse & olap
Data warehouse & olapData warehouse & olap
Data warehouse & olapBrian Supra
 

Ähnlich wie Data Warehouse em Bancos de Dados NoSQL - Isaac.pptx (20)

Introdução a modelagem de dados parte II - Banco de Dados
Introdução a modelagem de dados parte II - Banco de DadosIntrodução a modelagem de dados parte II - Banco de Dados
Introdução a modelagem de dados parte II - Banco de Dados
 
Acessos Uniformes à Sistemas NoSQL
Acessos Uniformes à Sistemas NoSQLAcessos Uniformes à Sistemas NoSQL
Acessos Uniformes à Sistemas NoSQL
 
Apresentação da Dissertação
Apresentação da DissertaçãoApresentação da Dissertação
Apresentação da Dissertação
 
Filesystem distribuído com hadoop!!!
Filesystem distribuído com hadoop!!! Filesystem distribuído com hadoop!!!
Filesystem distribuído com hadoop!!!
 
Base de dados no Excel 1.pdf
Base de dados no Excel 1.pdfBase de dados no Excel 1.pdf
Base de dados no Excel 1.pdf
 
DBA Brasil 2.0 NOSql Apache Cassandra para DBAs
DBA Brasil 2.0   NOSql Apache Cassandra para DBAsDBA Brasil 2.0   NOSql Apache Cassandra para DBAs
DBA Brasil 2.0 NOSql Apache Cassandra para DBAs
 
MongoDB Aggregation Framework
MongoDB Aggregation FrameworkMongoDB Aggregation Framework
MongoDB Aggregation Framework
 
Padrões de Design para MapReduce
Padrões de Design para MapReducePadrões de Design para MapReduce
Padrões de Design para MapReduce
 
Mongo db
Mongo dbMongo db
Mongo db
 
Artigo couchdb
Artigo couchdbArtigo couchdb
Artigo couchdb
 
Oracle 11g – Inteligência em Banco de Dados
Oracle 11g – Inteligência em Banco de DadosOracle 11g – Inteligência em Banco de Dados
Oracle 11g – Inteligência em Banco de Dados
 
NoSQL no Microsoft Azure - Global Azure Bootcamp 2017
NoSQL no Microsoft Azure - Global Azure Bootcamp 2017NoSQL no Microsoft Azure - Global Azure Bootcamp 2017
NoSQL no Microsoft Azure - Global Azure Bootcamp 2017
 
PostgreSQL-Prático.pdf
PostgreSQL-Prático.pdfPostgreSQL-Prático.pdf
PostgreSQL-Prático.pdf
 
SQL Oracle
SQL OracleSQL Oracle
SQL Oracle
 
Otimização MySQL
Otimização MySQLOtimização MySQL
Otimização MySQL
 
Resumo da Sessão "Effective Geodatabase Programming" do Esri DevSummit 2012
Resumo da Sessão "Effective Geodatabase Programming" do Esri DevSummit 2012 Resumo da Sessão "Effective Geodatabase Programming" do Esri DevSummit 2012
Resumo da Sessão "Effective Geodatabase Programming" do Esri DevSummit 2012
 
I nd t_bigdata(1)
I nd t_bigdata(1)I nd t_bigdata(1)
I nd t_bigdata(1)
 
Alto desempenho com banco de dados MySQL
Alto desempenho com banco de dados MySQLAlto desempenho com banco de dados MySQL
Alto desempenho com banco de dados MySQL
 
Data warehouse & olap
Data warehouse & olapData warehouse & olap
Data warehouse & olap
 
Aula Base de dados 2.pdf
Aula Base de dados 2.pdfAula Base de dados 2.pdf
Aula Base de dados 2.pdf
 

Data Warehouse em Bancos de Dados NoSQL - Isaac.pptx

  • 1. 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)
  • 2. Objetivo • A principal contribuição deste trabalho é a transformação do data warehouse relacional em um data warehouse NoSQL orientado por colunas
  • 3. • 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
  • 4. 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
  • 5. • 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
  • 6. 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
  • 7. 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)
  • 8. • 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
  • 9. 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
  • 10. 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
  • 11. A proposta de abordagem
  • 12. 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.
  • 13. • 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
  • 14. • 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
  • 15. Implementação, Experimentos e Resultados Duração do tempo de execução das consultas q1, q2, q3 Pequeno (SD)
  • 16. 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
  • 17. Implementação, Experimentos e Resultados Duração do tempo de execução das consultas q4 a q12 Médio (MD)
  • 18. Implementação, Experimentos e Resultados Duração do tempo de execução das consultas q13 a q19 Grande (LD)
  • 19. Implementação, Experimentos e Resultados Pequeno (SD), Médio (MD) e Grande (LD), Tempo de resposta das consultas globais de q1 a q19
  • 20. 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