• José Carlos dos Santos

Conceitos de Tabelas de Dimensão e Fato na Construção do Data Warehouse

Atualizado: Fev 20

RESUMO


Este estudo visa analisar o contexto de construção de armazéns de dados do inglês Data Warehouse, os tipos de tabelas dimensões e fatos que são construídas para armazenar os dados de processos de negócio de um ambiente empresarial. O modelo estudado é o modelo estrela do inglês Star Schema. Entender os conceitos de cada modelo de tabelas dimensão e fato tem um ganho significativo na modelagem, na extração transformação e carga do inglês Extract Transform and Load e nas operações de analises e mineração de dados.



PALAVRAS-CHAVE


Data Warehouse, Extração Transformação e Carga, Star Schema, tabelas Dimensão, tabelas Fato.



DATA WAREHOUSE (DW)


Como define Inmon: Um Data Warehouse é uma coleção de dados orientados a assuntos, integrados, variáveis com o tempo, não voláteis, para suporte ao processo gerencial de tomada de decisão (Inmon,1997). Data Warehouse é um grande banco de dados que armazena dados de diversas fontes para futura geração de informações integradas, com base nos dados do funcionamento das funções empresariais operacionais de uma organização inteira. Frequentemente, é chamado de armazém de dados de uma empresa. Esse armazém de dados é um banco de dados que consolida dados extraídos de diversos sistemas de informação em um grande banco de dados que pode ser utilizado para relatórios e análises executivas, a partir de reorganizações de dados e combinações de informações. Comtemplam inclusive dados históricos, de modo que possam ser usados para tomada de decisões principalmente táticas e estratégicas. Na maioria dos casos, ele só pode ser utilizado para obtenção de consulta de informações e não pode ser atualizado, não afetando assim o desempenho dos sistemas de informação operacional (Laudon,1999).



EXTRACT TRANSFORM AND LOAD (ETL)


O ETL está enquadrado dentro das atividades chave no contexto das fontes de dados, pois através de sua combinação eles permitem fazer a transferência de dados de uma fonte para outra. Este termo tem sido associado a processos da construção do Data Warehouse. Dentro das fases da construção de um DW, o ETL é uma das tarefas com maior custo, tanto para o tempo do projeto quanto para os recursos como associar e unificar os dados de diferentes fontes, com formatos de estruturas diferentes, onde a variedade de fontes e os esquemas dificultam o trabalho (Kimball,2008).

Abaixo, temos as descrições das três etapas que compõe o processo de ETL.


  • Extração: Processo onde são obtidos os dados. Em grande maioria, os dados são coletados de diversas fontes de dados e enviados para a área de transformação, para posteriormente serem trabalhados.


  • Transformação: Nesta etapa, os dados extraídos de suas fontes são analisados para que então seja possível definir quais atividades deverão ser realizadas, bem como limpeza, eliminação de campos ou dados que não serão úteis ao DW, combinação de fontes de dados quando as mesmas apresentam o mesmo valor, normalização dos dados.


  • Carga: Neste último passo, são carregados os dados no Data Warehouse. Tal função requer checagem da integridade dos dados, otimização do processo de carga e suporte às necessidades do processo de carga, como a eliminação e inclusão de índices (Hokama,2002).


STAR SCHEMA


Star Schema ou esquema estrela, idealizado por Ralph Kimball, é o modelo mais utilizado na modelagem dimensional para dar suporte à tomada de decisão e melhorar a performance de sistemas voltados para consulta. O esquema estrela é composto no centro por uma tabela fato, rodeada por tabelas de dimensão, ficando parecido com a forma de uma estrela, provendo uma visão da modelagem da base de dados para sistemas de apoio à decisão que se aplica ao Data Warehouse. (Piton, 2017).



TABELAS DIMENSÃO


