Resumo: Este trabalho apresenta um estudo e o desenvolvimento de uma ferramenta para construção de Data Warehouse bem como a realização de extração, tratamento e visualização das informações armazenadas. Atualmente nas micro e pequenas organizações existe uma deficiência com relação ao aproveitamento das informações armazenadas em suas bases de dados. Com base nisso, a ferramenta desenvolvida tem o intuito de prover a alta direção uma visão estratégica baseada em dados históricos.

1 INTRODUÇÃO

Com o grande aumento de dados gerados e armazenados nas empresas, torna-se necessário o uso mais eficiente destes dados, gerando informações consistentes e consolidadas para auxiliar na tomada de decisão.  As micro e pequenas empresas não utilizam sua informação em massa, disponíveis em suas bases de dados, e geralmente utilizam sistemas computacionais para as operações básicas da empresa onde somente poucos relatórios são disponibilizados. Para uma maior vantagem competitiva, e para se manter no mercado, cada vez mais as empresas são obrigadas a utilizarem as informações armazenadas gerando conhecimento e se destacando entre seus concorrentes.

Diante deste contexto o projeto proposto tem como objetivo utilizar a tecnologia como meio de processamento e facilitar o entendimento das informações no contexto dos negócios, através do desenvolvimento de uma ferramenta para a construção de DW -Data Warehouse de forma dinâmica e a extração e sumarização de informações operacionais contidas em bancos de dados estruturados, aplicando regras de negócio específicas para armazenar estas informações em um repositório específico, ou seja, um Data Warehouse que servirá de base para apresentação destas informações em forma de gráficos e indicadores auxiliando os empreendedores na tomada de decisão.

No projeto foi desenvolvida uma aplicação ETL (Extract Transform and Load) com a criação do DW e geração dos scripts para a obtenção dos dados da empresa, possibilitando a criação dinâmica do DW baseado na necessidade e disponibilidade de informações contidas na base de dados operacional da organização. Além disto, é possível realizar a execução dos scripts para a extração dos dados da fonte selecionada e a criação de cubos de decisão baseado no DW construído, bem como a visualização das informações através de gráficos e indicadores, ou seja, desenvolvimento de ferramenta BI.

2  FUNDAMENTAÇÃO TEÓRICA

BI (Business Inteligence, ou Inteligência de Negócios), é um conjunto de conceitos e métodos para auxiliar e aumentar a capacidade de tomada de decisão das organizações, fazendo uso de acontecimentos (fatos).

Segundo Barbieri (2001), BI “representa a habilidade de se estruturar, acessar e explorar informações, normalmente guardadas em DW/DM (Data Warehouse/Data Mart), com o objetivo de desenvolver percepções, entendimentos, conhecimentos, os quais podem produzir um melhor processo de tomada de decisão”

SAD (Sistemas de Apoio à Decisão) ou DSS (Decision Support Systems) são sistemas computacionais que fornecem informações e contribuem para o processo de tomada de decisão. Permite a realização de cálculos, projeções e análises por meio de gráficos comparativos.

Segundo Inmon (1997), os Sistemas de Apoio à Decisão (SAD), tiveram início na década de sessenta, onde o processamento e análise eram realizados em aplicações baseados em relatórios, porém, com o passar dos anos, o volume dos dados foi crescendo e a tarefa de análise tornou-se complexa e trabalhosa.

Data Warehouse é um sistema computacional que através de transações e processos realiza cópia de informações registradas nos bancos de dados das organizações reorganizando estas informações e preparando-as para a realização de consultas, relatórios e análises. Ou seja, trata-se de um armazém de dados extraídos das bases operacionais que suprirá a necessidade das regras para criação de visões estratégicas e gerenciais para a alta administração.

Segundo Inmon (1997, p. 33), [...] “Data warehouse é um conjunto de dados baseado em assuntos, integrado, não-volátil, e variável em relação ao tempo, de apoio às decisões gerenciais" [...].

Para Inmon (1997), a construção de um DW pode conter algumas características mencionadas abaixo.

Orientado por Temas - as informações armazenadas em Data Warehouse são organizadas pelos temas importantes para o negócio da empresa, podendo para o mesmo tema existir vários níveis de detalhamento da informação. Por exemplo: vendas, faturamento, produtos, clientes, etc.

Integrado - no Data Warehouse integrado, os dados são consolidados de diversas origens. Para o correto funcionamento e realização das análises os dados devem ser integrados perfeitamente para um modelo de informação apenas existindo assim, somente uma codificação para os dados armazenados.

