Data Warehouse - Visão geral

Um Data Warehouse consiste em dados de multiple heterogeneous data sourcese é usado para relatórios analíticos e tomada de decisão. Data Warehouse é um local central onde os dados são armazenados de diferentes fontes de dados e aplicativos.

O termo Data Warehouse foi inventado por Bill Inmom em 1990. Um Data Warehouse é sempre mantido separado de um Banco de Dados Operacional.

Os dados em um sistema DW são carregados de sistemas de transações operacionais como -

  • Sales
  • Marketing
  • HR
  • SCM, etc.

Ele pode passar pelo armazenamento de dados operacionais ou outras transformações antes de ser carregado no sistema DW para processamento de informações.

Um Data Warehouse é usado para relatar e analisar informações e armazena dados históricos e atuais. Os dados no sistema DW são usados ​​para relatórios analíticos, que posteriormente são usados ​​por analistas de negócios, gerentes de vendas ou trabalhadores do conhecimento para a tomada de decisões.

Na imagem acima, você pode ver que os dados vêm de multiple heterogeneous datafontes para um Data Warehouse. Fontes de dados comuns para um data warehouse incluem -

  • Bancos de dados operacionais
  • Aplicativos SAP e não SAP
  • Arquivos simples (arquivos xls, csv, txt)

Os dados no data warehouse são acessados ​​por usuários de BI (Business Intelligence) para relatórios analíticos, mineração de dados e análises. Isso é usado para tomada de decisão por usuários de negócios, gerente de vendas, analistas para definir a estratégia futura.

Características de um Data Warehouse

É um repositório central de dados onde os dados são armazenados de uma ou mais fontes de dados heterogêneas. Um sistema DW armazena dados atuais e históricos. Normalmente, um sistema DW armazena de 5 a 10 anos de dados históricos. Um sistema DW é sempre mantido separado de um sistema de transação operacional.

Os dados em um sistema DW são usados ​​para diferentes tipos de relatórios analíticos, desde comparação trimestral até comparação anual.

Data Warehouse vs. Banco de Dados Operacional

As diferenças entre um Data Warehouse e um Banco de Dados Operacional são as seguintes -

  • A Operational System foi projetado para cargas de trabalho e transações conhecidas, como atualização de um registro de usuário, pesquisa de um registro, etc. No entanto, as transações de data warehouse são mais complexas e apresentam uma forma geral de dados.

  • A Operational System contém os dados atuais de uma organização e o Data warehouse normalmente contém os dados históricos.

  • A Operational Databasesuporta processamento paralelo de várias transações. Os mecanismos de controle e recuperação de simultaneidade são necessários para manter a consistência do banco de dados.

  • A Operational Database consulta permite ler e modificar operações (inserir, excluir e atualizar), enquanto uma consulta OLAP precisa apenas de acesso somente leitura dos dados armazenados (instrução Select).

Arquitetura de Data Warehouse

Data Warehousing envolve limpeza de dados, integração de dados e consolidações de dados. Um Data Warehouse tem uma arquitetura de 3 camadas -

Camada de fonte de dados

Ele define como os dados chegam a um Data Warehouse. Envolve várias fontes de dados e sistemas de transações operacionais, arquivos simples, aplicativos, etc.

Camada de Integração

Consiste em Armazenamento de Dados Operacionais e área de Staging. A área de teste é usada para realizar limpeza de dados, transformação de dados e carregamento de dados de diferentes fontes para um data warehouse. Como várias fontes de dados estão disponíveis para extração em diferentes fusos horários, a área de preparação é usada para armazenar os dados e, posteriormente, para aplicar transformações nos dados.

Camada de apresentação

Isso é usado para executar relatórios de BI por usuários finais. Os dados em um sistema DW são acessados ​​por usuários de BI e usados ​​para relatórios e análises.

A ilustração a seguir mostra a arquitetura comum de um Sistema de Data Warehouse.

Características de um Data Warehouse

