______________________________
1 Discente do Curso de Ciência da Computação da Universidade Federal de Rondônia
2 Professo...
Segundo Date (2004) “Data Warehouse é um deposito de dados orientado por
assunto, integrado, não volátil, variável com o t...
las com a mesma eficiência, porém com muita rapidez. As duas tecnologias
se complementam, ao ponto de que um Data Warehous...
Figura 2 - Dicionário de Dados:
Fonte: elaborada pelo autor
2.3 MODELAGEM
A seguir foi elaborado o Modelo Dimensional do D...
2.4 IMPLEMENTAÇÃO DO DATA WAREHOUSE
dados do Data Warehouse são armazenados no Sistema Gerenciador de Banco
de Dados (SGBD...
 Processo de ETL para carregar a tabela [d_responsavel_destinacao_final]:
t_d_responsavel_destinacao_final.ktr
 Processo...
6) [MonthDesc]
O tipo do Step é [Stream Value Lookup].
Define a [descrição do mês] da data.
7) [Select/Rename values]
O ti...
3) [Uppercase]
O tipo do Step é [Calculadora].
Caso os campos possuam letras minúsculas, converte as letras para maiúsculo...
Figura 6 - t_d_data.ktr
Fonte: elaborada pelo autor
Depois que todo processo de ETL foi realizado sobre os dados, então fa...
3. RESULTADOS
O Data Warehouse está criado e pronto para que os usuários possam usá-lo. O
usuário poderá consultar o Data ...
PENTAHO, “A Hitachi Data Systems Company”, Disponível em: <
http://www.pentaho.com/>, acesso em: 05 mai. 2015 às 10hs.
SQL...
Próximos SlideShares
Carregando em…5
×

Artigo data warehouse bd ii - 2015-1 a

485 visualizações

Publicada em

Este trabalho apresenta o desenvolvimento e a implementação de um Data Warehouse, utilizando técnicas de ETL e o software PENTAHO.