Variante no Tempo - refere-se a um momento específico da informação. As informações são carregadas como fotos da base de dados operacional do momento em que foram extraídas. Os dados não são atualizados e podem ser comparados ao longo do tempo, mantendo um histórico da trajetória da informação durante sua existência.

Não Volátil - um Data Warehouse não sofre qualquer alteração em seus dados a não ser a adição de novas informações. É permitida apenas a carga e consulta dos dados armazenados. Existem algumas necessidades específicas que podem exigir a correção ou alteração das informações, porém neste caso o recomendável é remover as informações e realizar nova carga corrigida ou alterada. Após serem transformados e carregados, os dados ficam disponíveis para a consulta pelos usuários. Esta volatilidade requer procedimentos para assegurar a integridade e consistência através de rollback, recuperação de falhas, commits e bloqueios.

Outra característica importante no projeto de um DW é a granularidade,  nível de detalhamento nos dados. Quanto mais baixo o nível de detalhamento mais baixo, será o nível de granularidade e quanto menos detalhes, mais alto o nível de granularidade. A granularidade nos primeiros sistemas operacionais era tida como certa, pois quando os dados eram atualizados, certamente seria ao mais baixo nível de granularidade sendo que no ambiente de DW, a granularidade não é um pressuposto (INMON, 1997).

ETL (Extract, Transform and Load) ou Extração, Transformação e Carga destina-se à extração, transformação e carga dos dados de uma ou mais bases de dados de origem para uma ou mais base de dados de destino (Data Warehouse). Este processo é o mais critico e demorado na construção de um DW, pois consiste na extração de dados de bases de dados heterogêneas, transformação e limpeza destes dados e a realização da carga destes dados no DW.

As decisões gerenciais serão tomadas baseadas nas informações geradas pela ferramenta e armazenadas no DW, sendo portanto, que os dados devem representar a verdade, a mais pura verdade, nada mais que a verdade (KIMBAL, 1998). A maior parte do esforço exigido no desenvolvimento de um DW é consumido, e não é incomum que oitenta por cento de todo o esforço seja empregado no processo de ETL, (INMON, 1997).

De acordo com Kimball (1998), somente a extração dos dados leva mais ou menos sessenta por cento das horas de desenvolvimento de um DW. Esta parte do processo é responsável pela busca das informações importantes nas bases de dados de fontes externas que estejam em conformidade com DW. Esta busca pode ser obstruída por problemas devido às diversas plataformas diferentes gerando a demanda de utilização de formas de extração diferentes para cada local.

Após a extração dos dados, temos a transformação dos mesmos, que realiza alem da transformação, a limpeza dos dados, a correção de possíveis erros de digitação, a descoberta de violações de integridade, a substituição de caracteres desconhecidos, a padronização e a abreviação dos dados (GONSALVES, 2003).

Segundo Kimball (1998), as principais características para garantir a qualidade dos dados são:

  • unicidade, evitando assim duplicação de informação;
  • precisão, onde os dados não podem perder suas características originais;
  • completude, não gerando dados parciais de todo o conjunto relevante às analises;
  • consistência, os fatos devem apresentar consistência com as dimensões que compõe.

O termo OLAP (Online Analytical Processing) pode ser interpretado com diversos significados, pois a sua tecnologia encontra-se presente em várias camadas como, por exemplo: armazenamento, acesso, compiladores, linguagem e conceitos. Pode-se falar em conceitos OLAP, linguagens OLAP, camadas de produtos OLAP e produtos completos OLAP (THOMSEN, 2002).

OLAP é ferramenta de BI (Business Inteligence)  utilizada para apoiar as empresas na análise de suas informações,  sendo formado por uma ou mais ferramentas com a finalidade de acesso e análise de dados ad hoc com o objetivo de transformar os dados armazenados no Data Warehouse em informação capaz de dar suporte à tomada de decisão da alta administração por meio de interfaces amigáveis e de fácil manipulação.

OLTP (OnLine Transaction Processing),  ou processamento de transações on-line, não são apropriados para Data Warehouses, isto porque, não podem armazenar dados históricos, não atendem satisfatoriamente a consultas e recuperação rápida de grande volume de informações.