SLOWLY CHANGING DIMENSIONS - Slowly Changing Dimensions SCD (Dimensões que Mudam Lentamente, em português) e retrata as dimensões que sofrem atualizações em seus campos e os classifica pelo tipo de mudança existente em cada uma delas. Vários tipos de SCD podem ser identificados no DW, variando de acordo com as características de atualizações das dimensões. As alternativas mais comuns de SCD são o SCD Tipo 1, SCD Tipo 2, SCD Tipo 3 e o SCD Híbrido (Canaltech, 2020).


  • O SCD Tipo 1 é a alteração que não armazena histórico na dimensão, ou seja, não é feito o versionamento do registro modificado. Trata-se do tipo mais simples, pois não há nenhum controle específico para a atualização dos dados, havendo apenas a sobreposição.

  • O SCD Tipo 2 é a técnica mais utilizada para atualizações de dimensões. Nesse tipo de SCD é adicionado um novo registro com as mudanças, preservando sempre os dados anteriores. Dessa forma, os registros da tabela fato vão apontar para a versão correspondente nas dimensões de acordo com a data de referência.

  • O SCD Tipo 3 permite manter as modificações no mesmo registro. Essa técnica funciona com a adição de uma nova coluna na tabela de dimensão, onde é armazenada a atualização, mantendo na antiga coluna o valor anterior.

  • O SCD Híbrido (conhecido também como SCD Tipo 6), combina todas os SCD anteriores. Isso o torna bastante flexível para as atualizações das dimensões, porém com um grande custo de complexidade.


DEGENERATE DIMENSION - Dimensão degenerada é uma chave de dimensão na tabela fato que não possui sua própria tabela de dimensão, ou seja, é a dimensão que não mereceu ser uma dimensão e foi inserida como coluna na tabela fato pois todos os atributos interessantes foram colocados em dimensões analíticas. O termo "dimensão degenerada" foi originado por Ralph Kimball.


ROLE-PLAYING DIMENSION - Uma única dimensão pode ser referenciada várias vezes em uma tabela fato, com cada referência vinculada a uma função logicamente distinta para a dimensão. Por exemplo, uma tabela fato pode ter várias datas, cada uma delas representada por uma chave estrangeira para a dimensão da data. É essencial que cada chave estrangeira se refira a uma visão separada da dimensão da data, para que as referências sejam independentes.


CONFORMED DIMENSION - As tabelas de dimensões estão em conformidade quando os atributos em tabelas de dimensões separadas têm os mesmos nomes de coluna. As informações de tabelas fato separadas podem ser combinadas em um único relatório usando atributos de dimensão conformes que estão associados a cada tabela de fato. As dimensões conformes definidas uma vez em colaboração com os representantes de governança de dados da empresa são reutilizadas em tabelas fato fornecendo eles fornecem consistência analítica e custos futuros reduzidos.


JUNK DIMENSION - A dimensão lixo é simplesmente uma estrutura que fornece um local para armazenar os atributos ou uma coleção de códigos transacionais aleatórios que não estão relacionados a nenhuma dimensão específica. Esses tipos de atributos não se integram facilmente às dimensões convencionais, como Cliente, Fornecedor e Produto, no entanto, alguns dos atributos diversos contém dados que têm um valor comercial significativo, dessa forma são armazenados em uma dimensão lixo.



TABELAS FATO


Transactional - Uma tabela fato transacional é a mais comum em tabelas fato, a granularidade associada a uma tabela de fato transacional é geralmente especificada como uma linha por linha em uma transação. Normalmente, uma tabela fato transacional contém dados do nível mais detalhado de negócio, fazendo com que tenha um grande número de dimensões associadas.


Aggregate - Tabelas fato agregadas são usadas ​​em modelos dimensionais do data warehouse para produzir um resumo de informações pré-calculadas, as agregações geralmente são pré-computadas podendo ser carregada diretamente da fonte de dados ou da tabela fato transacional alterando a granularidade para um nível mais alto. Com os dados resumidos carregados na tabela agregada o volume de dados é menor obtendo-se um ganho de performance considerável nas consultas comparado com um fato transacional.


Periodic snapshots - As tabelas snapshots periódico registram dados que é instantâneo em um período de tempo predefinido, podendo ser diariamente, semanalmente ou mensalmente. Como o nome indica tira-se uma "imagem do momento" em que o fato ocorreu, os dados de origem da tabela snapshot periódico são dados de uma tabela de fato transacional em que se escolhe um período a ser capturado.