A seguir estão as principais características de um Data Warehouse -

  • Subject Oriented - Em um sistema DW, os dados são categorizados e armazenados por um assunto de negócios, em vez de por aplicação, como planos de capital, ações, empréstimos, etc.

  • Integrated - Dados de múltiplas fontes de dados são integrados em um Data Warehouse.

  • Non Volatile- Os dados no data warehouse não são voláteis. Isso significa que quando os dados são carregados no sistema DW, eles não são alterados.

  • Time Variant- Um sistema DW contém dados históricos em comparação com o sistema Transacional, que contém apenas dados atuais. Em um data warehouse, você pode ver os dados de 3 meses, 6 meses, 1 ano, 5 anos, etc.

OLTP vs OLAP

Em primeiro lugar, OLTP significa Online Transaction Processing, enquanto OLAP significa Online Analytical Processing

Em um sistema OLTP, há um grande número de transações on-line curtas, como INSERT, UPDATE e DELETE.

Considerando que, em um sistema OLTP, uma medida eficaz é o tempo de processamento de transações curtas e é muito menor. Ele controla a integridade dos dados em ambientes multiacesso. Para um sistema OLTP, o número de transações por segundo mede a eficácia. Um OLTP Data Warehouse System contém dados atuais e detalhados e é mantido nos esquemas no modelo de entidade (3NF).

For Example -

Um sistema de transações do dia a dia em uma loja de varejo, onde os registros do cliente são inseridos, atualizados e excluídos diariamente. Ele fornece processamento de consulta mais rápido. Os bancos de dados OLTP contêm dados detalhados e atuais. O esquema usado para armazenar o banco de dados OLTP é o modelo Entity.

Em um sistema OLAP, há menor número de transações em comparação com um sistema transacional. As consultas executadas são de natureza complexa e envolvem agregações de dados.

O que é uma agregação?

Salvamos tabelas com dados agregados como anual (1 linha), trimestral (4 linhas), mensal (12 linhas) ou então, se alguém tiver que fazer uma comparação ano a ano, apenas uma linha será processada. No entanto, em uma tabela não agregada, ele comparará todas as linhas. Isso é chamado de agregação.

Existem várias funções de agregação que podem ser usadas em um sistema OLAP, como Sum, Avg, Max, Min, etc.

For Example -

SELECT Avg(salary)
FROM employee
WHERE title = 'Programmer';

Principais diferenças

Estas são as principais diferenças entre um sistema OLAP e um sistema OLTP.

  • Indexes - Um sistema OLTP tem apenas alguns índices, enquanto em um sistema OLAP existem muitos índices para otimização de desempenho.

  • Joins- Em um sistema OLTP, um grande número de junções e dados são normalizados. No entanto, em um sistema OLAP, há menos junções e são desnormalizados.

  • Aggregation - Em um sistema OLTP, os dados não são agregados, enquanto em um banco de dados OLAP mais agregações são usadas.

  • Normalization - Um sistema OLTP contém dados normalizados, porém os dados não são normalizados em um sistema OLAP.

Data Mart Vs Data Warehouse

Data mart se concentra em uma única área funcional e representa a forma mais simples de um Data Warehouse. Considere um data warehouse que contém dados de vendas, marketing, RH e finanças. Um Data Mart concentra-se em uma única área funcional, como Vendas ou Marketing.

Na imagem acima, você pode ver a diferença entre um Data Warehouse e um data mart.

Tabela Fato vs Dimensão

Uma tabela de fatos representa as medidas nas quais a análise é executada. Ele também contém chaves estrangeiras para as chaves de dimensão.

For example - Cada venda é um fato.

ID do cliente Id do produto Id de tempo Qtd vendida
1110 25 2 125
1210 28 4 252

A tabela Dimensão representa as características de uma dimensão. Uma dimensão do cliente pode ter Customer_Name, Phone_No, Sex, etc.

ID do cliente Cust_Name telefone Sexo
1110 Sally 1113334444 F
1210 Adão 2225556666 M