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 |