Accumulating snapshots - As tabelas de snapshots acumulado descreve a atividade de um processo de negócios que possui início e fim. Esse tipo de tabela de fato possui várias colunas de data para representar marcos no processo. A medida em que as etapas do processo forem sendo concluídas o registro correspondente na tabela de fato é atualizado.


Factless Fact Tables - As tabelas de fato sem fato são encontradas na modelagem de data warehouse esta tabela não possui nenhuma medida ela contém apenas chaves estrangeiras para tabelas dimensionais, sendo suficiente para responder a questões relevantes. As tabelas de fatos sem fatos também podem ser usadas para analisar o que não aconteceu, essas consultas sempre têm duas partes: uma tabela de cobertura sem fatos que contém todas as possibilidades de eventos que podem acontecer e uma tabela de atividades que contém os eventos que ocorreram. Quando a atividade é subtraída da cobertura, o resultado é o conjunto de eventos que não ocorreram.



CONCLUSÃO

Utilizar os conceitos descrito neste estudo obtém-se um ganho de qualidade na modelagem de qualquer projeto de Data Warehouse. Ao iniciar um novo projeto na etapa de levantamento de requisitos o time de Businnes Intelligence pode desenhar o DW no processo de negócio proposto utilizando-se das melhores práticas. Isso abrange a modelagem do DW, a documentação, a extração transformação e carga dos dados refletindo também em ganhos de performance e qualidade dos dados em analises e na criação de relatórios e dashboards.



BIBLIOGRAFIA

[1] Inmon, William H. Como usar o Data Warehouse / W.H. Inmon & Richard D. Hackathorn; tradução de Olavo Faria – Rio de Janeiro infobook, pg.14, 1997.

[2] LAUDON, Jane P. Sistemas de informação. 4 ed. Rio de Janeiro: LTC, pg. 197, 1999.

[3] Oracle Corporation, Oracle Database Data Warehousing Guide. Disponível em <https://docs.oracle.com/database/121/DWHSG/concept.htm#DWHSG8071/> Acesso em 06/07/2018.

[4] Kimball, R., Ross, M., Thornthwaite, W., Mundy, J. and Becker, B. (2008). The Data Warehouse Lifecycle Toolkit. Indianapolis, USA: Wiley Publishing, Inc.

[5] Hokama, D. D. B Camargo, D. Fujita, F Fogliene, J. L. V A modelagem de dados no ambiente Data Warehouse Universidade Presbiteriana Mackenzie, Faculdade de Computação e Informática 2004.

[6] Microsoft Corporation, Understand star schema and the importance for Power BI. Disponível em <https://docs.microsoft.com/en-us/power-bi/guidance/star-schema/> Acesso em 02/03/2020.

[7] Piton, Rafael, Data Warehouse – O Que É Star Schema? Disponível em <https://rafaelpiton.com.br/blog/data-warehouse-star-schema/> Acesso em 02/03/2020.

[8] Piton, Rafael, Tabela Dimensão: os 5 tipos que você deve conhecer. Disponível em <https://rafaelpiton.com.br/blog/data-warehouse-tipos-dimensoes/> Acesso em 02/03/2020.

[9] Canaltech, O que significa e qual a importância do SCD no Data Warehouse. Disponível em <https://canaltech.com.br/infra/O-que-significa-e-qual-a-importancia-do-SCD-no-Data-Warehouse/> Acesso em 02/03/2020.

[10] Vertabelo, Facts about Facts: Organizing Fact Tables in Data Warehouse Systems. Disponível em <https://www.vertabelo.com/blog/facts-about-facts-organizing-fact-tables-in-data-warehouse-systems/> Acesso em 02/03/2020.

[11] Kimball Group, Dimensional Modeling Techniques. Disponível em <https://www.kimballgroup.com/data-warehouse-business-intelligence-resources/kimball-techniques/dimensional-modeling-techniques/> acesso em 02/03/2020.

0 visualização