1. O documento descreve uma experiência de construção de uma solução de Business Intelligence (BI) usando o software livre Pentaho BI na Universidade Federal da Bahia (UFBA).
2. Foram encontradas dificuldades no processo de ETL e na interface de análise OLAP, mas o projeto continuou após a disciplina com foco em melhorar o ETL, relatórios e dashboards.
3. O modelo dimensional gerado a partir dos dados da UFBA inclui uma tabela fato e 10 dimensões sobre características de pessoas.
Uma Experiência de Solução de Business Intelligence com Software Livre na UFBA Utilizando a Suíte Pentaho BI
1. Uma Experiência de Solução de Business Intelligence com Software Livre na
UFBA Utilizando a Suíte Pentaho BI.
Ana Cristina do Espírito Santo Melo, Gustavo Ramos, Mauricio Cesar Santos da Purificação e
Vaninha Vieira
Centro de Processamento de Dados – Universidade Federal da Bahia (UFBA)
Av. Ademar de Barros, s/n - Campus de Ondina, 40170-110, Salvador–Bahia
{acesmelo, gustavo, mauricioc, vaninha}@ufba.br
Resumo. Soluções de Business Intelligence (BI) possibilitam uma melhora
significativa no processo decisório das organizações ao oferecer informações
úteis, de modo rápido e facilitado, a partir dos próprios dados existentes nelas.
Porém, o alto custo de soluções proprietárias dificulta a sua implantação em
organizações de orçamento reduzido, como as instituições públicas de ensino
superior. Além de ter um custo menor, soluções livres para BI ainda são
customizáveis de acordo com os interesses de quem as estejam implantando. Este
artigo descreve uma experiência de construção de uma solução de BI com o uso
da suíte Pentaho BI na UFBA, mostrando as dificuldades encontradas, lições
aprendidas, o que já foi realizado e a perspectiva de trabalhos futuros.
Palavras chave. Business Intelligence, Software Livre, Data Warehouse,
Pentaho.
1 Introdução
BI é um termo genérico para descrever o aproveitamento dos recursos internos e externos da
organização para tomar melhores decisões de negócios (KIMBALL e ROSS, 2002). De forma mais
específica, BI pode ser definido como todo o processo de coleta e análise de dados, fazendo uso de
metodologias, processos e tecnologias diversas, de modo a disponibilizar, para os gestores de uma
organização, informações úteis de modo rápido e facilitado a respeito da mesma (PETRINI,
FREITAS e POZZEBON, 2006). As soluções de BI devem ser flexíveis para se adequarem às
necessidades e limitações de cada organização que as estejam implantando.
Uma solução de BI em Software Livre (SL) pode ser customizada para qualquer
necessidade, pois o código fonte está acessível a todos. Não há custos para adquirir a ferramenta,
paga-se apenas por suporte ou treinamento, caso seja necessário. Em contrapartida, a curva de
aprendizagem pode ser maior do que com o uso de softwares proprietários, que, em geral, oferecem
suporte, ampla documentação e são mais fáceis de serem manipulados.
O Centro de Processamento de Dados da UFBA (CPD-UFBA) criou o projeto UFBADB
(SALVADOR, ARAÚJO e VIEIRA) com o objetivo inicial de centralizar os dados dos estudantes,
professores e outros que estejam vinculados à universidade. Mas, a instituição ainda carece de
mecanismos que facilitem o processo de tomada de decisões e a geração de relatórios estatísticos.
Este cenário motivou o estabelecimento de uma parceria entre o CPD-UFBA e o Departamento de
Ciência da Computação (DCC-UFBA) para desenvolver uma proposta preliminar de solução de BI
utilizando software livre. Esta proposta preliminar, desenvolvida no contexto da disciplina "Tópicos
em Banco de Dados" no semestre 2009.2, tem sido ampliada pelo CPD-UFBA, através de duas
bolsas financiadas pelo projeto de ações Afirmativas - Permanecer UFBA.
2. 2 A suíte Pentaho BI
A escolha da Suíte Pentaho BI ocorreu após a análise de ferramentas realizada durante as
atividades da disciplina citada anteriormente. A maturidade e estabilidade apresentada por ela pode
ser comprovada pelo seu crescente uso internacionalmente (PENTAHO CORPORATION, 2010).
Também existem casos de uso de grandes empresas nacionais, como o Serpro (TESSLER e DE
SALES, 2008). Além disso, a comunidade brasileira que a utiliza está em plena expansão, o que
pode ser notado pelo aumento na quantidade de mensagens na lista de discussão Pentaho-BR
(YAHOO! DO BRASIL INTERNET LTDA., 2010). Em 2009 foram 141 mensagens em média por
mês, contra 106,5 em 2008 e apenas 29,17 em 2007.
Ela é oficialmente formada por cinco componentes que foram criados separadamente com o
objetivo de solucionar etapas específicas do processo de construção de uma solução de BI. Por isso,
também podem ser utilizados individualmente, interagindo com outras ferramentas.
Os cinco componentes são:
1. Pentaho BI Platform. Contém a infra-estrutura responsável por integrar a solução de BI. Ele
oferece serviços essenciais para construir, implantar, executar e dar suporte aos relatórios,
análise de cubos, dashboards, etc. Também provê mecanismos de autenticação e controle de
acesso.
2. Pentaho Data Integration (PDI). Também conhecido por Kettle, esta ferramenta é responsável
pelo processo de ETL (Extraction, Transformation and Load ou, em português, Extração,
Transformação e Carga).
3. Mondrian. É um servidor OLAP que permite analisar interativamente grandes conjuntos de
dados armazenados em bancos de dados relacionais.
4. Pentaho Reporting. É uma coleção de projetos de código fonte aberto, focados principalmente na
criação, produção e publicação do conteúdo de relatórios de forma rica e sofisticada.
5. Weka. É um conjunto abrangente de ferramentas para aprendizado de máquina e mineração de
dados. Pode ser usada para ajudar a entender melhor o negócio da instituição.
Ainda existem outras promissoras ferramentas produzidas pela comunidade SL que não
foram oficialmente incorporadas à suíte. Entre elas está o Pentaho Analysis Tool (PAT), que
permite fazer consultas OLAP utilizando o recurso arrastar e soltar (drag-and-drop) e o Community
Dashboards Framework (CDF), plugin que provê uma plataforma para a criação de dashboards na
suíte Pentaho (FERREIRA, RAMOS, et al., 2009).
A suíte Pentaho BI está disponível em duas versões. A versão Community Edition (CE) tem
todo o seu código aberto e é mantida por uma comunidade de voluntários bastante ativos. Ela possui
todas as ferramentas citadas anteriormente. A versão comercial da suíte, a Enterprise Edition, possui
parte de seu código fechado. Ela é mantida pela Pentaho Corporation, organização que fornece
suporte técnico e algumas funcionalidades a mais a seus clientes.
3 Arquitetura da Solução
A arquitetura da solução de BI proposta para a UFBA é baseada na arquitetura em camadas,
definida por (MENOLLI, 2004). A Figura 1 ilustra essa arquitetura, suas camadas e componentes,
indicando como a mesma foi implementada e o que foi desenvolvido até o presente momento. As
bases de dados citadas nesta figura referem-se ao UFBADB (base integrada de pessoal da UFBA),
SIACDB (base de dados do Sistema Acadêmico) e SIPDB (base de dados do Sistema de Pessoal).
3. Figura 1 - Arquitetura da Solução de BI UFBA
As cinco camadas da arquitetura (1 Fonte de Dados, 2- ETL, 3- Área de Estágio, 4- DW e
(1- 4
5- Área de Análise) estão numeradas de acordo com a ordem natural de desenvolvimento de um
projeto de Data Warehouse (DW). A arquitetura prevê a utilização de fontes de dados em diversos
.
formatos, o que faz com que na camada de ETL sejam descritos dois módulos: um para dados em
um formato de referência (que deve ser definido pela gerência do projeto), e outro módulo referente
definido
à migração de dados em outros formatos que não o definido como referência. Ambos os tipos de
dados serão integrados e incorporados aos Data Marts (DM) através da camada 3.
Utilizamos o banco de dados P PostgreSQL nas camadas 1 e 4. As outras ferramentas
utilizadas fazem parte da Suíte Pentaho BI. Na camada 2 utilizamos a ferramenta Pentaho Data
Integration. E, para a camada 5, foram utilizadas as ferramentas Pentaho User Console, Report
. ferramentas
Designer e Schema-Workbench. Os itens destacados em amarelo correspondem ao que foi
.
desenvolvido inicialmente: o processo de ETL do UFBDB, a carga dos dados no DM, e algumas
:
análises. Com o objetivo de diminuir o escopo do projeto da disciplina, apenas a fonte de dados
,
UFBADB foi utilizada, devido a limitações de tempo impostas pelo período de aulas da disciplina
período
na qual o projeto foi realizado. Com as bolsas obtidas, pôde ser dado continuidade aos trabalhos
desenvolvidos. Os próximos passos concentram-se em integrar, ao DM inicial, os dados dos
s concentram inicial
vestibulandos da UFBA e os dados de produção acadêmica dos docentes da Universidade.
A arquitetura em camadas foi escolhida devido à previsibilidade do uso de bases de dados
em formatos distintos e a independência existente entre as camadas. Isto pode ser bastante útil na
incorporação de bases como a do Lattes, e mails, arquivos textos e outros documentos. O que
e-mails,
acontece na camada inferior é transparente para a camada superior. Deste modo, alterações podem
modo
ser realizadas nas camadas inferiores, desde que seja mantida a forma como os dados são fornecidos
dados
às camadas superiores (MENOLLI, 2004)
2004).
4. A escassez de documentação e a falta de conhecimento sobre as ferramentas demandaram
um grande esforço por parte dos alunos da disciplina e até mesmo da equipe do projeto Permanecer,
apesar do manual da suíte Pentaho elaborado durante a disciplina.
As maiores dificuldades foram encontradas na etapa de ETL, devido à grande variedade de
opções e o desconhecimento da ferramenta Kettle. Também foi observado que a análise do cubo
deveria ter um apelo visual mais forte e uma melhor usabilidade. Ela deve ser fácil de manusear,
pois os seus usuários são analistas de negócio. A ferramenta responsável pela interface gráfica que
permite a navegação OLAP é o JPivot1. Ela está bastante defasada e é considerada um ponto fraco
da suíte. Por isso, será substituída pelo PAT em breve (FERREIRA, RAMOS, et al., 2009).
4 Modelagem Dimensional
O modelo conceitual do UFBADB, cedido pelo CPD-UFBA, foi analisado para que fosse
possível gerar um modelo dimensional correspondente. Para isso, foi experimentado o uso da
metodologia proposta por (MOODY e KORTINK, 2000). O modelo dimensional gerado está
descrito na Figura 2. Essa metodologia indica os passos a serem seguidos para criar modelos
dimensionais a partir de modelos entidade-relacionamento (ER).
Figura 2 - Modelo Dimensional do UFBADB
Segundo o modelo gerado, a tabela fato (fato_pef_pessoa_fisica) descreve a quantidade de
pessoas de acordo com os dados armazenados nas tabelas dimensões. As tabelas dimensões
relacionadas a essa tabela fato são dim_end_endereco, dim_tvn_tipo_vinculo, dim_cor_cor,
dim_etn_etnia, dim_sex_sexo, dim_eci_estado_civil, dim_gsg_grupo_sanguineo,
dim_esc_escolaridade, dim_tmp_tempo e dim_end_endereco_nascimento.
1
http://jpivot.sourceforge.net/
5. Esse modelo foi gerado a partir da limpeza de várias tabelas e dados, avaliados como
desnecessários ao modelo dimensional. Como foram utilizados dados reais, algumas informações
também foram excluídas para manter a confidencialidade. Foram utilizados os operadores de
Agregação e Colapso de Hierarquia (MOODY e KORTINK, 2000) para geração das dimensões que
caracterizam a tabela fato.
Através da metodologia de derivação de modelos utilizada, pôde-se chegar a um modelo
intermediário, em que alguns problemas tiveram de ser analisados com mais rigor pela equipe do
projeto.
Primeiro, verificou-se que as dimensões dim_end_endereco e
dim_end_endereco_nascimento causariam uma duplicação desnecessária dos dados, pois a
dimensão dim_end_endereco pode ser caracterizada como uma dimensão com múltiplos papéis.
Deste modo, a dimensão dim_end_endereco_nascimento foi fisicamente eliminada e a tratamos
como uma dimensão lógica, implementada através de uma visão (view), gerada a partir da dimensão
dim_end_endereco. Nessa visão, foi eliminado o atributo bairro, que não é considerado necessário
para as consultas relacionadas ao endereço de nascimento da pessoa.
Segundo, o modelo ER do UFBADB possui relacionamentos n X m ao tratar dos vínculos
de funcionários. Neste modelo, uma mesma pessoa pode ter o vínculo de Aluno, Docente, Professor
Substituto, Professor Visitante e outros. Tal fato é descrito por (KIMBALL, REEVES, et al., 1998)
como um problema de modelagem dimensional. Para resolvê-lo, foi necessário criar uma dimensão
com uma coluna para cada tipo de vínculo. Essa modelagem contempla todas as análises baseadas
no vínculo. Mas ela não é recomendada caso a quantidade de tipos (vínculos, neste caso) seja
grande ou cresça muito com o tempo.
5 O Projeto BI Após os Trabalhos da Disciplina
Como já citado, após as atividades da disciplina "Tópicos em Banco de Dados" no semestre
2009.2, o CPD-UFBA conseguiu duas bolsas através do projeto de ações Afirmativas - Permanecer
UFBA. Deste modo pôde-se dar continuidade ao trabalho realizado no UFBADB pela equipe da
disciplina.
O plano de ação inicial deste projeto constituiu-se em colocar em funcionamento toda a
solução criada pelos alunos da disciplina dentro do CPD, para que a mesma pudesse ser avaliada,
criticada e melhorada. Foi constatado pelos bolsistas que o processo de ETL necessitava ser
refatorado para que novas cargas de dados pudessem ser realizadas. E, além disso, o mesmo deveria
ser revisado de modo a avaliar a qualidade dos dados gerados nas consultas OLAP.
A equipe do projeto Permanecer também têm explorado o uso de relatórios e dashboards no
Pentaho, assim como a criação de modelos de metadados, o que não foi explorado anteriormente
devido ao curto prazo da disciplina. Outro ponto importante é a realização da customização da
ferramenta, de modo a atender os padrões gráficos dos sistemas da UFBA e dos relatórios
disponibilizados pelas aplicações existentes.
Espera-se com o término dos trabalhos do UFBADB, que dois outros DM sejam criados e
integrados a solução inicial. Um para que os dados dos vestibulandos da universidade possam ser
analisados, principalmente os referentes ao questionário sócio-econômico e o outro para armazenar
os dados referentes às publicações acadêmicas da Universidade. Neste último caso deverão ser
utilizadas informações advindas da plataforma Lattes, em cruzamento com os dados do Sistema
Acadêmico, Sistema de Pessoal e ao próprio UFBADB.
Falta apenas a definição de como a solução desenvolvida poderá ser implantada na
universidade de modo que os gestores possam ter acesso a mesma. Além disso, é necessário a
especificação de uma rotina rigorosa de testes para validar os dados que estão sendo gerados nas
6. consultas, pois é de crucial importância que estes dados estejam corretos e sejam confiáveis para o
uso pelos gestores da instituição.
Além do trabalho de desenvolvimento no Pentaho, a equipe do projeto Permanecer tem
trabalhado na melhoria do manual da ferramenta, criado pelas equipes da disciplina. Isso possibilita
que o conhecimento adquirido possa ser facilmente repassado a outras pessoas que entrem no
projeto ajudando na fase inicial de aprendizado.
Na Figura 3 e na Figura 4, apresentamos um exemplo de consulta OLAP gerada, relativa aos
dados de docente e cor a partir do UFBADB.
Figura 3 - Exemplo de Consulta OLAP
7. Figura 4 - Exemplo de Gráfico Gerado para a Consulta OLAP
6 Conclusões e Trabalhos Futuros
O Software Livre tem vantagens e desvantagens se comparado ao similar de código fechado.
As desvantagens relacionadas à documentação são reduzidas com a disseminação do software, pois
os próprios usuários começam a ter iniciativas como a dos alunos da disciplina, passando a criar
manuais e blogs e a participar de fóruns e listas de discussão sobre o mesmo. No Brasil e no mundo,
o crescimento da quantidade de usuários da Suíte Pentaho BI tem contribuído para o aumento da
sua documentação.
Esta experiência mostrou que, apesar do esforço inicial requerido para conhecer a suíte, ela
possui uma boa relação custo-benefício. Pode ser adquirida gratuitamente e é considerada
atualmente como alternativa viável para uma solução de BI. A equipe de desenvolvedores da
mesma está bastante ativa e já existem iniciativas para superar suas principais deficiências, como é
o caso da substituição do JPivot.
A suíte está madura e pode ser utilizada como uma alternativa para organizações que, apesar
de ter um orçamento reduzido, desejam adotar uma solução de BI para apoiar seu processo de
tomada de decisões e geração de relatórios. O esforço dos seus desenvolvedores a consolidou como
principal alternativa livre para BI.
Pode-se então avaliar, através deste artigo que a suíte Pentaho constitui-se como uma boa
opção de ferramenta para o desenvolvimento de soluções de BI nas instituições federais de ensino
superior (IFES). Além disso, se outras instituições aderirem ao uso, pode se formar uma rede de
colaboração em torno desta tecnologia, o que facilitará ainda mais o desenvolvimento de soluções,
melhoria da ferramenta, geração de conhecimento e documentação.
Espera-se que ao fim do projeto Permanecer o CPD-UFBA consiga recursos suficientes para
continuar o andamento dos trabalhos e que outros trabalhos de parceria entre o DCC e o CPD-
UFBA possam ser realizados, em torno do projeto BI UFBA e outros projetos de importância para o
CPD.
8. Referências Bibliográficas
FERREIRA, M. et al. Plataforma Pentaho de Business: Manual de utilização. UFBA. Salvador.
2009. Disponível em https://disciplinas.dcc.ufba.br/pub/MATB10/NotasDeAula/Pentaho_3_5.pdf.
Acessado em 05/02/2010.
KIMBALL, R. et al. The Data Warehouse Lifecycle Toolkit: Expert Methods for Designing,
Developing and Deploying Data Warehouses. New York, NY, USA: Wiley, 1998.
KIMBALL, R.; ROSS, M. The Data Warehouse Toolkit: The Complete Guide to Dimensional
Modeling. 2ª Edição. ed. New York, NY, USA: Wiley, 2002.
MENOLLI, A. Definição de uma Arquitetura de Data Warehousing para Gestão em Ciência e
Tecnologia no Brasil, 2004. Disponivel em:
<http://www.din.uem.br/~mmdias/pesquisa/Andre_dissertacao.pdf>. Dissertação (Mestrado em
Ciência da Computação) - Universidade Estadual de Maringá, Conselho Nacional de
Desenvolvimento Científico e Tecnológico.
MOODY, D. L.; KORTINK, M. A. R. From Enterprise Models to Dimensional Models:A
Methodology for Data Warehouse and Data Mart Design. Proceedings of the International
Workshop on Design and Management of Data Warehouses (DMDW'2000), Estocolmo,
Suécia, Junho 2000.
PENTAHO CORPORATION. Customer Successes. Open Source Business Intelligence - Open
Source Reporting, ETL & Data Integration and OLAP | Pentaho, 2010. Disponivel em:
<http://www.pentaho.com/about/customers/>. Acesso em: 11 jan. 2010.
PETRINI, M.; FREITAS, M. T.; POZZEBON, M. Inteligência de Negócios ou Inteligência
Competitiva? Noivo Neurótico, Noiva Nervosa. EnANPAD, Salvador, BA, Setembro 2006.
SALVADOR, H.; ARAÚJO, C.; VIEIRA, V. Um Banco de Dados Único para os Sistemas
Corporativos, Salvador. Disponivel em:
<https://disciplinas.dcc.ufba.br/pub/MATB10/NotasDeAula/Artigo_UFBADB.pdf>. Acesso em: 29
jan. 2009.
TESSLER, G.; DE SALES, F. Inteligência de negócios com software livre, 2008. Disponivel em:
<http://www.serpro.gov.br/imprensa/publicacoes/tematec/2008/tematec-ano-x-no-xx-
2008/tematec%202%20-%20ano%20x%20-%20n%20xx%20-%202008>. Acesso em: 20 fev. 2010.
SERPRO.
YAHOO! DO BRASIL INTERNET LTDA. Pentaho Brasil. Yahoo! Grupos, 2010. Disponivel em:
<http://br.groups.yahoo.com/group/pentahobr/>. Acesso em: 14 out. 2009.