Publicada em: Tecnologia
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
485
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
2
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Artigo data warehouse bd ii - 2015-1 a

  1. 1. ______________________________ 1 Discente do Curso de Ciência da Computação da Universidade Federal de Rondônia 2 Professora Orientadora do Curso de Ciência da Computação da Universidade Federal de Rondônia DATA WAREHOUSE: DESENVOLVIMENTO UTILIZANDO O SOFTWARE PENTAHO Rodrigo da Silveira1 rodrigosilveirax@gmail.com Darlene Figueiredo Borges Coelho2 darlene@unir.br Resumo Este trabalho apresenta o desenvolvimento e a implementação de um Data Warehouse, utilizando técnicas de ETL e o software PENTAHO. Consiste ainda na elaboração de uma maneira mais eficiente para gerenciar as informações a cerca dos dados necessários para o controle de resíduos da cidade de Porto Velho. Palavras-chave: Data Warehouse, ETL, PENTAHO 1 INTRODUÇÃO As organizações possuem um vasto volume de dados importantes armazenados de diversas formas e, geralmente, é muito difícil reuni-los de maneira integrada. Assim, nesse cenário torna-se complexo realizar análise das informações das organizações e consequentemente chegam a ser pouco aproveitadas para dar suporte à decisões. Com a finalidade de minimizar essas dificuldades, no centro desse ambiente, está o conceito de Data Warehouse. A idéia do Data Warehouse é reunir em um único local, somente os dados considerados úteis no processo decisório. Este trabalho tem como objetivo principal o desenvolvimento e a implementação de um Data Warehouse para armazenar as informações sobre os resíduos sólidos do município de Porto Velho-RO., utilizando para isso o software Pentaho. As informações sobre resíduos sólidos são procedentes da Secretaria Municipal de Serviços Básicos de Porto Velho-RO (SEMUSB). Dentre as inúmeras atividades, a SEMUSB é responsável pela coleta de resíduos sólidos (cimento, madeira, pedra, restos de construção civil, etc.) no município de Porto Velho/RO. A criação do Data Warehouse irá possibilitar que a SEMUSB tenha controle sobre resíduos sólidos coletados. Todo a modelagem e implementação do Data Warehouse está baseada em exemplos de dados coletados da SEMUSB para fins de aprendizado exclusivamente acadêmico. As técnicas e softwares que cobrem todas as etapas do desenvolvimento e implementação do Data Warehouse foram realizadas através da utilização de ETL e do software PENTAHO. 1.1 PRINCIPAIS CONCEITOS a) Data Warehouse
  2. 2. Segundo Date (2004) “Data Warehouse é um deposito de dados orientado por assunto, integrado, não volátil, variável com o tempo, para apoiar as decisões gerenciais”. b) ETL, segundo De Paula: O processo de ETL (Extract, Transform and Load) é um processo que exige esforço e a maior parte do tempo de construção de um Data warehouse, este processo vai extrair dados de fontes de dados heterogêneas e tem que alimentar o Data Warehouse de forma homogênea e concisa, pois vai servir de base para gerar relatórios e gráficos de apoio à decisão para a gerencia da corporação e não pode trazer resultados errôneos. c) Software Pentaho. Segundo a Pentaho: “Pentaho é uma abrangente plataforma para integração de dados e Business Analytics (Inteligência Empresarial)”. É um software desenvolvido em Java, que funciona como uma plataforma completa para solução de Business Inteligence (Inteligência Empresarial). Que envolve no seu desenvolvimento e execução as seguintes áreas: ETL (Extraction, Transformation and Load), OLAP, Reporting, Dashboard, e Data-Mining (Mineração de Dados) Possui os seguintes componentes: - Pentaho Data Integration (também conhecido como PDI ou Kettle) Ferramenta de ETL. - Pentaho Workbench Schema (também conhecido como PSW) Ferramenta para criação e publicação de Cubos OLAP no Sevidor OLAP. - Pentaho BI Server/Pentaho Analysis Services (também conhecido como Mondrian) Ferramenta utilizada como Servidor OLAP. - Pentaho Report Design (também conhecido como PRD) Ferramenta para criação de relatórios e consultas. - Pentaho BI Server/Ctools Ferramenta para criação de dashboards. - Pentaho Data Mining (também conhecido como Weka) Ferramenta para Data Mining (Mineração de Dados). Pentaho possui duas versões, que são: a Pentaho Enterprise Edition (versão licenciada, paga) e a Pentaho Comunity Edition (versão livre, open source, não paga). Neste trabalho utilizou-se a Pentaho Comunity Edition. d) MySQL, segundo a ORACLE BRASIL: MySQL é o banco de dados de código aberto mais popular do mundo e possibilita a entrega econômica de aplicativos de banco de dados confiáveis, de alto desempenho e redimensionáveis, com base na Web. e) OLAP, segundo De Campos: OLAP é um conceito de interface com o usuário que proporciona a capacidade de ter idéias sobre os dados, permitindo analisá-los profundamente em diversos ângulos. As funções básicas do OLAP são: • Visualização multidimensional dos dados; • Exploração; • Rotação; • Vários modos de visualização. O OLAP e o Data Warehouse são destinados a trabalharem juntos, enquanto o DW armazena as informações de forma eficiente, o OLAP deve recuperá-
  3. 3. las com a mesma eficiência, porém com muita rapidez. As duas tecnologias se complementam, ao ponto de que um Data Warehouse para ser bem sucedido, já na sua concepção, deve levar em consideração o que se deseja apresentar na interface OLAP. 2 DESENVOLVIMENTO DE UM DATA WAREHOUSE COM DADOS DE RESÍDUOS SÓLIDOS 2.1 LEVANTAMENTOS DOS DADOS Os dados de resíduos sólidos são provenientes da Secretaria Municipal de Serviços Básicos de Porto Velho-RO (SEMUSB), que estão registrados em um formulário de papel de forma manual. Isto é, o usuário utiliza uma caneta para registrar os dados em um formulário de papel. Como não possuem uma fonte de dados digitais, então todos os dados coletados foram digitados em uma única planilha eletrônica do padrão Microsoft Excel. Posteriormente, essa planilha eletrônica foi convertida para um arquivo padrão CSV Text como mostra a figura 1. Figura 1 - Arquivo padrão CSV Text dos dados da SEMUSB Fonte: elaborada pelo autor 2.2 ANÁLISES DOS DADOS Após o procedimento de criação do arquivo padrão CSV Text, foi feita a análise dos dados e o desenvolvimento do dicionário de dados. Para o dicionário de dados (figura 2) foi criado um arquivo (dicionario_de_dados-semusb_residuos.xlsx) que contempla as definições e representações de elementos de dados obtidos a partir da coleta e levantamento das informações sobre os dados de resíduos sólidos da SEMUSB.
  4. 4. Figura 2 - Dicionário de Dados: Fonte: elaborada pelo autor 2.3 MODELAGEM A seguir foi elaborado o Modelo Dimensional do Data Warehouse (Figura 3), sendo para isso utilizado o software denominado Power Architect (SQL Power Software), que é uma ferramenta utilizada para projetar o Modelo Dimensional do Data Warehouse. Figura 3: Modelo Dimensional Fonte: elaborada pelo autor
  5. 5. 2.4 IMPLEMENTAÇÃO DO DATA WAREHOUSE dados do Data Warehouse são armazenados no Sistema Gerenciador de Banco de Dados (SGBD) chamado de MySQL. Primeiramente foi criado no MySQL um banco de dados com o nome de SEMUSBDW. Através do software Power Architect, de forma automática, é possível criar o script SQL para a geração de todas as tabelas previamente modeladas. Assim, a partir da console do MySQL, foi executado o script do SQL para criação dessas tabelas. De forma conclusiva, tem-se o Script SQL (Figura 4) para criação do banco de dados do Data Warehouse [semusbdw]:semusbdw_cria-db.sql. Figura 4: Criação do banco de dados [semusbdw] no MySQL Fonte: elaborada pelo autor Em seguida, foi utilizado o software Power Architect para criar automaticamente o script SQL (Figura 5), envolvendo todas as definição das tabelas para posteriormente os dados serem armazenados no Data Warehouse. Figura 5: Criação das tabelas do banco de dados [semusbdw] no MySQL Fonte: elaborada pelo autor 2.5 PROCESSO ETL Nesta fase do desenvolvimento é necessário criar e executar o processo de ETL para ler toda a fonte de dados; tratar os dados lidos (limpa, calcula, seleciona, trata) e posteriormente, gravar os dados no Banco de Dados do Data Warehouse [semusbdw]. O processo de ETL foi criado e executado utilizando o software denominado Pentaho Data Integration (Kettle). Tem-se um processo de ETL para carregar cada tabela do Modelo Dimensional, conforme a seguir apresentado:  Processo de ETL para carregar a tabela [d_data]: t_d_data.ktr  Processo de ETL para carregar a tabela [d_placa]: t_d_placa.ktr  Processo de ETL para carregar a tabela [d_setor]: t_d_setor.ktr  Processo de ETL para carregar a tabela [d_enc_aterro_sanit] : t_d_enc_aterro_sanit.ktr  Processo de ETL para carregar a tabela [d_balanc_semusp]: t_d_balanc_semusp.ktr mysql> create database semusbdw; Query OK, 1 row affected (0.03 sec) mysql> use semusbdw; Database changed mysql> . Semusbdw_cria-db.sql
  6. 6.  Processo de ETL para carregar a tabela [d_responsavel_destinacao_final]: t_d_responsavel_destinacao_final.ktr  Processo de ETL para carregar a tabela [d_tipo_residuo]: t_d_tipo_residuo.ktr  Processo de ETL para carregar a tabela [d_origem]: t_d_origem.ktr  Processo de ETL para carregar a tabela [f_volume]: t_f_volume.ktr Exemplos: Descrição de processos de ETL " +-> [t_d_data.ktr] Efetua a carga da tabela [d_data]. Efetua a carga da [Dimensão Data]. Descrição do processo de ETL [t_d_data.ktr]: 1) [10000 dias: 25 anos] O tipo do Step é [Generate Rows]. Gera 10000 valores. O tipo do valor gerado é [date]. O formato do valor é [aaaammdd]. Cada valor gerado representará uma data ou um dia. Os 10000 dias representarão 25 anos. O primeiro dia gerado será o dia [20100101]. O último dia gerado será o dia [20370518]. Portanto, a dimensão [d_data] estará apta a tratar dados movimentados entre 01/01/2010 a 18/05/2037. 2) Days_since O tipo do Step é [Obtêm o valor da sequecia do banco de dados]. Controla a sequência do banco de dados. 3) [Calc Date] O tipo do Step é [Calculadora]. Calcula: - O [ano] da [Data]. - O [mês] da [Data]. - O [dia do ano] da data. - O [dia do mês] da data. - O [dia da semana] da data. - A [semana do ano] da data. 4) [Quarter] O tipo do Step é [Value Mapper]. Calcula a que [trimestre] a data pertence. 5) [DayOfWeekDesc] O tipo do Step é [Stream Value Lookup]. Define a [descrição do dia da semana] da data.
  7. 7. 6) [MonthDesc] O tipo do Step é [Stream Value Lookup]. Define a [descrição do mês] da data. 7) [Select/Rename values] O tipo do Step é [Select values]. Renomeia os nomes das variáveis para os respectivos nomes da tabela [d_data]. 8) [d_data] O tipo do Step é [Saída a Tabela]. Grava os dados na tabela [d_data]. Isto é, gera a dimensão [d_data]. +-> [t_d_placa.ktr] Efetua a carga da tabela [d_placa]. Efetua a carga da [Dimensão Placa]. Descrição do processo de ETL [t_d_placa.ktr]: 1) [CSV file Input] O tipo do Step é [CSV Input]. Lê os dados da fonte de dados. 2) [Select values] O tipo do Step é [Select/Rename values]. Remove os dados que não serão utilizados. 3) [Uppercase] O tipo do Step é [Calculadora]. Caso a [placa] possua letras em minúscula, converte as letras para maiúsculo. 4) [Carrega Dimensão Placa] O tipo do Step é [Dimension Lookup/Update]. Grava os dados na tabela [d_placa]. Isto é, gera a dimensão [d_placa]. +-> [t_d_setor.ktr], [t_d_enc_aterro_sanit.ktr], [t_d_balanc_semusp.ktr], [t_d_responsavel_destinacao_final.ktr], [t_d_tipo_residuo.ktr] e [t_d_origem.ktr] Os processo de ETL [t_d_setor.ktr], [t_d_enc_aterro_sanit.ktr], [t_d_balanc_semusp.ktr], [t_d_responsavel_destinacao_final.ktr], [t_d_tipo_residuo.ktr] e [t_d_origem.ktr] seguem a mesma lógica do processo de ETL [t_d_placa.ktr ]. +-> [t_f_volume.ktr] Efetua a carga da tabela [f_volume]. Efetua a carga da [Fato Volume]. Descrição do processo de ETL [t_f_volume.ktr]: 1) [CSV file Input] O tipo do Step é [CSV Input]. Lê os dados da fonte de dados. 2) [Data yyyy/mm/dd] O tipo do Step é [Calculadora]. Converte a data do formato dd/mm/aaaa para o formato aaaa/mm/dd.
  8. 8. 3) [Uppercase] O tipo do Step é [Calculadora]. Caso os campos possuam letras minúsculas, converte as letras para maiúsculo. 4) [Dimensiona Placa] O tipo do Step é [Dimension Lookup/Update]. Localiza a [placa] na tabela [d_placa] e descobre o respectivo SK. 5) [Dimensiona Setor] O tipo do Step é [Dimension Lookup/Update]. Localiza o [setor] na tabela [d_setor] e descobre o respectivo SK. 6) [Dimensiona Enc_aterro_sanit] O tipo do Step é [Dimension Lookup/Update]. Localiza o [enc_aterro_sanit] na tabela [d_enc_aterro_sanit] e descobre o respectivo SK. 7) [Dimensiona Balanc_semusp] O tipo do Step é [Dimension Lookup/Update]. Localiza o [balanc_semusp] na tabela [d_balanc_semusp] e descobre o respectivo SK. 8) [Dimensiona Responsavel_destinacao_final] O tipo do Step é [Dimension Lookup/Update]. Localiza o [responsavel_destinacao_final] na tabela [d_responsavel_destinacao_final] e descobre o respectivo SK. 9) [Dimensiona Tipo_residuo] O tipo do Step é [Dimension Lookup/Update]. Localiza o [tipo_residuo] na tabela [d_tipo_residuo] e descobre o respectivo SK. 10) [Dimensiona Origem] O tipo do Step é [Dimension Lookup/Update]. Localiza o [origem] na tabela [d_origem] e descobre o respectivo SK. 11) [Dimensiona Data] O tipo do Step é [Lookup de valor do banco de dados]. Localiza a [data] na tabela [d_data] e descobre o respectivo SK. 12) [Grava Fato] O tipo do Step é [Insert/Update]. Grava dados na tabela fato [f_volume]. o Fato Volume é relacionado com as respectivas Dimensões em função das SK's. " A figura 6 exemplifica um processo de Processo de ETL para carregar a tabela [d_data]: t_d_data.ktr.
  9. 9. Figura 6 - t_d_data.ktr Fonte: elaborada pelo autor Depois que todo processo de ETL foi realizado sobre os dados, então faz-se a criação do Cubo OLAP, tendo como idéia principal disponibilizar o acesso ao Data Warehouse aos usuários via Cubo OLAP. Para a criação d o Cubo OLAP utilizou-se o software denominado Pentaho Schema Workbench., conforme Figura 7 Figura 7 - OLAP Schema Fonte: elaborada pelo autor
  10. 10. 3. RESULTADOS O Data Warehouse está criado e pronto para que os usuários possam usá-lo. O usuário poderá consultar o Data Warehouse utilizando as seguintes ferramentas encontradas no software Pentaho:  Pentaho BI Server/Pentaho User Console (PUC):  Ferramentas OLAP (OLAP Analysis )  Ferramentas de consulta (Dashboard)  Ferramentas de emissão de relatórios (Report) A Figura 8 exemplifica um Navegador OLAP (denominado Saiku) analisando dados do Cubo OLAP Figura 8 - OLAP Navegador Fonte: elaborada pelo autor REFERÊNCIAS DATE, C. J. Introdução a Sistemas de Bancos de Dados. 8ª Ed., Rio de Janeiro: Campus, 2004. DE CAMPOS, Wylton Luis Moura, “Conceitos Básicos Sobre OLAP”. Disponível em http://www.devmedia.com.br/conceitos-basicos-sobre-olap/12523#ixzz3lLUghe8S. Acessado em 25 de agosto de 2015, às 20:05hs. DE PAULA, Welington Lourenco Melo De Paula. “Extract, Transformation and Load (ETL) - Ferramentas BI”. Disponível em http://www.devmedia.com.br/extract- transformation-and-load-etl-ferramentas-bi/24408#ixzz3lLRUg7Ro. Acessado em 10 de julho de 2015, às 15:00hs. ORACLE BRASIL. Disponível Em http://www.oracle.com/br/products/mysql/overview/index.html. Acessado em 08 de maio de 2015, às 21:00hs.
  11. 11. PENTAHO, “A Hitachi Data Systems Company”, Disponível em: < http://www.pentaho.com/>, acesso em: 05 mai. 2015 às 10hs. SQL Power Software, “Data Modeling & Profiling Tool: SQL Power Architect”. Disponível em (http://www.sqlpower.ca/page/architect). Acessado em 03 de abril de 2015 às 10:32hs.

×