Data Warehose

Atualmente, o mercado é tão competitivo que uma única escolha ou decisão errada no nível gerencial pode determinar o fim de uma organização. Para auxiliar estas escolhas e decisões é que temos o data warehouse, através dele, podemos ter a visão do todo, ao invés da visão fragmentada obtida pelos sistemas de informações tradicionais.

O Data Warehouse, que em português podemos chamar de armazém de dados, possui uma coleção de dados agregada ou resumida, e tem exclusivamente o objetivo de fornecer suporte à tomada de decisão, ou seja, é direcionado para decisões gerenciais. Com o serviço oferecido pelo data warehouse, é possível analisar o passado da organização para a tomada de decisão satisfatória, e também fazer uma projeção para o futuro.

Os dados armazenados no data warehouse podem ser coletados de fontes diversas. Se comparados aos bancos de dados tradicionais, os data warehouses tem um volume de dados bem superior, justamente por sua coleção de dados poder vir de fontes diversas, ou até mesmo de arquivos adquiridos de diversos sistemas e plataformas independentes. É possível que vários bancos de dados forneçam os dados, que serão agrupados num único local para fornecer o suporte necessário, sendo possível então, o acesso a essas informações numa interface única. Uma grande vantagem de "reunir" a informação fora de um banco de dados transacional é que ao realizar o processamento, evita-se que o mesmo seja afetado pela carga de trabalho. Suponhamos que uma organização tenha diversas filiais espalhadas por um determinado território, e que ela possua um banco de dados distinto para cada uma das filiais. Surge então a necessidade de produzir um relatório estatístico das vendas dos últimos cinco anos entre todas as filiais. Para produzir este relatório será necessário concentrar as informações de todas as filiais num único lugar, é este lugar que chamamos de data warehouse. Ao alimentarmos o nosso data warehouse com as informações das vendas de cada filial, poderemos gerar um relatório estatístico das vendas, sendo que este relatório estatístico pode contemplar o aumento/diminuição das vendas durante os cincos anos, ou o período do ano onde há um maior aumento das vendas, ou o produto que teve a maior venda durante um período. Enfim, há uma gama enorme de possibilidades de combinações das informações, sendo então possível visualizar os dados de diferentes ângulos, a fim de que seja satisfeita a necessidade do suporte à decisão do nível gerencial.

O data warehouse também tem como tarefa converter os dados a um modelo específico e executar a integração dessas diversas fontes, isso se dá pelo fato dele receber dados de múltiplas fontes, e que possivelmente terão modelos diferentes. Por exemplo, na Fonte de Dados 1 o campo sexo é definido como "F" para sexo feminino e "M" para sexo masculino, já na Fonte de Dados 2 o campo sexo está definido como "M" para sexo feminino e "H" para sexo masculino. Ao realizar a junção das duas Fontes de Dados, o data warehouse precisará padronizar este campo.

Uma característica marcante de um data warehouse é que, diferentemente de um banco de dados transacional, sua base de dados não é atualizada constantemente, ou seja, o data warehouse não recebe informações em tempo real, por isso dizemos que ele é não volátil, possuindo mais dados históricos do que de tempo real. A atualização de um data warehouse é feita periodicamente, conforme a necessidade, sendo que ela é feita normalmente de forma incremental, ou seja, não são retiradas informações do data warehouse e sim acrescidos somente os novos dados.

Existem três etapas no processo de um data warehouse, chamadas de ETL (extração, transformação e carga). A primeira etapa é extrair o dado de alguma fonte, ou seja, capturar os dados da fonte de origem (por exemplo, de um sistema ERP) que serão usados no data warehouse. A segunda etapa é transformar estes dados que foram extraídos, que podem compreender a aplicação de regras de negócio (por exemplo, padronização das unidades de medidas), limpeza (por exemplo, o mapeamento do campo onde há valor NULL para 0), filtragem (por exemplo, selecionar apenas determinadas colunas para carregar), dividir uma coluna em várias colunas e vice-versa, aplicação de qualquer tipo de validação de dados simples ou complexos (por exemplo, se os primeiros três colunas em uma linha estão vazias então rejeitar a linha de processamento), entre outras transformações. A terceira etapa é carregar os dados que foram extraídos e transformados para dentro do data warehouse. Sempre que houver incremento de dados, a informação passará por estas três etapas.

Para a construção de um data warehouse é preciso que se tenha uma visão ampla do uso antes da armazenagem dos dados. Não é possível prever todas as consultas ou análises que serão feitas, por isso o projeto de construção deve ser bem formulado, ao ponto que seja possível acessar dados com qualquer tipo de combinação significativa de valores.

Dentro um Data Warehouse existem dois tipos de tabelas:

  • de Fatos (onde estão os valores detalhados, é a tabela dominante);
  • de Dimensão (onde estão os valores concentrados, específicos).

Por exemplo, podemos ter uma tabela de fatos que contenha o nome do produto, a quantidade de vendas semestral do produto, a região de vendas, e o valor de venda do produto. Podemos ter uma tabela de dimensão que contenha o número, o nome, a descrição, o estilo e a linha do produto. Assim sendo, temos na tabela de Fatos as informações detalhadas sobre os resultados dos negócios e na tabela de Dimensão temos informações específicas somente sobre o produto, ou seja, as Tabelas de Dimensão armazenam os valores que são usados em Tabelas de Fato.

E por aqui eu finalizo este artigo, no qual vimos o que é um Data Warehouse, como é seu funcionamento e qual a sua importância na tomada de decisão. Vejo você nos próximos artigos.

Até breve. Um grande abraço.

Leia também: