IGTI Blog
Engenharia Reversa em um banco de dados de BI

Engenharia Reversa em um banco de dados de BI

Muitos bancos de dados de BI são criados e seu crescimento orgânico não permite, muitas vezes, a modelagem correta, acarretando um banco de dados enorme sem uma documentação adequada e necessária para a implementação dos relatórios.

BigData, ODS, Data Mart, Data Lake são nomes de repositórios de dados de BI, responsáveis por armazenar os dados que serão utilizados pelas empresas para as tomadas de decisões dos executivos. O desenvolvimento desses repositórios de dados normalmente é incremental, isto é, o seu crescimento é orgânico acompanhando o crescimento da empresa e as diversas mudanças de rumo durante o passar dos anos. Mudança no planejamento estratégico da empresa, turnover da equipe de BI são ocorrências corriqueiras que, de alguma forma, podem prejudicar a passagem de conhecimento da estrutura do repositório de dados de BI.

A complexidade do processo de ETL, modelagem dos dados e as constantes melhorias no processo de BI fazem com que, muitas vezes, a documentação seja deixada de lado e a passagem de conhecimento ocorra com Workshops periódicos ou simplesmente com a velha conversa.

Em que momento a documentação, seja dos processos de ETL, seja da modelagem física do banco de dados se faz necessária? Acredito que a partir do momento onde a complexidade cresce exponencialmente, a quantidade de tabelas no banco de dados se torna incontável e, principalmente, quando nos deparamos com um alto turnover da equipe de BI.

Com esse alto turnover perdemos o bem mais valioso para as empresas, o conhecimento. Sem as pessoas que conhecem bem a estrutura das tabelas, não há como ter os workshops de passagem de conhecimento obrigando-nos a documentar.

Essa documentação pode ser iniciada com a Engenharia Reversa do banco de dados e em paralelo com o esquema dos ETL’s.

Porém, como sabemos, os bancos de dados de BI possuem centenas de tabelas, muitas vezes sem Foreing Key, sem respeitarem a 3FN e com isso, alta redundância de dados. Em alguns casos, existem até tabelas resumo de relatórios, em que os dados já são preparados para a apresentação dos dados.

Então, como iniciar essa Engenharia Reversa sem apresentar uma teia de aranha do seu modelo?

Segue abaixo algumas dicas:

  1. Segregue os assuntos dentro do seu banco de dados, desta forma, você conseguirá enxergar o relacionamento entre as tabelas e irá conseguir trabalhar com mini modelos
  2. Identifique as tabelas corporativas, isto é, as tabelas de cadastros que são utilizadas em diversos mini modelos, como tabelas de clientes, produtos, fornecedores, etc.
  3. Aproveite a modelagem para identificar melhorias no seu processo de ETL e fazer a documentação do ETL, incluindo tabela de origem, transformação realizada e tabela de destino.
  4. Por último, não deixe essa documentação morrer. A sua atualização constante é o que irá mantê-la viva e útil para a sua equipe e para os novos integrantes.

A utilização de ferramentas adequadas que possam facilitar a engenharia reversa também é importante nesse processo. Fazer tudo à mão, com prazo, qualidade é humanamente impossível. Procure no mercado ferramentas apropriadas para a modelagem física e com uma potente funcionalidade de engenharia reversa.

Convencer a sua gerência/diretoria que você deverá ‘gastar’ o seu tempo com documentação é outro desafio desse processo. Na maioria das vezes nós trabalhamos para clientes externos e ter um tempo para ‘arrumar a casa’ é praticamente impossível. Uma boa apresentação dos resultados atuais e dos resultados esperados é essencial para conseguir esse aval de sua gerência. Então prepare uma boa apresentação e boa sorte.

Professor autor: Marcelo Capelo