Ao contrário da OLTP, OLAP oferece grande potencial de análise e recuperação de informações de forma rápida e fácil, provendo um acesso seguro aos dados corporativos de um  Data Warehouse,  provendo ainda muita flexibilidade existente em programas dedicados à análise de dados.

Na projeção de bases de dados para Data Warehouse, devemos quebrar o paradigma da eliminação de redundância, buscando realizar um armazenamento histórico. Porém é necessário tomar cuidados para que esta redundância não prejudique o projeto aumentando seu custo com armazenamento ou manutenção.

No Esquema Estrela, as instâncias são armazenadas em uma tabela principal contendo o identificador da instancia, valores das dimensões descritivas para cada instância e valores dos fatos, ou medidas. Pelo menos uma tabela é usada para cada dimensão, armazenando os dados correspondentes aos dados encontrados na coluna referente àquela dimensão na tabela de fatos (MACHADO, 2002). Sua composição parte por uma tabela dominante, chamada de tabela de fatos, no centro e em volta, cercada por tabelas auxiliares, chamadas de tabelas de dimensão. A tabela de fatos conecta-se às demais tabelas através de múltiplas junções.

3  FERRAMENTA DESENVOLVIDA

Com base na fundamentação teórica e com a percepção da necessidade atual do mercado em foco, foi desenvolvida uma ferramenta de BI que permite desde o processo de criação do DW até a visualização gráfica das informações sumarizadas e organizadas. O processo de criação do DW ocorre de forma simples e dinâmica, sendo necessário apenas o conhecimento na fonte de dados de origem e nas regras de negócio a serem abordadas para a criação dos cubos de análise.

A tela principal da aplicação possibilita ao usuário realizar a construção de um DW ou realizar a conexão com um DW já existente. Com uma interface amigável e intuitiva, o usuário facilmente poderá realizar as operações disponíveis na aplicação.

Para iniciar a criação de um DW, é necessário possuir uma conexão com uma base de dados de origem cadastrada. Após conectado a uma base de dados de origem, pode-se iniciar a construção do DW, partindo pela criação da tabela fato. Para isso, o usuário deve dar duplo clique sobre a tabela origem desejada. Em seguida conforme ilustra a figura 1, será exibida tela com todos os campos disponíveis na tabela. O usuário, baseado no fato a ser criado, irá marcar os campos necessários para a extração dos dados.

Campos da Tabela de Origem

Figura 1: Campos da Tabela de Origem

Após clicar em Criar Tabela Fato, será exibida uma tela conforme figura 4, para indicar o nome do fato e a chave única da tabela a ser criada. Ao clicar no botão Gerar SQL, serão criados automaticamente os SQLs necessários para montar a estrutura do DW. A figura 1 ilustra a visualização dos SQLs gerados para o processo de criação da tabela, de seleção dos dados, de limpeza, e de carga.

Tela de Criação da Tabela Fato com Scripts Gerados

Figura 2: Tela de Criação da Tabela Fato com Scripts Gerados

O processo de criação dos scripts ocorre através de métodos implementados na aplicação realizando o tratamento dos dados e dos seus tipos possibilitando a integração dos mesmos de forma consistente e segura. Para a normalização dos dados foi criado método para obter o tipo de dado original da tabela origem e transformá-lo em um tipo único, facilitando a manipulação e tratamento das informações.

No exemplo foram criados os seguintes scritps SQL para a tabela fato vendas:

  • Script de criação da tabela no DW consiste em um script de criação de tabela para o SGDB Firebird que será armazenado no cadastro da tabela e executado imediatamente após a definição da tabela.
  • Script de seleção dos dados da tabela origem, criado automaticamente será utilizado para realização da carga de informações para o DW, em conjunto como o script de carga.
  • Script de limpeza da tabela criada no DW será utilizada toda vez que for realizada uma nova carga no DW, eliminando-se todos os dados e carregando novamente da base de origem.
  • Script de carga da tabela fato criada no DW, irá realizar a inserção dos dados selecionados da tabela origem pelo script de seleção e irá alimentar a tabela correspondente do DW.

Basta clicar em criar para que os scripts de criação da tabela sejam executados e que as informações referente à tabela fato sejam gravados na base de dados do projeto DW em questão. A tabela será criada imediatamente no DW assim que executados os scripts. Da mesma maneira que foi criada a tabela fato anteriormente, a tabela dimensão segue o mesmo conceito, porém ao invés de clicar em Criar Tabela Fato, será clicado em Criar Tabela Dimensão. Ao clicar em gerar SQL, serão gerados todos os scripts de SQL necessários para criação da tabela dimensão, bem como suas ligações com a tabela fato correspondentes e seus scripts de seleção, limpeza e carga de dados para o DW.

