Top Banner

of 80

Monografia Pentaho.PDF

Oct 05, 2015

Download

Documents

sapalexander
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • FBIO HIDEKI GUTIYAMA RENAN LOTTO SACILOTTO

    Desenvolvimento de um data warehouse para o processo de deciso em uma empresa de telecomunicaes

    So Paulo 2009

  • 2

    FBIO HIDEKI GUTIYAMA RENAN LOTTO SACILOTTO

    Desenvolvimento de um data warehouse para o processo de deciso em uma empresa de telecomunicaes

    Monografia apresentada Escola Politcnica da Universidade de So Paulo para Concluso do Curso de

    Engenharia de Computao

    Orientador: Prof. Dr. Jorge Rady de Almeida Jr.

    So Paulo 2009

  • 3

  • 4

  • 5

    FBIO HIDEKI GUTIYAMA RENAN LOTTO SACILOTTO

    Desenvolvimento de um data warehouse para o processo de deciso em uma empresa de telecomunicaes

    Monografia apresentada Escola Politcnica da Universidade de So Paulo para Concluso do Curso de

    Engenharia de Computao

    So Paulo 2009

  • 6

    ERRATA

    PGINA LINHA ONDE SE L LEIA-SE

  • 7

    DEDICATRIA

    A todas as pessoas que nos ajudaram diretamente ou indiretamente na

    realizao deste trabalho.

  • 8

    AGRADECIMENTOS

    Prof. Dr. Jorge Rady de Almeida Jr., pela orientao durante todo o

    desenvolvimento do trabalho, e tambm pela compreenso nas fases onde a

    dedicao ao trabalho no pode ser grande.

    Toda a equipe da empresa In.voice que esteve envolvida com o sistema, por

    disponibilizarem as informaes necessrias e por se colocarem a disposio para

    ajudar.

    Raphael Mielle Trintinalia e Vitor Araujo Romera, por aceitarem liberar um

    integrante da equipe para que este trabalho pudesse ser realizado.

    Deus, por ter evitado que meu laptop fosse roubado com grande parte da

    monografia.

  • 9

  • 10

  • 11

    RESUMO

    O sistema baseado em data warehouse desenvolvido tem por objetivo auxiliar

    a soluo de problemas da empresa In.voice, a empresa cliente deste projeto. O

    grande problema abordado diz respeito manipulao de uma grande quantidade

    de dados e, conseqentemente a perda de eficincia na gerao de relatrios que

    utilizam bases de dados tradicionais. O uso de um data warehouse uma das

    possveis solues para reduzir o tempo de resposta do sistema e apresentar as

    informaes de maneira mais fcil de ser visualizada, assim, este trabalho prope a

    modelagem e desenvolvimento da soluo baseada em data warehouse para a

    empresa em questo.

    O trabalho desenvolvido foi realizado e documentado por etapas com a

    finalidade de facilitar futuros trabalhos que tenham por objetivo desenvolver sistemas

    baseados em data warehouse.

  • 12

    ABSTRACT

    The data warehouse system developed aims to solve real problems of

    In.voice, a company considered the client of this project. The main problem analyzed

    was about the great amount of data managed by usual relational database systems

    that took a long time to generate reports. The data warehouse technology seemed to

    be one of the possible solutions for this kind of problem, aiming the quality of

    information provided by data and response time of the entire system. This work

    proposes to model and develop the data warehouse solution for In.voice company.

    The development was made and wrote by steps, so future articles that aim to

    implement data warehouse systems will find this document useful.

  • 13

    LISTA DE ILUSTRAES

    Figura 1 - Modelo Estrela Genrico ........................................................................... 27

    Figura 2 - Interface de usurio do pgAdminIII ........................................................... 32

    Figura 3 - Interface de Usurio do Pentaho Data Integration .................................... 33

    Figura 4 - Interface de usurio do jPivot, acessando o servio OLAP do Mondrian .. 35

    Figura 5 - Interface de usurio do Schema Workbench ............................................ 36

    Figura 6 - Interface de usurio do Pentaho BI Studio ................................................ 37

    Figura 7 Modelo dimensional modelado ................................................................. 41

    Figura 8 - Modelo bsico de ETL de carga de dimenses ........................................ 44

    Figura 9 - Modelos de ETL de carga de tabelas-fato (a) srie; (b) paralelo .............. 46

    Figura 10 Modelo Multidimensional no Schema Workbench. ................................. 47

    Figura 11 - Hierarquia de tempo definida .................................................................. 49

    Figura 12 - Diversos fluxos de carga das dimenses ................................................ 50

    Figura 13 - ETL da Tabela fato_registro .................................................................... 51

    Figura 14 Tela de boas vindas do sistema web Pentaho BI Studio. ....................... 53

    Figura 15 Tela de entrada no sistema. ................................................................... 54

    Figura 16 Controle de logins e polticas de segurana. .......................................... 55

    Figura 17 Execuo da ETL de carga de dimenses atravs da interface de

    usurio. ..................................................................................................................... 56

    Figura 18 Execuo da ETL de Fato atravs da ferramenta Pentaho Data

    Integration. ................................................................................................................ 57

    Figura 19 Anlise de dados armazenados no data warehouse. ............................. 58

    Figura 20 Sada tpica de anlise de performance aps execuo de ETL pelo

    Pentaho Data Integration .......................................................................................... 59

  • 14

    LISTA DE TABELAS

    Tabela 1 - Especificao dos atributos da entidade Fato - Registro ......................... 42

    Tabela 2 Variveis de desempenho e resultados obtidos. ..................................... 60

  • 15

    LISTA DE ABREVIATURAS E SIGLAS

    ACID: Atomicity, Consistency, Isolation, Durability

    ETL: Extract Transform Load

    OLAP: Online Analytical Processing

    OLTP: Online Transaction Processing

    SGBD: Sistema de Gerenciamento de Banco de Dados

    SQL: Structured Query Language

    DW: Data Warehouse

    OP: Operational System (Ambiente Operacional)

  • 16

    SUMRIO

    1. Introduo ........................................................................................................... 19

    1.1 Objetivo ........................................................................................................ 19

    1.2 Motivao ..................................................................................................... 19

    1.3 Justificativa ................................................................................................... 19

    1.4 Metodologia de trabalho ............................................................................... 20

    1.5 Estrutura de trabalho .................................................................................... 21

    1.6 Restries .................................................................................................... 22

    2 Conceitos ............................................................................................................ 23

    2.1 Ambiente Operacional .................................................................................. 23

    2.1.1 Modelo ACID ......................................................................................... 23

    2.1.2 Processamento de transao on-line .................................................... 24

    2.2 Sistemas de Tomada de Deciso ................................................................ 24

    2.2.1 Processamento analtico on-line ............................................................ 25

    2.3 Data warehouse ........................................................................................... 25

    2.3.1 Modelo Estrela ....................................................................................... 27

    2.4 Siglas, Termos e Definies ......................................................................... 27

    3 Aplicao ............................................................................................................ 30

    3.1 Descrio do problema ................................................................................ 30

    3.2 Idia para resoluo ..................................................................................... 30

    3.2.1 Ferramentas .......................................................................................... 31

    4 Etapas do projeto ................................................................................................ 38

    4.1 Primeiros Passos ......................................................................................... 38

    4.2 Anlise do banco de dados operacional....................................................... 38

  • 17

    4.3 Especificao de Requisitos ........................................................................ 39

    4.3.1 Modelagem do banco de dados dimensional ........................................ 40

    4.3.2 Extrao, Transformao e Carga ......................................................... 43

    4.3.3 Desenvolvimento da base multidimensional (Data warehouse) ............ 46

    4.4 Desenvolvimento das ETLs .......................................................................... 49

    4.5 Desenvolvimento do Data warehouse .......................................................... 52

    5 Resultados .......................................................................................................... 53

    5.1 Interfaces de usurio .................................................................................... 53

    5.1.1 Interface de usurio de carga de dados ................................................ 55

    5.1.2 Interface de usurio de anlise de dados e relatrios ........................... 57

    5.2 Testes .......................................................................................................... 58

    5.2.1 Teste das ETLs ...................................................................................... 59

    5.2.2 Teste do data warehouse ...................................................................... 59

    5.3 Desempenho ................................................................................................ 59

    6 Consideraes finais........................................................................................... 61

    6.1 Concluses .................................................................................................. 61

    6.2 Contribuies ............................................................................................... 61

    6.3 Trabalhos futuros ......................................................................................... 62

    7 Referncias Bibliogrficas .................................................................................. 63

    8 Anexos ................................................................................................................ 65

    8.1 Anexo I ......................................................................................................... 65

    8.2 Anexo II ........................................................................................................ 67

    8.2.1 Anexo II.a - Tabela Dimenso Cliente ................................................... 67

    8.2.2 Anexo II.b - Tabela Dimenso Operadora ............................................. 68

    8.2.3 Anexo II.c - Tabela Dimenso Inventario ............................................... 69

    8.2.4 Anexo II.d - Tabela Dimenso Tempo ................................................... 70

    8.2.5 Anexo II.e - Tabela Dimenso Tipo de Servio ..................................... 71

  • 18

    8.2.6 Anexo II.f - Tabela Dimenso Centro de Custo ..................................... 72

    8.2.7 Anexo II.g - Tabela Dimenso Unidade de Negocio .............................. 73

    8.2.8 Anexo II.h - Tabela Dimenso Entidade ................................................ 74

    8.2.9 Anexo II.i - Tabela Dimenso Contas .................................................... 75

    8.2.10 Anexo II.j Tabela Dimenso Fatura ................................................. 76

    8.3 Anexo III ....................................................................................................... 77

  • 19

    1. Introduo

    1.1 Objetivo

    Este trabalho de formatura tem como objetivo modelar e criar um sistema

    baseado em um data warehouse, para auxiliar no processo de deciso de uma

    empresa de gesto em telecomunicaes.

    O sistema, desenvolvido com o fornecimento de dados da empresa In.voice,

    utiliza dados de um banco de dados relacional j existente, transforma esses dados,

    armazena em um data warehouse e fornece informaes relevantes por meio de

    relatrios.

    1.2 Motivao

    Um dos ativos mais importantes das empresas a informao (INMON &

    HACKATHORN, 1994), e, o principal motivo que leva uma empresa a investir tempo

    e dinheiro em um data warehouse, o ambiente competitivo. A fim de se destacar

    no mercado, preciso diferenciao, sendo que o data warehouse leva esse

    benefcio empresa, pois permite que dados dos sistemas que esto em operao

    em uma empresa sejam coletados e armazenados no decorrer do tempo, para ento

    serem analisados pelos tomadores de deciso/steakholders de uma empresa. A

    aplicao em telecomunicao se torna interessante ao passo que o volume,

    granularidade e complexidade de dados neste setor so muito grandes quando se

    procura registrar todos os eventos telefnicos de uma determinada regio por menor

    que seja.

    Atualmente, os sistemas baseados em data warehouse no so estudados

    em cursos comuns de graduao em engenharia de computao, e, alm disso, no

    meio empresarial, muitas empresas ainda utilizam solues proprietrias.

    1.3 Justificativa

    As justificativas para a realizao do trabalho so: a aplicabilidade prtica do

    sistema; a ampliao de conhecimento para criao de alternativas para sistemas de

  • 20

    tomada de decises, baseadas em software de cdigo aberto; alm do aprendizado

    devido utilizao de ferramentas no conhecidas por parte do grupo.

    A possibilidade de utilizar software de cdigo aberto em um sistema de data

    warehouse permite que o conhecimento na rea de Business Intelligence possa se

    difundir, alm de criar uma alternativa de baixo custo para empresas que necessitam

    de um sistema de tomada de decises.

    O aprendizado dos conceitos tericos da construo de um data warehouse

    realiza-se com maior facilidade quando os estudos so acompanhados de uma

    aplicao prtica de tais conceitos (KIMBALL & ROSS, 2002). Portanto, pode-se

    dizer que a aplicao deste trabalho objetiva a construo de um data warehouse

    para uma empresa que atua no setor de gesto em telecomunicaes, a qual prov

    servios para outras empresas que procuram organizar seus gastos com telefonia de

    forma transparente e eficiente, obtendo, assim controle sobre os gastos dos diversos

    setores dentro da empresa.

    Regras de negcio da empresa no que diz respeito gesto em

    telecomunicaes so baseadas nos registros das faturas de operadoras. Desta

    forma, o uso de data warehouse para o armazenamento desses dados representaria

    uma forma eficiente de armazenamento e extrao de relatrios, uma vez que o

    volume de dados muito grande da ordem de 40 milhes de registros mensais e

    h necessidade de processamento destes dados para a gerao de relatrios que

    auxiliam o entendimento e anlise dos gastos em telecomunicaes das empresas

    que contratam o servio.

    1.4 Metodologia de trabalho

    A metodologia de desenvolvimento do sistema constituda das seguintes

    etapas:

    Estudo dos conceitos e ferramentas disponveis: Consiste principalmente

    do estudo da teoria de data warehouse, analisando as aplicaes, os

    pontos positivos e negativos, e estudo das ferramentas de cdigo aberto

    disponveis para apoiar a criao de um sistema baseado em data

    warehouse.

  • 21

    Anlise do Banco de Dados Operacional (Relacional): Anlise do banco de

    dados relacional da empresa cliente, levantando os principais dados alvos

    do projeto.

    Elaborao dos requisitos: Levantamento dos principais requisitos do

    sistema, de forma a delimitar o escopo e estabelecer a meta a ser

    alcanada com o sistema.

    Modelagem do banco de dados dimensional: Criao do modelo do banco

    de dados dimensional, com o objetivo de alterar a modelagem dos dados

    para a migrao para o data warehouse.

    Carga de dados do ambiente operacional: Transporte de dados originrios

    do ambiente operacional para a base dimensional de dados. Esta carga

    realizada atravs de rotinas denominadas ETL Extract, Transform and

    Load (conforme definido na seo 2.4).

    Criao do data warehouse: Modelagem do Data warehouse utilizando a

    ferramenta Mondrian e o modelo dimensional como base.

    Gerao de relatrios: Compreende a modelagem de formas de se obter

    das informaes e apresentao das mesmas para os usurios do

    sistema.

    Os documentos de andamento e a monografia foram elaborados

    paralelamente s etapas descritas, bem como reunies com a empresa cliente.

    1.5 Estrutura de trabalho

    O captulo 1 contm uma introduo ao trabalho de concluso de curso,

    apresentando o objetivo, motivaes, justificativas, a metodologia, a estrutura e as

    restries do trabalho.

    No captulo 2 so abordados os conceitos mais importantes que embasam o

    trabalho.

    O captulo 3 contm a descrio do problema, e o raciocnio para a resoluo

    do mesmo, bem como as ferramentas utilizadas.

    No captulo 4 so abordadas, de forma seqencial, todas as atividades

    desenvolvidas desde o incio do projeto at sua concluso.

  • 22

    No captulo 5 so apresentados os resultados obtidos com o sistema

    desenvolvido, e os testes realizados.

    O captulo 6 contm as concluses, contribuies e trabalhos futuros

    relacionados ao projeto.

    1.6 Restries

    As restries impostas inicialmente foram relativas s ferramentas a serem

    utilizadas.

    A fim de desenvolver a capacidade de buscar conhecimento de novas

    tecnologias, uma das restries foi a utilizao de ferramentas de cdigo aberto para

    a realizao do trabalho.

    O projeto tambm teve como restrio a utilizao de um banco de dados

    relacional especfico, uma vez que a empresa cliente mantinha sua base de dados

    com essa ferramenta. Portanto, em toda a parte de banco de dados relacional, foi

    utilizado o sistema gerenciador de banco de dados PostgreSQL.

  • 23

    2 Conceitos

    Este captulo contm os elementos tericos essenciais que envolvem um

    sistema baseado em data warehouse.

    2.1 Ambiente Operacional

    O ambiente operacional tambm conhecido como ambiente transacional

    o ambiente necessrio para o funcionamento do dia-a-dia da empresa (KIMBALL &

    ROSS, 2002), normalmente composto por sistemas que operam sobre massas de

    dados atravs de operaes transacionais (definidas na seo Processamento de

    transao on-line - item 2.1.2). neste ambiente que as operaes de domnio da

    empresa acontecem com foco em controle de processos de negcio.

    Devido alta taxa de modificaes de dados, este ambiente otimizado para

    este tipo de tarefa, e normalmente a base do ambiente operacional um banco de

    dados relacional, cujos dados so inseridos, alterados, consultados ou removidos.

    2.1.1 Modelo ACID

    As preocupaes mais relevantes do ambiente operacional podem ser

    resumidas nas propriedades ACID (sigla inglesa para Atomicity, Consistency,

    Isolation, Durability):

    Atomicity: As transaes que ocorrem na base de dados s devem ser

    concludas com sucesso se todas as etapas que as compem forem

    concludas com sucesso, caso uma falhe, a transao deve ser cancelada;

    Consistency: A consistncia dos dados deve ser mantida, e, no caso da

    tentativa de insero de um dado com tipo incorreto, a transao deve ser

    cancelada;

    Isolation: As transaes que ocorrem no banco de dados no interferem

    entre si, ou seja, h um isolamento entre elas;

  • 24

    Durability: Os dados inseridos no sero perdidos, mesmo no caso de os

    mesmos no serem acessados por um longo perodo.

    O modelo caracteriza as operaes que ocorrem no nvel das aplicaes e

    negcios da empresa.

    2.1.2 Processamento de transao on-line

    O processamento mais utilizado pelas empresas para tratar da manipulao

    de dados (basicamente para insero, remoo, consulta e alterao de linhas de

    tabelas) nos bancos de dados relacionais o processamento conhecido por OLTP

    (sigla inglesa para On-Line Transaction Processing).

    A utilidade do processamento de transao on-line pode ser resumido pelas

    suas funcionalidades (BROWNING, 2001):

    Suportar operaes de negcio em tempo real;

    Otimizar transaes de insero ou consulta de linhas no banco de dados;

    Otimizar a validao de dados;

    Suportar milhares de usurios.

    2.2 Sistemas de Tomada de Deciso

    O desenvolvimento dos sistemas de informao comeou na dcada de 60

    com os master files, arquivos que armazenavam informaes. E, com o passar do

    tempo, a grande quantidade de arquivos de informao tornou esse mtodo de

    armazenagem invivel (principalmente devido redundncia de informao e ao

    elevado tempo de resposta), foi ento criado o modelo de base de dados (SGBD,

    uma fonte de dados para todo processo) (INMON, 1996).

    Com o advento dos PCs, mais usurios comearam a ter acesso aos dados, o

    que culminou com a criao de transies online de alto desempenho. E,

    posteriormente, os chamados programas de extrao, que apenas copiam os dados

    de um sistema para outro segundo algum critrio. Esses programas de extrao

    foram sendo utilizados cada vez mais, criando-se uma teia de informaes

    (chamada de Arquitetura Evoluda Naturalmente), onde programas de extrao eram

    utilizados em cima de outro programa de extrao, e assim sucessivamente. Mas

  • 25

    essa nova arquitetura gerou trs problemas principais: perda da credibilidade de

    dados; produtividade; e impossibilidade de transformar dados em informaes

    (INMON, 1996).

    O data warehouse foi uma das alternativas criadas para resolver essa

    questo devido suas caractersticas (conforme descrito na seo 2.3).

    Atualmente, os sistemas de Tomada de Deciso, tambm conhecidos como

    sistemas de apoio deciso (SADs), ajudam os gerentes de nvel mdio a tomar

    decises no usuais (LAUDON & LAUDON, 2007). Sendo que o principal propsito

    desses sistemas o de fornecer informaes sobre o negcio da empresa (ou

    partes da mesma), e, atravs de relatrios, permitir analisar o desempenho corrente

    da empresa (LAUDON & LAUDON, 2007).

    O processo de anlise das informaes utiliza as informaes que so

    inseridas atravs dos aplicativos da empresa. Pode-se perceber o problema que

    surge, uma vez que a manipulao de dados e a consulta dos mesmos para a

    gerao de relatrios causam uma sobrecarga. Naturalmente, imagina-se que a

    melhor soluo separar os dados em dois ambientes, um destinado apenas para o

    processamento operacional dos dados e outro para a consulta por parte da gerncia,

    e exatamente isso que um sistema com data warehouse disponibiliza.

    2.2.1 Processamento analtico on-line

    O processamento analtico on-line (em ingls OLAP Online Analytical

    Processing) utilizado por sistemas que tm como objetivo principal consultar uma

    grande quantidade de dados e disponibiliz-los, para que possam ser analisados. O

    OLAP permite a anlise multidimensional de dados, de forma que os usurios vejam

    os mesmos dados de diferentes maneiras (LAUDON & LAUDON, 2007).

    2.3 Data warehouse

    O data warehouse um repositrio de dados centralizado, caracterizado por:

    orientao ao assunto, variante no tempo, no voltil e integrado (INMON, 1996).

  • 26

    O ambiente operacional projetado com base nas aplicaes e funes da

    empresa. Por outro lado, o data warehouse projetado com base nos principais

    assuntos da empresa, por isso diz-se que ele orientado ao assunto (INMON &

    HACKATHORN, 1994).

    Os dados no ambiente operacional muitas vezes ficam espalhados em

    diversos bancos de dados, o que pode causar redundncia e incoerncia nos dados.

    O data warehouse estruturado de forma a garantir a integridade dos dados,

    eliminando alguns dos problemas citados do ambiente operacional.

    O data warehouse variante no tempo, ou seja, as informaes contidas nele

    so referentes evoluo ao longo do tempo (usualmente em um perodo de alguns

    anos), diferentemente dos dados no ambiente operacional, que representam os

    dados mais recentes, e normalmente so utilizados em um perodo da ordem

    somente poucos de meses (INMON, 1996).

    A no volatilidade a caracterstica que diz respeito alta durabilidade da

    base de dados, ou seja, o data warehouse permite que os dados sejam

    armazenados de forma histrica ao longo de vrios (INMON, 1996).

    A consistncia dos dados armazenados garantida ao passo que os dados

    so somente carregados e acessados. As operaes de alterao e remoo de

    dados so realizadas apenas no ambiente operacional. Assim, uma vez garantida a

    consistncia da massa de dados carregada ao data warehouse, a consistncia dos

    dados armazenados mantida independentemente da quantidade de vezes que os

    dados do data warehouse so acessados.

    De forma diferente dos dados do ambiente operacional necessrios para o

    dia-a-dia da empresa os dados do data warehouse so voltados para a anlise e

    tendncia (por isso diz-se que auxiliam no processo de tomada de decises).

    Segundo (KIMBALL & ROSS, 2002), o data warehouse deve garantir algumas

    propriedades. Entre elas:

    Deve organizar as informaes tal que possam ser facilmente acessadas e

    de forma consistente;

    Deve ser facilmente adaptvel;

    Deve garantir segurana de dados (do ingls security); e

    Deve ser essencial para a tomada de deciso.

  • 27

    2.3.1 Modelo Estrela

    O data warehouse baseado em modelagem multidimensional, deste modo,

    h conceitos de informaes do tipo fato e do tipo dimenses. O primeiro deles diz

    respeito informao que se deseja medir, normalmente so eventos temporais aos

    quais se relacionam um nmero quantidade de unidades de produto vendidas,

    receitas de uma venda e durao de uma ligao telefnica so exemplos claros de

    informaes do tipo fato. O tipo dimenso refere-se aos dados que qualificam as o

    evento retratado nome do produto, data da ocorrncia da venda e cliente

    relacionado ao evento so exemplos de possveis dimenses.

    O modelo estrela consiste em uma forma de modelagem do banco

    dimensional, separando os dados em fatos e dimenses com relacionamentos

    apenas do tipo fato-dimenso (dimenso-dimenso no possvel neste modelo),

    este tipo de modelagem representado ilustrado pela Figura 1.

    Figura 1 - Modelo Estrela Genrico

    2.4 Siglas, Termos e Definies

    As principais siglas, termos e definies que so utilizadas neste documento

    so:

    Banco/Base Operacional : Entidade de armazenamento de dados das

    transaes que ocorrem no dia-a-dia da empresa.

  • 28

    Chave de negcio : (business key) o elemento identificador de um

    registro que faz sentido no contexto do negcio da empresa.

    Chave substituta : (surrogate key) um identificador atribudo a um

    registro sem que tenha valor semntico no contexto do negcio da

    empresa. Normalmente definem-se chaves substitutas para otimizar o

    tempo de junes entre tabelas de dados.

    Data Mart (DM): Representa uma parte do data warehouse, normalmente

    pertencendo a apenas um setor da empresa.

    Data Warehouse (DW): Segundo (Inmon, 1996), data warehouse um

    repositrio centralizado que abrange toda a empresa. Sendo que ele

    caracterizado por: orientao ao assunto, variante no tempo, no voltil e

    integrado.

    Drill-Through : Ato de alterar a visualizao de informaes para obter um

    maior ou menor grau de detalhamento dos dados.

    ETL (Extract, Transform and Load): So rotinas executadas

    periodicamente que alimentam bases de dados a partir de uma ou mais

    origens. Envolvem os trs passos: extrair (Extract) dados de uma

    determinada fonte, transform-los (Transform) de modo a adequ-los ao

    modelo destino e finalmente carreg-los (Load) na base destino. No

    contexto de data warehouse, so utilizadas para o transporte de

    informaes originrias do ambiente operacional para o banco

    dimensional.

    Linguagem MDX: Multidimensional Expressions uma linguagem

    introduzida pela Microsoft em 1997 que prov sintaxes para a obteno e

    manipulao de dados multidimensionais.

    Matriz de Barramento: A matriz de barramento realiza o mapeamento das

    reas de negcio da empresa, e as dimenses que so aplicadas a cada

    uma dessas reas.

    Metadados: Dados sobre dados, utilizados para funes relacionadas a

    ETL, na transferncia de dados de OLPT para o data warehouse.

    Modelo Dimensional : Modelagem especfica, onde dados numricos so

    organizados de forma a serem agregados de acordo com suas

    caractersticas em comum - dimenses.

  • 29

    Modelo Relacional: Modelagem especfica na qual as tabelas do banco

    de dados mantm relaes entre si (atravs de chaves), modelando as

    entidades reais do negcio da empresa.

    OLAP (Online Analytical Processing ): Anlise de uma grande

    quantidade de dados, normalmente executando operaes que no

    alteram os dados do banco de dados (read-only).

    OLTP (Online Transaction Processing ): Processo utilizado em

    aplicaes orientadas a transaes, tais como os bancos de dados

    relacionais convencionais, que utiliza operaes que podem alterar os

    dados do banco de dados.

    PostgreSQL: Sistema de Gerenciamento de Banco de Dados (SGBD).

    Script SQL: Descrio passo-a-passo em linguagem SQL (Structured

    Query Language) que define operaes de consulta, insero ou remoo

    de dados de uma base de dados.

    Tabela Dimenso: As tabelas dimenso so as tabelas "auxiliares", que

    ficam ao redor da tabela fato (central), e contm os atributos de uma

    dimenso do negcio.

    Tabela Fato: A tabela fato a tabela central, que contm os fatos, valores

    numricos, importantes para uma determinada rea do negcio.

  • 30

    3 Aplicao

    3.1 Descrio do problema

    O aplicativo da empresa In.voice que gera relatrios a partir de sua base de

    dados operacionais comeou a apresentar problemas de desempenho depois que o

    banco de dados relacional passou a ter uma quantidade muito grande de dados. O

    aumento do nmero de clientes fez com que mais informaes fossem

    armazenadas, conseqentemente o tempo demandado para a gerao de relatrios

    cresceu de modo a inviabilizar algumas operaes no sistema.

    Segundo informaes da diretoria da empresa In.voice os relatrios

    demandavam um tempo de at 6 horas para serem gerados. Para ento serem

    enviados para os respectivos clientes, embora a necessidade devesse ser atendida

    no momento da requisio.

    A idia era disponibilizar informaes em tempo hbil para os clientes atravs

    de uma interface web. Mas, com a quantidade de tempo demandado para gerao

    dos relatrios, isso era invivel at que esse problema fosse resolvido.

    3.2 Idia para resoluo

    O problema de desempenho apresentado pela empresa In.voice demonstra

    que utilizar o ambiente operacional para levantar relatrios de anlise e suporte

    pode comprometer o banco de dados relacional por um perodo, alm de no

    responder em um tempo satisfatrio.

    A idia principal separar os dois ambientes, para que um suporte os

    processos e operaes do dia-a-dia da empresa, e o outro ambiente suporte o

    levantamento de informaes para relatrios de anlise. Com isso surge a idia de

    criar um data warehouse.

    A empresa possui um banco de dados operacional, o que facilita a

    implementao de um data warehouse, pois todos os dados inseridos j esto sendo

    armazenados em meio digital.

  • 31

    3.2.1 Ferramentas

    A criao do data warehouse foi feita em etapas. Sendo que em cada etapa

    um determinado software (de cdigo aberto) foi essencial para auxiliar no processo.

    Segue uma breve descrio de cada uma das ferramentas utilizadas durante

    o projeto.

    3.2.1.1 PostgreSQL

    O PostgreSQL um sistema gerenciador de banco de dados objeto-relacional

    de cdigo aberto. Ele suporta os principais tipos de operaes realizadas nos banco

    de dados relacionais comuns, como criao de tabelas, chaves, relacionamentos,

    entre outros.

    O banco de dados utilizado pela empresa In.voice acessado atravs desta

    ferramenta. E, atravs dela, foi criado o modelo dimensional.

    A manipulao dos esquemas e tabelas pode ser realizado atravs do

    PgAdmin III, um software de manipulao e manuteno do banco de dados cuja

    interface de usurio ilustrada pela Figura 2.

  • 32

    Figura 2 - Interface de usurio do pgAdminIII

    3.2.1.2 Pentaho Data Integration

    O Pentaho Data Integration, chamado anteriormente de Kettle, a ferramenta

    responsvel por extrair, transformar e carregar (em ingls, ETL) processos. O

    objetivo a ser alcanado com a utilizao do Kettle automatizar a transformao

    dos dados a partir do banco de dados relacional do usurio para o banco de dados

    dimensional. Sua interface ilustrada pela Figura 3.

  • 33

    Figura 3 - Interface de Usurio do Pentaho Data Integration

    A modelagem da ETL se d atravs do encadeamento de operaes menores

    que realizam diversas aes sobre o fluxo de dados representado. Cada uma

    dessas operaes representada por um bloco e o transporte de dados entre dois

    blocos representado por uma flecha do bloco fornecedor ao bloco receptor. As

    principais operaes desta ferramenta que sero utilizadas no desenvolvimento no

    projeto so:

    Table input (Entrada do tipo tabela): L o contedo de uma tabela em

    uma base de dados relacional e o adiciona ao fluxo de dados.

    Lookup (Consulta): Baseado em uma coluna j pertencente ao fluxo,

    consulta uma fonte de dados para procurar outro valor que tenha

    correspondncia quela do fluxo.

    Table output (Sada do tipo tabela): Grava o contedo do fluxo em uma

    tabela de um banco de dados relacional.

  • 34

    Lookup/Update Combination (Combinao de consulta e atualizao):

    Realiza a consulta de um dado em uma base relacional, e compara seus

    valores com o fluxo. Se houver mudana a base atualizada conforme a

    fonte.

    3.2.1.3 Mondrian

    Mondrian (ou Pentaho Analysis Services) um mecanismo OLAP

    desenvolvido com a finalidade de apresentar dados de uma forma multidimensional.

    Esta ferramenta basicamente um software que prov o servio de bases OLAP

    atravs de interfaces web com outros aplicativos. Ele recebe como entrada um

    arquivo XML definido pelo desenvolvedor do data warehouse e, atravs das

    informaes contidas nele, realiza as agregaes de informaes contidas no

    modelo dimensional utilizado.

    O objetivo a ser alcanado com a utilizao do Mondrian a criao de um

    data warehouse a partir do modelo de banco de dados dimensional previamente

    modelado. O Mondrian um servio executado atravs de servidores de aplicaes

    Web e inclui em seu pacote o componente jPivot que consiste em uma interface de

    acesso a dados que ilustrada pela Figura 4.

  • 35

    Figura 4 - Interface de usurio do jPivot, acessando o servio OLAP do Mondrian

    3.2.1.4 Schema Workbench

    A modelagem do data warehouse baseada na definio em XML do modelo

    multidimensional. Esta ferramenta auxilia esta edio, apresentando o documento

    sob uma forma de rvore e lista as propriedades de cada um dos atributos em uma

    lista, para cada um dos nveis da rvore. A Figura 5 ilustra sua interface de edio.

  • 36

    Figura 5 - Interface de usurio do Schema Workbench

    3.2.1.5 Pentaho BI Studio

    Esta ferramenta responsvel por integrar funcionalidades das demais

    ferramentas integradas a um sistema web com suporte a definio de polticas de

    segurana e grupos de usurios. Integra Mondrian (seo 3.2.1.3), Pentaho

    Reporting e Pentaho Data Integration (seo 3.2.1.2). A interface de usurio

    baseada em Web est ilutrada na Figura 6.

  • 37

    Figura 6 - Interface de usurio do Pentaho BI Studio

  • 38

    4 Etapas do projeto

    4.1 Primeiros Passos

    Em etapas iniciais de idealizao e definio do tema do projeto, havia a

    preocupao em modelar e desenvolver uma aplicao de data warehouse para um

    setor para o qual este tipo de modelagem fosse adequada, de modo que fosse

    possvel obter resultados concretos de desempenho e ganho de eficincia

    operacional, ao passo que se agilizava a capacidade analtica e performtica dos

    relatrios utilizados. Neste foco, a melhor alternativa encontrada foi pesquisar um

    caso problemtico real, segundo o qual fosse possvel retirar todas as concluses e

    resultados desejados, comparando ganhos antes e depois da implantao da

    aplicao atravs de depoimentos de usurios.

    A empresa In.Voice se disps a apresentar o problema de desempenho que

    enfrentava, e disponibilizou seus sistemas e ambiente operacional para que o

    projeto pudesse ser desenvolvido.

    Iniciou-se, assim, um ciclo de reunies que possibilitaram o incio do projeto

    com a anlise dos dados operacionais que, por sua vez, fez parte do levantamento

    de requisitos do projeto, que definiu aspectos como escopo e restries no momento

    inicial.

    4.2 Anlise do banco de dados operacional

    A empresa In.Voice apresentou o sistema de manipulao de informaes

    que, alm de editar o contedo da base de dados, tambm utilizado para a

    gerao de relatrios. Este sistema baseado em um modelo relacional

    implementado sobre uma base de dados PostgreSQL 8 (conforme definido na seo

    3.2.1.1).

    O rpido crescimento da empresa e a desorganizao de projetos de

    desenvolvimento do sistema mencionado, unidas complexidade das operaes de

    negcio realizadas, fez com que a base incorporasse mais de 100 tabelas de dados

    dispostas de maneiras muitas vezes redundantes e com normalizaes

  • 39

    inadequadas. O modelo representa o ambiente operacional do projeto de data

    warehouse de onde se extraem os dados para alimentao da base dimensional.

    O escopo do trabalho junto anlise de tal estrutura permitiu um refinamento

    atravs de um processo de engenharia reversa o qual tomou como ponto de partida

    os sistemas de gerao de relatrios para a conseqente anlise do fluxo de dados

    e suas respectivas origens na base relacional, resultando na extrao da parcela

    mais significativa (disponvel no Anexo I) para a modelagem dimensional e nas quais

    as prximas etapas do projeto so baseadas.

    No modelo refinado apresentado, pode-se observar o papel central sobre o

    conjunto de tabelas Fatura e Inventrio, uma vez que estas entidades tm grande

    importncia na anlise de custos em telecomunicaes das empresas, e uma vez

    que o significado de negcio dos registros de Fatura so as consolidaes de

    registros telefnicos em conjuntos limitados por data bem definida da ocorrncia do

    evento. A tabela Inventrio representa o vnculo entre clientes e suas faturas. O

    papel centralizador apresentou um caminho para a definio dos dados do tipo

    Fato, cujas caractersticas principais esto em seus atributos temporais e

    representaes numricas quantitativas. O processo de identificao descrito

    posteriormente na etapa de levantamento de requisitos (seo 4.3).

    4.3 Especificao de Requisitos

    As reunies que se desencadearam aps o primeiro contato com a empresa

    resultou no levantamento de requisitos do projeto de data warehouse, que por fim

    levou criao do documento de Especificao de Requisitos, entregue como

    produto final do primeiro quadrimestre de 2009 da disciplina PCS-2040 (Projeto de

    Formatura I), porm, aps o final desta disciplina, novas reunies e redefinies do

    negcio da empresa resultaram em algumas modificaes no modelo apresentado

    que ser detalhado nos prximos itens.

    O principal requisito da empresa era um sistema para gerao de relatrios

    que respondesse em quantidade satisfatria de tempo. Assim, os principais aspectos

    levantados foram:

    a. Novo ambiente de gerao de relatrios (data warehouse);

  • 40

    b. Gerao de relatrios em tempo aceitvel;

    c. Aumentar o ganho de informao de um relatrio;

    d. Prover mtodos analticos mais eficientes.

    O item a desta lista representa a independncia de um sistema de data

    warehouse que no deve influenciar os sistemas em operao na empresa. Os itens

    b, c e d apresentados acima so requisitos relacionados aos antigos sistemas

    da empresa em operao. No item b da lista, o termo tempo aceitvel faz meno

    ao tempo de gerao de um relatrio especfico de um cliente que varia de alguns

    minutos a horas de tempo de espera. Para o item c espera-se que, uma vez que

    relatrios sero gerados em tempos menores, possvel incluir mais informaes,

    facilitando assim o cumprimento da funo bsica de relatrios que o auxlio na

    tomada de decises. O item d representa o requisito de maior dinamismo no

    sistema que, uma vez mais gil, possa oferecer mtodos analticos de dados mais

    eficientes como recursos de drill-through em tabelas de dados.

    Aps concludo o primeiro documento de especificao, modificaes

    mostraram-se necessrias, dentre estas a principal diz respeito aos dados

    armazenados no data warehouse cuja granularidade diminuiu, uma vez que o nvel

    de detalhamento requisitado passou do nvel de faturas para o nvel de registros.

    Esta modificao gerou um aumento na massa de dados tratados na proporo

    dada pelo nmero mdio de registros por fatura, ou seja, cada dado de fatura passa

    a inserir uma quantidade N de registros de telefonia, onde N o nmero mdio de

    registros por fatura. O valor depende do porte da empresa.

    4.3.1 Modelagem do banco de dados dimensional

    A modelagem do banco de dados dimensional inicia-se com a identificao

    dos dados que representam valores e quantidades relacionados a eventos discretos

    no tempo e de papel central nas regras de negcio. Define-se, assim, dados do tipo

    fato e, conseqentemente, a tabela fato com os diversos atributos do evento.

    Caractersticas do evento de importncia relevante ao negcio e definio de

    relatrios podem ser modeladas em dimenses junto aos seus respectivos atributos.

    Uma vez concludas as tabelas, o esquema com as tabelas e relaes criado

    atravs de um sistema gerenciador de banco de dados.

  • 41

    O diagrama representativo do modelo dimensional ilustrado pela Figura 7 e

    cada uma das dimenses tem seus atributos detalhados no Anexo II. O mtodo

    utilizado baseia-se no modelo estrela (conforme descrito na seo 2.3.1). Sua

    vantagem est em sua simplicidade construtiva e velocidade de acesso aos atributos

    de uma dimenso. Em contra partida, dados acabam tornando-se mais esparsos e o

    nvel normalizao baixo. Como h poucas dimenses no projeto que possuem

    mais de trs atributos, e o nmero de dimenses hierarquizadas pequeno, isto ,

    no prejudica a normalizao dos dados, o modelo estrela foi adotado a priori.

    Figura 7 Modelo dimensional modelado

  • 42

    4.3.1.1 Tabela Fato

    A tabela fato produto do levantamento de requisitos e especificao do

    sistema e pode ser visualizada nos diagrama relacional (Anexo II) da modelagem

    dimensional; identificada pelo nome Fato_Registro. Os dados da tabela fato dizem

    respeito entidade de negcio denominada Registro, o qual, por sua vez,

    representa a ocorrncia de uma chamada telefnica de um cliente e seus atributos

    de negcio mais relevantes para o uso em relatrios. Esses atributos esto

    enumerados e detalhados na tabela abaixo (apenas atributos relativos ao negcio

    so detalhados nesta tabela).

    Campo Tipo de dado Significado de Negcio

    Dt_inicio_registro Data Representa a data de incio

    da chamada telefnica

    Dt_termino_registro Data Representa a data de

    trmino da chamada

    telefnica

    Fato_duracao Decimal Representa o valor em

    segundos da durao da

    chamada telefnica

    Fato_valor_original Decimal Representa o valor original

    cobrado pela chamada sem

    imposto.

    Fato_valor_retarifado Decimal Representa o valor retarifado

    da chamada telefnica.

    Fato_valor_rebilled Decimal

    Fato_quantidade Inteiro Representa a quantidade

    Tabela 1 - Especificao dos atributos da entidade Fato - Registro

    Ao modelo dimensional foram adicionadas colunas responsveis por fazer a

    ligao entre os registros da tabela fato e suas dimenses quando aplicveis

    (colunas identificadas com o prefixo sk_ em nosso modelo dimensional). Estas

    colunas so chaves estrangeiras (termo definido na seo 2.4) que apontam para

    chaves substitutas (surrogate keys, termo definido na seo 2.4), a importncia do

    uso deste tipo de chaves (que no possuem significado de negcio) est em seu tipo

  • 43

    inteiro que torna a associao entre entidades mais gil e simples de ser tratada em

    relao ao uso de chaves de negcio que poderiam ser muitas vezes do tipo cadeia

    de caracteres o que prejudicaria o desempenho do banco de dados.

    Uma perda de desempenho em tarefas de unio (join) afeta diretamente a

    etapa de carga de informaes ao data warehouse que, ao fazer pr-processamento

    de dados, internamente realiza diversas vezes esta operao para obter dados sob

    a forma adequada para ser armazenada em sua arquitetura interna.

    4.3.1.2 Tabelas Dimenso

    Assim como a tabela fato, o levantamento de requisitos levou s

    especificaes das tabelas de dimenso. De forma geral as dimenses modeladas

    foram:

    dim_unidade_de_negocio : Dimenso da unidade de negcio.

    dim_ centro_custo : Dimenso do centro de custo.

    dim_ fatura : Dimenso da fatura.

    dim_ cliente : Dimenso de cliente.

    dim_ operadora : Dimenso da operadora.

    dim_tempo : Dimenso de tempo.

    dim_ entidade : Dimenso da entidade.

    dim_ inventario : Dimenso do inventrio.

    dim_ tipo_servico : Dimenso do tipo de servio.

    dim_ conta : Dimenso da conta.

    Os atributos das tabelas dimenso e seus significados de negcio esto no

    anexo 8.2.

    4.3.2 Extrao, Transformao e Carga

    As ETLs foram divididas em dois grupos: ETLs das tabelas dimenso; e ETL

    da tabela fato. Em teoria as ETLs so modeladas de forma a oferecerem um recurso

    automatizado de extrair dados de fontes distintas; consolid-los sob um formato

    padronizado e ento inseri-los em uma base centralizada. Esta idia utilizada no

    projeto, sendo que o banco operacional representa a fonte de dados e o banco

  • 44

    dimensional representa o destino. Para tais processos de carga foram elaborados

    dois modelos bsicos de carga em regras gerais que sero apresentados nas

    sees 4.3.2.1 e 4.3.2.2. O primeiro deles voltado carga de tabelas-dimenses e

    o segundo, carga de tabelas-fato.

    4.3.2.1 ETL das tabelas dimenso

    O Modelo de carga de Dimenses apresentado na Figura 8.

    Figura 8 - Modelo bsico de ETL de carga de dimenses

    O processo, em palavras gerais, consiste em extrair dados da fonte e

    compar-los com os dados presentes no modelo dimensional a fim de identificar

    linhas que foram modificadas, inseridas ou removidas desde a ltima carga.

    Baseado nestas informaes, a base dimensional deve ser atualizada a fim de

    manter o contedo sincronizado entre ambos ambientes.

    4.3.2.2 ETL da tabela fato

    Em termos de linhas da tabela fato, deve existir uma ligao de cada um dos

    registros com as respectivas dimenses, quando estas forem aplicveis. Porm, esta

    ligao no explcita no momento em que ocorre a extrao desses dados, devido

    s diferenas entre os modelos operacional e dimensional, uma vez que cada um

  • 45

    deles tm conceitos para identificadores diferentes. No modelo relacional tradicional

    utiliza-se o conceito de chaves primrias, normalmente numricas e nicas para

    cada registro, de forma similar, o modelo dimensional utiliza o conceito de chave de

    negcio que por sua vez so mapeadas em colunas numricas surrogate keys

    (definidas na seo 2.4) para otimizar a performance do banco, assim deve haver

    um mapeamento entre ambas as chaves para se manter a consistncia entre elas.

    Foram levantadas duas formas diferentes de realizar a carga da tabela fato:

    buscas em srie ou buscas em paralelo. A Figura 9 ilustra ambos os modelos e suas

    diferenas construtivas. No modelo em srie, aps a extrao dos dados, as buscas

    por chaves substitutas ocorre linearmente uma aps a outra (Figura 9.a), aps o

    termino das buscas insere-se o fluxo resultante no modelo dimensional; em contra-

    partida, o modelo paralelo (Figura 9.b) realiza buscas simultneas de chaves

    substitutas para ento realizar a juno do fluxo novamente para ento armazen-lo

    na base dimensional.

    O modelo utilizado para o desenvolvimento desta ETL o modelo de busca

    em srie (Figura 9.a). Inicialmente o modelo em paralelo havia sido desenvolvido,

    mas devido ocorrncia de deadlocks de acesso ao banco de dados no momento

    das atividades em paralelo, optou-se pelo modelo em srie por evitar este tipo de

    conflito embora oferea relativa perda de desempenho.

  • 46

    Extrao de

    dados no modelo

    operacional

    Busca da PK da

    dimenso 1

    Busca da PK da

    dimenso 2

    Busca da PK da

    dimenso n...

    Unio dos fluxos

    de dados

    Insero dos

    dados na base

    dimensional

    Modelo ETL: Carga da Fato (paralelo)

    Extrao de

    dados de registros

    no modelo

    operacional.

    Busca da PK da

    dimenso 1

    Busca da PK da

    dimenso 2

    Busca da PK da

    dimenso n

    Insero dos

    dados na base

    dimensional

    ...

    Modelo ETL: Carga da Fato (srie)

    (a)

    (b) Figura 9 - Modelos de ETL de carga de tabelas-fato (a) srie; (b) paralelo

    4.3.3 Desenvolvimento da base multidimensional ( Data warehouse )

    A modelagem em estrela, conforme previamente apresentado na seo 4.3.1,

    coloca a tabela fato no centro do modelo e, relacionadas diretamente a ela, uma a

    uma, as dimenses. Assim, tal modelo deve ser mapeado ao Mondrian de modo que

  • 47

    este seja capaz de instanciar o cubo e, assim, gerar o data warehouse com os dados

    organizados em dimenses, cumprindo os objetivos do trabalho. Este mapeamento

    realizado atravs da ferramenta Schema Workbench (apresentado na seo 3.2.1.4)

    que gera um arquivo XML com a sintaxe entendida.

    A etapa seguinte corresponde definio das hierarquias dimensionais e por

    fim, o acabamento final de tratamento de formataes de dados e nomes de

    campos.

    Figura 10 Modelo Multidimensional no Schema Workbench.

    A seguir, so especificadas os detalhes mais relevantes da modelagem

    multidimensional do data warehouse.

  • 48

    4.3.3.1 Mtricas

    As mtricas de um modelo multidimensional representam os dados dos

    eventos do negcio em si. Normalmente so temporais e numricas, ou seja, tm

    ocorrncia bem definida no tempo e representam entidades quantificveis no

    negcio, possibilitando sua agregao em diversos nveis de detalhamento

    utilizando-se funes matemticas de agregao (adio, contagem, mximo,

    mnimo, entre outras).

    Para o projeto em questo foram definidas como mtricas os valores a

    respeito de uma chamada telefnica (entidade Registro):

    Durao;

    Quantidade;

    Valor Original;

    Valor Recobrado;

    Valor Retarifado.

    Valores que tm representatividade na criao de relatrios de tomada de

    deciso para a empresa In.Voice.

    4.3.3.2 Dimenses sem hierarquia

    Dimenses simples, sem uma hierarquizao de seus membros, seguem a

    um mesmo modelo em que a dimenso aponta para a tabela do modelo dimensional

    e extrai dali todos seus membros e atributos, sem organiz-los hierarquicamente.

    Para o projeto, a maioria das dimenses, exceto da dimenso de tempo, possuem

    essas caractersticas, uma vez que o nvel nico de detalhamento de cada uma das

    dimenses suficiente para a gerao dos relatrios.

    4.3.3.3 Dimenso de tempo

    A hierarquizao de dimenso foi aplicada dimenso de tempo. Desta

    forma, houve a hierarquizao da tabela dim_tempo em Ano > Trimestre > Ms >

    Dia.

  • 49

    Figura 11 - Hierarquia de tempo definida

    4.3.3.4 Granularidade

    A granularidade temporal do modelo em questo segue a mesma

    granularidade dos dados carregados do ambiente operacional da empresa, que do

    nvel de registros telefnicos dirios. Desta forma, a granularidade permite uma

    anlise profunda e possibilita tanto a anlise de registros dirios no nvel mais baixo,

    quanto uma anlise macro que agrega dados por ms, trimestre ou ano; alm da

    segmentao pelas demais dimenses como fatura ou centros de custo

    relacionadas. Assim, os usurios desde a tomada de deciso gerencial (pontual)

    tomada de deciso estratgica (mais abrangente) so atendidos pelo sistema.

    4.4 Desenvolvimento das ETLs

    Os fluxos de ETLs das tabelas dimenso so muito semelhantes, portanto foi

    decidido que todas seriam agrupadas em duas ETLs, sendo que os fluxos seriam

    executados paralelamente.

    As dimenses dim_unidade_de_negocio, dim_centro_custo, dim_fatura,

    dim_cliente, dim_operadora, dim_entidade, dim_inventario, dim_tipo_servico e

    dim_conta tiveram o seguinte fluxo criado:

    1. Entrada de dados (Extract): O mecanismo utilizado no software Pentaho

    Kettle foi o Table input (seo 3.2.1.2), apontando para o banco de

    dados Bunge (nome do banco de dados do ambiente operacional),

    esquema GP4 (nome do esquema do banco de dados do ambiente

    operacional), e cada tabela possui um script escrito em SQL, que

  • 50

    seleciona as informaes importantes (sendo que cada dimenso teve

    origem em uma tabela do modelo relacional);

    2. Carga de dados da dimenso (Transform & Load): Os novos dados

    devem ser comparados com os dados j existentes na dimenso a fim de

    sincronizar ambas e evitar duplicidade de registros.

    A Figura 12 ilustra os fluxos de ETL das dimenses.

    Figura 12 - Diversos fluxos de carga das dimenses

    A tabela dim_tempo pertence a uma ETL das dimenses, mas possui o fluxo

    diferente. Isso ocorre pois, para a criao da tabela dim_tempo, foi utilizado um

    arquivo CSV. O que difere esta dimenso das demais no contexto da ETL que a

    entrada de dado feita no por um script SQL, mas sim por um arquivo do tipo CSV.

    A ETL da tabela fato segue um fluxo diferente das ETLs das dimenses

    (Figura 13). O fluxo o seguinte:

  • 51

    1. Entrada de dados (Extract): O mecanismo utilizado tambm foi o Table

    Input (conforme definido na seo 3.2.1.2) do Pentaho Kettle, apontando

    para o base de dados operacional, utilizando um script na linguagem SQL,

    o qual bastante diferente dos utilizados para as ETLs das dimenses,

    uma vez que a tabela inicial possui todas as chaves de negcio que sero

    trocadas por chaves substitutas;

    2. Busca de Chaves (Transform): Para cada chave de negcio extrada,

    deve-se saber a correspondente chave substituta, para isto, uma busca

    baseada na chave de negcio deve ser realizada. Este tipo de busca

    realizada pelo componente Lookup (detalhado em 3.2.1.2). Tm-se

    ento, 9 etapas de lookup uma para cada dimenso.

    3. Insero (Load): Cada um dos registros chega nesta etapa com seus

    valores originais extrados adicionados s chaves substitutas, desta forma,

    basta mapear as colunas entre o fluxo de dados e a tabela destino, que no

    caso a tabela Fato_Registro. O processo de insero dos dados

    realizado pelo componente Table output.

    Figura 13 - ETL da Tabela fato_registro

  • 52

    Em termos de desempenho, utilizou-se o armazenamento temporrio em

    memria cach em cada uma das etapas do fluxo, os resultados comparativos so

    apresentados neste documento na seo 5.3.

    4.5 Desenvolvimento do Data warehouse

    O modelo multidimensional especificado na seo 4.3.4 foi implementado

    utilizando o framework Pentaho, que utiliza como servidor OLAP a ferramenta

    Mondrian. O data warehouse, assim, foi modelado inicialmente pela definio de um

    XML no formato reconhecido pelo Mondrian seguindo as especificaes do projeto.

    Aps o incio do desenvolvimento, tomou-se conhecimento da ferramenta lanada

    durante o desenvolvimento Schema Workbench que facilita a edio do XML atravs

    de uma interface grfica.

    Uma vez desenvolvido, o modelo deve ser publicado no Mondrian, isto feito

    atravs da edio de um arquivo de configurao interno ferramenta e consiste na

    edio das strings de conexo e definio dos dados apontados.

  • 53

    5 Resultados

    5.1 Interfaces de usurio

    A ferramenta Pentaho BI Studio contm uma interface baseada em Web. A

    Figura 14 ilustra a tela de boas vindas do sistema.

    Figura 14 Tela de boas vindas do sistema web Pentaho BI Studio.

  • 54

    Aps a autenticao na tela de boas vindas, a tela de entrada do sistema,

    ilustrada pela Figura 15, exibida. A partir desta tela possvel realizar todas as

    operaes do ciclo do data warehouse:

    Carga de dados atravs das ETLs;

    Atualizao dos dados do repositrio;

    Gerao e consulta de relatrios administrativos utilizando dados do data

    warehouse;

    Navegao analtica atravs das mtricas e dimenses do data

    warehouse.

    Em termos de segurana h controle administrativo de login, fornecido por

    outra interface administrativa, ilustrado pela Figura 16.

    Figura 15 Tela de entrada no sistema.

  • 55

    Figura 16 Controle de logins e polticas de segurana.

    5.1.1 Interface de usurio de carga de dados

    Para realizar a carga de dados, foram preparadas para os usurios duas

    possibilidades: executar o pacote ETL utilizando a interface de usurio ou a

    ferramenta Pentaho Data Integration. No primeiro caso, a carga executada de

    maneira muito simples, basta um duplo clique no menu esquerda da interface que

    corresponde carga de dado selecionada, e ento a rotina se inicia. No momento do

    trmino exibida uma tela com informaes do processo executado como sucesso

    da operao e um conjunto de dados carregados para verificao rpida. A Figura 17

    ilustra a tela de trmino de execuo.

    Outro mtodo atravs da ferramenta Pentaho Data Integration, que possui

    uma interface amigvel, porm com mais recursos de personalizao e relatrio de

    desempenho. Para obter o pacote no h necessidade de busca entre os arquivos

    do sistema, foi desenvolvido um repositrio onde a ferramenta consegue buscar as

    rotinas de carga de forma imediata. A Figura 18 ilustra este mtodo de execuo.

  • 56

    Figura 17 Execuo da ETL de carga de dimenses atravs da interface de usurio.

  • 57

    Figura 18 Execuo da ETL de Fato atravs da ferramenta Pentaho Data Integration.

    Alm destas duas formas de manter o sistema atravs de execues manuais

    h possibilidade de agendar a execuo para uma data especfica ou de forma

    recorrente.

    5.1.2 Interface de usurio de anlise de dados e re latrios

    A anlise de dados pode ser realizada atravs do componente nativo do

    Mondrian jPivot. Sua interface ilustrada pela Figura 19.

  • 58

    Figura 19 Anlise de dados armazenados no data warehouse.

    5.2 Testes

    Os testes realizados foram divididos em:

    Teste de ETLs

    Teste do Data warehouse

    Cada um destes detalhado nos subitens seguintes.

  • 59

    5.2.1 Teste das ETLs

    Os testes de ETLs foram realizados atravs do prprio mecanismo de

    execuo da ferramenta Pentaho Data Integration. A ilustra uma sada tpica com

    dados a respeito de uma execuo da ETL.

    Figura 20 Sada tpica de anlise de performance aps execuo de ETL pelo Pentaho Data

    Integration

    Atravs destes dados, foram realizados testes de desempenho, alm dos

    testes de consistncia de dados entre o ambiente operacional e a base dimensional

    aps a execuo das ETLs.

    5.2.2 Teste do data warehouse

    O data warehouse foi testado atravs da interface padro do Mondrian, que

    utiliza o componente jPivot. O teste consiste em comparao entre dados contidos

    no ambiente operacional e os dados que o data warehouse. No caso, as agregaes

    do data warehouse foram testadas uma a uma com amostras de dados que fossem

    pertinentes aos mesmos filtros, e validades atravs da soma manual dos registros no

    ambiente operacional para ento serem comparados entre si. Os recursos de drill-

    through tambm so testados da mesma forma, com a diferena da comparao ser

    realizada a cada drill-down realizado.

    5.3 Desempenho

    A partir da execuo de etapas isoladas e ciclos completos desde a carga de

    dados e gerao de relatrios, a seguinte tabela pde ser levantada:

  • 60

    Varivel Medida Massa de dados

    (registros)

    Valor

    (DW) Unidade de Medida

    Tempo mdio de execuo das ETLs

    de dimenso 1x106 27 Segundos

    Tempo mdio de execuo da ETL de

    tabela-fato 1x106 15,8 Minutos

    Maior tempo medido para gerao da

    tabela de dados analticos pelo jPivot 1x106 18 Segundos

    Tempo mdio estimado para gerao

    de relatrios de complexidade baixa. 1x106 30 Segundos

    Tempo de ciclo completo mnimo

    (soma) 1x106 17,05 Minutos

    Tabela 2 Variveis de desempenho e resultados obtidos.

    De acordo com a tabela, o tempo de execuo de ETLs foi de cerca de 16

    minutos, este o tempo crtico para a disponibilidade dos dados, pois responsvel

    por disponibiliz-los no data warehouse aps o devido processamento do modelo

    dimensional realizado automaticamente pela ferramenta Mondrian. Com os dados

    disponibilizados os tempos medidos so referentes gerao de relatrios, ou seja,

    esto mais relacionados ferramenta de relatrio do que ao data warehouse em si.

    Desta forma chega-se ao valor total de ciclo de aproximadamente 17 minutos.

    A ttulo de comparao levantou-se o dado de desempenho dos sistemas

    atuais da empresa In.Voice para um ciclo: um relatrio de cerca de 10 milhes de

    registros leva em mdia 6 horas para ser gerado. Assim, pela anlise dos dados de

    maneira qualitativa, o ganho em desempenho percebido pelo usurio foi alto.

  • 61

    6 Consideraes finais

    6.1 Concluses

    O ambiente competitivo em que as empresas se encontram atualmente revela

    a grande necessidade de possuir diferenciais no momento da tomada de decises

    responsveis por gui-las rumo ao sucesso perante seus concorrentes. Neste

    contexto, o uso de tecnologias relativamente recentes como o uso de data

    warehouses mostram-se muito eficientes ao aumentar a capacidade analtica dos

    estrategistas que por sua vez podem destacar suas empresas ao tomar as decises

    de sucesso.

    Nota-se um sensvel crescimento do mercado que envolve tecnologias de

    auxlio estratgico, e data warehouse est dentre elas. O aumento de investimento

    populariza cada vez mais os projetos de Business Intelligence que comumente faz

    uso de data warehouses devido alta eficincia na aquisio de dados atravs de

    tecnologias OLAP. Com este tipo de crescimento, desenvolvem-se tambm todas as

    demais atividades relacionadas s etapas do projeto de data warehouses, como a

    integrao de dados, definio de processos estruturados, definio de dados

    estratgicos, definio de mtodos de anlise de dados, dentre outras.

    Uma vez com a especificao pronta e validada, inicia-se o desenvolvimento

    do projeto. O ciclo de vida de desenvolvimento de um data warehouse difere do

    modelo clssico (requisitos, anlise, desenvolvimento, testes e implantao), o novo

    modelo mais iterativo, partindo da criao de um primeiro data warehouse, e s

    depois ocorre um entendimento dos requisitos (INMON, 1996). Isso no reduz a

    importncia da especificao, mas deixa subentendido que novas verses da

    especificao sero necessrias por conta de eventuais alteraes.

    6.2 Contribuies

    As contribuies que o sistema deixa para o futuro uma aplicao prtica de

    data warehouse que vai ajudar principalmente a empresa In.voice a solucionar o

    problema de gerao de relatrios, e vai ser utilizado como base para um

    remodelamento do banco de dados operacional.

  • 62

    Outra contribuio importante a monografia, que foi escrita de maneira a

    fornecer uma viso geral sobre data warehouse, apresentar os conceitos, e elaborar

    um passo a passo para desenvolver um sistema baseado em data warehouse

    utilizando apenas softwares de cdigo aberto, sendo til para qualquer pessoa que

    necessite de referncias em lngua portuguesa sobre sistemas com data warehouse.

    Os membros do grupo tiveram um aprendizado substancial com este trabalho.

    Desde os estudos dos conceitos relacionados a data warehouse, passando pelas

    ferramentas de software de cdigo aberto nunca antes utilizadas pelos membros

    do grupo , e culminando na realizao do projeto, que envolveu reunies com a

    empresa In.voice e sua implementao. Tudo isso contribuiu para um importante

    crescimento acadmico prtico e para consolidar muitos assuntos vistos ao longo do

    curso de graduao.

    6.3 Trabalhos futuros

    O sistema baseado em data warehouse foi totalmente desenvolvido e testado

    utilizando uma cpia do banco de dados da empresa In.voice. Apesar de essa etapa

    ter sido concluda com sucesso, outros trabalhos futuros podem ser desenvolvidos a

    partir deste.

    A aplicabilidade prtica pode ser traduzida na utilizao que o sistema ter na

    empresa cliente com a implementao do mesmo. A empresa In.voice planeja

    remodelar todo o banco de dados relacional baseado no data warehouse resultante

    do presente trabalho.

    O data warehouse desenvolvido tem como base apenas um repositrio

    central e foi baseado em apenas uma tabela fato e modelo estrela. Portanto, como

    contribuio terica e prtica para este trabalho, possveis sugestes so:

    Desenvolvimento do conceito e da aplicao de um sistema baseado em

    data warehouse com diversos data marts, atendendo setores distribudos

    em uma empresa;

    Desenvolvimento de um data warehouse utilizando o modelo snowflake.

    Desenvolvimento de um sistema utilizando data mining para analisar as

    tendncias das informaes contidas no data warehouse desenvolvido.

  • 63

    7 Referncias Bibliogrficas

    INMON, William Harvey. Building the Data warehouse . 2a Ed. USA: Wiley, 1996.

    KIMBALL, Ralph; ROSS, Margy. The data warehouse toolkit: the complete guide

    to dimensional modeling . 2a Ed. USA: Wiley, 2002.

    INMON, William Harvey; HACKATHORN, Richard D.. Using the Data warehouse .

    1a Ed. USA: Wiley, 1994.

    LAUDON, Kenneth C.; LAUDON, Jane P.. Sistemas de informao gerenciais . 7a

    Ed. So Paulo: Pearson Prentice Hall, 2007.

    TUERK, Miriam. The Open Source Data warehouse Revolution . Artigo sobre data

    warehouse desenvolvidos com tecnologia de cdigo aberto. Disponvel em

    . Acesso em:

    28 nov 2009.

    Sourceforce.Net. Documentao do PostgreSQL 8.0.0 . Documentao traduzida

    sobre PostgreSQL verso 8.0.0 pela comunidade Sourceforce.Net. Disponvel em

    . Acesso em: 28 nov 2009.

    Pentaho Community. Latest Pentaho Data Integration (aka Kettle)

    Documentation . ltima documentao atualizada disponvel sobre o aplicativo Data

    Integration da Pentaho Open Source Business Intelligence. Disponvel em

    . Acesso em: 28 nov 2009.

    Pentaho Open Source Business Inteligence. Mondrian Overview . Documentao

    sobre o aplicativo Mondrian da Pentaho Open Source Business Intelligence.

  • 64

    Disponvel em . Acesso em:

    28 nov 2009.

    Pentaho Open Source Business Intelligence. Pentaho Reporting Home Page .

    Pagina principal do projeto Pentaho Reporting da Pentaho Open Source Business

    Intelligence. Disponvel em . Acesso em: 28 nov 2009.

    About.com Databases. The Acid Model . Descrio sucinta sobre o modelo ACID.

    Disponvel em . Acesso

    em: 28 nov 2009.

    BROWNING, Dave; MUNDY, Joy. Data warehouse Design Considerations .

    Consideraes na construo de um data warehouse. Disponvel em

    . Acesso em: 28

    nov 2009.

  • 65

    8 Anexos

    8.1 Anexo I

    Base de dados operacional parcela mais significativa para a modelagem

    dimensional.

  • 66

  • 67

    8.2 Anexo II

    Modelo dimensional modelado

    8.2.1 Anexo II.a - Tabela Dimenso Cliente

  • 68

    8.2.2 Anexo II.b - Tabela Dimenso Operadora

  • 69

    8.2.3 Anexo II.c - Tabela Dimenso Inventario

    Fato_Registro

    sk_registro

    sk_inventario

    dim_contas

    dim_entidade

    dim_unidade_de_negocio

    dim_centro_de_custo

    dim_tipo_servico

    dim_tempo

    dim_operadora

    dim_cliente

    dim_inventario

    PK sk_inventario

    tipo

    dt_ativacao

    dt_desativacao

    dia_vcto

    ncr

    numero_inventario

    codigo_local

    codigo_pais

    situacao

    recurso_logico

    dat_operation

  • 70

    8.2.4 Anexo II.d - Tabela Dimenso Tempo

    Fato_Registro

    sk_registro

    dt_cadastro

    dim_contas

    dim_entidade

    dim_unidade_de_negocio

    dim_centro_de_custo

    dim_tipo_servico

    dim_inventario

    dim_operadora

    dim_cliente

    dim_tempo

    PK sk_tempo

    dia

    mes

    ano

    trimestre

  • 71

    8.2.5 Anexo II.e - Tabela Dimenso Tipo de Servio

  • 72

    8.2.6 Anexo II.f - Tabela Dimenso Centro de Custo

    Fato_Registro

    sk_registro

    sk_centro_de_custo

    dim_contas

    dim_entidade

    dim_unidade_de_negocio

    dim_tipo_servico

    dim_tempo

    dim_inventario

    dim_operadora

    dim_cliente

    dim_centro_de_custo

    PK sk_centro_de_custo

    codigo

    descricao

    parent_id

    codigo_antigo

    descricao_antigo

    id_temp

    parent_id_temp

    autor

  • 73

    8.2.7 Anexo II.g - Tabela Dimenso Unidade de Negoc io

  • 74

    8.2.8 Anexo II.h - Tabela Dimenso Entidade

  • 75

    8.2.9 Anexo II.i - Tabela Dimenso Contas

  • 76

    8.2.10 Anexo II.j Tabela Dimenso Fatura

  • 77

    8.3 Anexo III

    Xml interpretado pelo Mondrian para instanciar o data warehouse

  • 78

  • 79

  • 80