Dando continuidade à nossa série de artigos sobre os tópicos de Análise de Dados e Informações, iremos conversar agora sobre as principais estruturas de armazenamento de um processo de Business Intelligence (BI), que são os Data Warehouses e Data Marts.
Data Warehouse e Data Mart
O objetivo de um Data Warehouse é centralizar os dados retirados de diversas fontes dentro da organização e facilitar a consulta dos tomadores de decisões. Disponibilizando acesso aos dados históricos da organização, ajudando a mapear possíveis padrões de compra e como esses padrões podem mudar ao longo do tempo.
Segundo Korth (2012), um depósito de dados (Data Warehouse) é um repositório de informações extraídas de várias origens, armazenadas sob um esquema unificado, em um único local. Uma vez reunidos, os dados são armazenados por muito tempo, permitindo o acesso a dados históricos.
Segundo Navathe (2019), Data Warehouses são bancos de dados que armazenam e mantém dados analíticos separadamente dos bancos de dados orientados a transação (bancos de dados transacionais), para fins de apoio à tomada de decisão. Os Data Warehouses costumam manter dados históricos de vários anos, a fim de permitir a análise destes dados.
Os Data Warehouses são modelados e estruturados utilizando diferentes tipos de tecnologias para armazenamento e recuperação de dados, além de suportar, principalmente, aplicações de apoio à decisão. Os Data Warehouses procuram oferecer ao usuário uma única interface consolidada para os dados, facilitando a escrita e elaboração de consultas de apoio à decisão. São otimizados para recuperação de dados, e não para processamento de transações de rotina, como no caso de bancos de dados tradicionais.
Figura 1
Analisando a Figura 1, um Data Warehouse pode combinar informações de vários Data Marts de diferentes linhas de negócios da organização, podendo ser uma unidade de recursos humanos, de marketing, financeiro etc. Podemos conceituar um Data Mart como sendo especializado e volátil, seu objetivo é conter dados para apoio de uma área específica.
Diferentemente dos bancos de dados relacionais, os Data Warehouses são projetados exatamente para dar suporte à extração, ao processamento e à apresentação eficiente dos dados para fins analíticos e de tomada de decisão. Em comparação com os bancos de dados tradicionais, os Data Warehouses em geral contêm uma quantidade muito grande de dados, das mais diversas fontes, o que podem incluir bancos de dados de diferentes modelos de dados e, às vezes, arquivos adquiridos de sistemas e plataformas independentes.
Características de um Data Warehouse (DW)
Date (2004), define um Data Warehouse como um depósito de dados orientado por assunto, integrado, não volátil, variável com o tempo, para apoiar as decisões gerenciais.
- Orientado por assunto: diz respeito aos sistemas transacionais que são organizados em uma determinada aplicação da organização. A orientação por assunto é uma característica importante, uma vez que a modelagem do Data Warehouse deve ser orientada a partir dos principais assuntos de interesse da organização;
- Integrado: uma das características mais importantes de um Data Warehouse. Refere-se a integração que é feita do ambiente operacional e transacional da organização, para os processos e ferramentas do Data Warehouse. O objetivo da integração é padronizar os dados das diversas fontes de dados em uma única representação, para serem transferidos para o Data Warehouse;
- Não volátil: quando estamos lidando com bancos de dados transacionais, os dados sofrem diversas modificações, como a inclusão, alteração e exclusão de dados. Em ambientes de Data Warehouse os dados recebem apenas operações de consulta e exclusão, sem que possam ser alterados, e esta característica representa a não-volatilidade;
- Variável com o tempo: essa característica consiste na manutenção de um histórico de dados em relação ao período de tempo maior que dos sistemas comuns utilizados pela organização. Quando um dado dentro do Data Warehouse é analisado, ele deve estar sempre relacionado a um período determinado de tempo, geralmente com a presença de uma chave de tempo para indicar o dia que esse dado foi extraído.
Extract, Transform and Load (ETL)
A Figura 2 ilustra uma arquitetura de um típico Data Warehouse, mostrando as etapas de coleta e armazenamento dos dados, além do suporte da consulta e análise de dados.
Figura 2
Em primeiro lugar, devemos pensar em quando e como coletar os dados que serão armazenados em um Data Warehouse. Segundo Silberschatz, Sundarshan e Korth (2012), podemos trabalhar com dois tipos de arquiteturas diferentes: uma arquitetura controlada pela fonte para a coleta de dados, onde as fontes de dados transmitem novas informações, seja continuamente (quando ocorre o processamento da transação), periodicamente (à noite, por exemplo) ou uma arquitetura controlada por destino, onde o depósito de dados envia periodicamente solicitações para novos dados às fontes.
Após a coleta e extração, temos a transformação e limpeza de dados. De acordo com Silberschatz, Sundarshan e Korth (2012), a limpeza dos dados trata-se de uma tarefa que visa corrigir e pré-processar estes dados, corrigindo diversas inconsistências que podem ser encontradas no momento da extração. Por exemplo, atributos com nomes podem possuem erros de digitação e atributos de endereços podem ter erros em campos de rua, bairro, cidade ou códigos postais que foram informados incorretamente.
Podemos pensar na transformação de dados de uma forma diferente do processo de limpeza, que acabamos de ver. Por exemplo, mudança de unidades de medida ou a conversão dos dados para um esquema diferente, pela junção de dados de várias relações de origem. Os Data Warehouses normalmente possuem ferramentas gráficas para dar suporte à transformação de dados.
As diferentes etapas envolvidas na obtenção de dados para um Data Warehouse são chamadas de Extract, Transform and Load (ou ETL); a extração refere-se à obtenção de dados das origens, enquanto a carga refere-se à carga dos dados no depósito de dados.
Figura 3
Além disso, Chaudhuri e Dayal (1997) descrevem um Data Warehouse de uma forma mais geral, como uma coleção de tecnologias de apoio à decisão, visando a habilitar o trabalhador do conhecimento (executivo, gerente, analista) a tomar decisões melhores e mais rápidas, onde, a figura anterior, oferece uma visão geral da estrutura conceitual de um Data Warehouse.
Navathe e Elmasri (2019) também apresentam outros termos que são encontrados com frequência dentro do contexto de Data Warehouses:
- Data Store Operacional (ODS): este termo normalmente é usado para a forma intermediária de bancos de dados, antes que sejam limpos, agregados e transformados em um Data Warehouse;
- Data Store Analítico (ADS): o banco de dados que é montado para fins de realizar análise de dados. Geralmente, um ODS é reconfigurado e replanejado para um ADS por meio de processos de limpeza, agregação e transformação.
Direto do Concurso
Questão 1 (CESPE/STJ/Técnico Judiciário – Desenvolvimento de Sistemas/2018)
Acerca do processo de data warehouse, julgue o item subsequente.
O data warehouse tem como finalidade a apresentação das informações necessárias para a identificação de indicadores e da evolução de valores ao longo de uma grande janela de tempo.
Questão 2 (CESPE/IPHAN/Analista I – Área 7/2018)
Julgue o item que se segue, a respeito de tecnologias de sistemas de informação.
O data warehouse é integrado, não volátil e orientado a assuntos, contudo, embora lide com dados e os armazene para a tomada de decisões gerenciadas, não é considerado um banco de dados, pois é variável em relação ao tempo.
Questão 3 (CESPE/STM/ Técnico Judiciário – Programação de Sistemas/2018)
A respeito de ETL, julgue o item a seguir.
O ambiente ETL permite a visualização dos dados para análise de maneira multidimensional.
Questão 4 (CESPE/STM/Técnico Judiciário – Programação de Sistemas/2018)
A respeito de ETL, julgue o item a seguir.
Em processos ligados a ETL, os dados são identificados e extraídos de diferentes fontes, incluindo sistemas de banco de dados e aplicações.
Gabarito Comentado
Questão 1
Resposta Correta: Certo.
Comentário: Um Data Warehouse é qualquer sistema que coleta dados de uma ampla variedade de fontes dentro de uma organização. Os Data Warehouses são usados como repositórios de dados centralizados para fins analíticos e de relatório.
Questão 2
Reposta Correta: Errado.
Comentário: Um Data Warehouse é uma coleção de dados orientados por assuntos, integrados, variáveis com o tempo e não voláteis, para dar suporte ao processo de tomada de decisão. Além disso, um Data Warehouse é um banco de dados multidimensional que é alimentado com dados dos bancos de dados transacionais das organizações, que são usados nas aplicações de negócio.
Questão 3
Resposta Correta: Errado.
Comentário: O processo de ETL significa Extração, Transformação e Carga e trata da sistematização do tratamento e limpeza dos dados oriundos dos diversos sistemas organizacionais, como sistemas OLTP que são bancos de dados transacionais, para a inserção, geralmente, em um Data Warehouse ou Data Mart. Como podemos perceber, esse processo possui três etapas. A primeira é a extração, a segunda a transformação e por fim, a carga. Cada uma delas possui grande importância para o sucesso da transição dos dados dos sistemas de origem para o Data Warehouse.
Questão 4
Resposta Correta: Certo.
Comentário: Uma das atividades do ETL é a identificação da origem dos dados a serem coletados, sendo que as fontes podem estar espalhadas em diversos sistemas transacionais e banco de dados da organização.
Referências
[1] ELMASRI, R.; NAVATHE, S. B.. Sistemas de Banco de Dados. 4a ed., Pearson-Addison-Wesley, 2005.
[2] DATE, C. J.. Introdução a Sistemas de Banco de Dados. Elsevier Editora, 2004.
[3] SILBERSCHATZ, Abraham; SUNDARSHAN, S.; KORTH, Henry F..; Sistemas de Bancos de Dados, Makron Books, 6a. edição revisada, 2012.
Participe da conversa