Durante o processo de criação das tabelas do DW, são criados também em tempo de execução e dinamicamente os scripts para a criação dos cubos baseado nas estruturas dos fatos criados através da utilização dos metadados das tabelas. A figura 3 demonstra o script montado

Script do Cubo Gerado Automaticamente

Figura 3: Script do Cubo Gerado Automaticamente

Com os dados agora carregados no DW, podemos realizar as análises dos mesmos, organizando, sumarizando, agrupando as informações a fim de obtermos conhecimento sobre elas de forma rápida e fácil. Baseado nos modelos criados anteriormente, a figura 4 demonstra uma análise criada com base no fato vendas, onde podemos observar o montante de vendas por operação de por vendedor.

Tela de Montagem dos Cubos de Análises

Figura 4: Tela de Montagem dos Cubos de Análises

Nesta tela serão realizadas todas as fases de análise e criação dos cubos. Podemos observar os menus que nos dão a possibilidade de carregar um cubo já criado, salvar um cubo, salvar o grid, salvar somente as informações do mesmo, carregar um grid salvo entre outras. Podemos exportar também esta informação para diversos formatos como: pdf, Excel, BMP e HTML.

Conforme forem criados os cubos podemos utilizar forma visual para facilitar e ajudar no processo de entendimento da informação. A figura 5 demonstra o modo visual através de gráfico de barras da cubo criado anteriormente, sendo que podemos selecionar diversos formatos de gráficos para a exibição das informações, como: gráfico de barras, pizza, linha, barra horizontal, pontos entre outros.

Visualização Gráfica do Cubo Criado

Figura 5: Visualização Gráfica do Cubo Criado

4  CONCLUSÃO

Com o crescente uso de tecnologias para auxiliar as empresas na execução de seus processos operacionais, que realizam o armazenamento de milhares de informações históricas referente às suas transações, identificamos claramente a necessidade de abstrair estas informações operacionais, transformando-as em conhecimento com a aplicação de regras específicas possibilitando um melhor entendimento desta grande massa de dados. Com isso poderemos criar uma nova perspectiva de visão sobre estes dados históricos auxiliando diretamente as decisões estratégicas das organizações antecipando as mudanças do mercado, as ações dos competidores, identificação de novos potenciais e uma melhor preparação da organização para atender o mercado.

Observando a situação atual das micro e pequenas empresas com pode-se perceber que apesar de existirem algumas ferramentas semelhantes, elas acabam por não chegarem a este mercado, pelo seu alto custo e complexidade de implantação e utilização. Com isso, foi possível perceber que podemos abranger uma grande massa de companhias oferecendo a elas não apenas a ferramenta, mas também a construção do seu Data Warehouse aplicado à sua necessidade específica.

Visto à necessidade de se lançar à frente da concorrência no mercado, a posse e interpretação das informações é um dos principais fatores que contribuem para um desempenho melhor de uma organização.

Todo o processo de pesquisa realizado resultou na possibilidade de interpretação dos dados armazenados através da ferramenta que disponibiliza a visualização das estruturas proprietárias permitindo a criação do DW e aplicando a ETL, no formato de construção das tabelas de fatos e dimensões de forma automatizada. O presente projeto também se apresenta com grande valia para o aprendizado e conhecimento de novos conceitos para a manipulação de dados e transformação dos mesmos em informação gerando conhecimento para auxiliar na tomada de decisão.

REFERÊNCIAS

  • BARBIERI, Carlos. Business Intelligence: modelagem e tecnologia. Rio de Janeiro: Axcel Books, 2001.
  • INMON, W. H. Como construir o Data Warehouse. 2. ed. Rio de Janeiro: Campus, 1997.
  • KIMBALL, Ralph.  Data Warehouse Toolkit. Tradução Mônica Rosemberg; Revisão   Técnica   Ronal   Stevis   Cassiolato.   São   Paulo:  Makron   Books,1998.
  • MACHADO, Felipe Nery Rodrigues. Tecnologia e Projeto de Data Warehouse. Rio de Janeiro: Editora Erica, 2002.
  • THOMSEN, Erik. OLAP: construindo sistemas de informações multidimensionais. 2. ed. Rio de Janeiro: Campus, 2002.