Como modelar um sistema de BI?

Apesar do conceito de BI (Business Intelligence) existir há mais de uma década, volta e meia aparecem dúvidas a respeito de sua arquitetura e de como implementar o sistema. Business Intelligence envolve basicamente a análise do negócio através de métricas sintetizadas, que agrupam toda a informação disponível na empresa, com o objetivo de melhorar a tomada de decisão.

A partir desta definição, já podemos deduzir algo muitas vezes negligenciado pelos analistas de BI: apenas as informações úteis para a tomada de decisão por parte dos executivos devem ser modeladas no sistema pois trazer informações apenas por trazer gera trabalho (e custos) desnecessários.


Como implementar uma aplicação dessas?

Uma aplicação de BI é muito complexa, devendo ser investido um bom tempo em análise e levantamento de requisitos.

O primeiro passo é a especificação das fontes que serão origens de dados. Estes dados encontram-se em sistemas externos, como o ERP da empresa (Erpal, SAP, Oracle, Microsiga, Cigam, etc), o e-commerce, o e-procurement, sistemas de B2B, planilhas Excel e outras fontes.

Definidas as fontes, deve-se especificar os processos de ETL (Extract, Transform, Load). Estes processos são responsáveis por:

1. Extrair todas as informações relevantes para a aplicação. O sistema de extração deve contemplar funcionalidades que permitam conectar a estas fontes e tratar os diversos formatos de arquivos.

2. Transformar os dados. Realizar as transformações necessárias das origens de dados para permitir a gravação no banco de dados.

3. Carregar os dados. Persistir as informações no sistema de BI.

Outra etapa importante é a modelagem do Data Warehouse. Este processo contempla a especificação de vários estágios no banco de dados, cada um deles sendo uma "fotografia" dos dados a serem transformados onde normalmente se definem 3 ou 4 estágios para a modelagem do banco.

A modelagem do banco de dados de um sistema de BI segue um paradigma diferente. Normalmente os analistas que estão acostumados com o paradigma relacional de sistemas transacionais, que incluem a normalização do banco de dados, se sentem um pouco perdidos. Para modelar um Data Warehouse deve-se definir as tabelas com redundância de dados, para facilitar a performance nas consultas e permitir o uso de ferramentas de criação de cubos, sem contar que, a modelagem desta maneira facilita os processos de cargas de dados.

Normalmente, no estágio do banco especificado para visualização dos dados, opta-se pela criação de um modelo estrela, centrado em uma tabela-fato relacionada com as outras tabelas que representam as dimensões de visualização. Estes são os cubos, que permitem a visualização multidimensional dos dados.

Ferramentas

Outra questão importante é a escolha das ferramentas a serem utilizadas. Para a criação dos cubos, pode-se optar por um servidor OLAP (Online Analytical Processing) como o Hyperion, Cognos ou o Mondrian. Para o ETL, pode-se optar pelo JasperETL ou o ODI (Oracle Data Integrator). Outra ferramenta interessante que pode ser utilizada para a visualização dos dados e que costuma apresentar boa performance é o QlikView.

Business Intelligence contempla uma variedade de conhecimentos, técnicas e ferramentas. Para uma visão geral, é importante destacar que é uma ferramenta complexa de desenvolver, que envolve muitas horas de trabalho e consequentemente um custo considerável. A vantagem que este investimento traz é ter informações sintetizadas da empresa para melhorar a qualidade da tomada de decisão.