O que são Data Warehouses e o sistema OLAP
Data Warehouse (DW / ~Armazém de dados) é um sistema de armazenamento de dados projetado para suportar a análise de grande quantidades de dados. Ele funciona em conjunto a um sistema OLAP (Processamento Analítico Online), que é uma tecnologia usada para organizar grandes bancos de dados e analisá-los sob múltiplas perspectivas. Nele podemos centralizar dados de diversas fontes em um só repositório, sejam dados provenientes de uma planilha excel, um PDF, uma API Rest, um JSON, um banco de dados, basicamente do tipo de fonte que você quiser. Ele processa essas informações usando várias ferramentas para que os dados estejam prontos para finalidades analíticas.
A ideia de um DW é poder integrar dados que, inicialmente, estão distribuídos em sistemas isolados e centralizar essas informações para que se tenha uma visão unificada e consistente desses dados, facilitando a análise e geração de relatórios detalhados. É muito utilizado por empresas que buscam alavancar vendas de produtos, descobrir concorrências/tendências de mercado, identificar pontos de melhoria dentro do próprio negócio e por aí vai.
E como funciona um OLAP?
Basicamente, podemos dividir em uma arquitetura com 3 camadas: 1. coleta dos dados; 2. extração, transformação e carregamentos dos dados; 3. Apresentação dos dados. Ou seja, primeiro os dados são coletados de diversas fontes, depois passam pelo processo ETL (Extraction, Transforming & Loading), onde esses dados são calculados, tratados e armazenados em um "cubo OLAP", por fim estes dados são disponibilizados para serem feitas consultas e geração de gráficos, relatórios e o que mais for necessário para facilitar sua análise.
O que seria esse "cubo OLAP"?
Digamos que eu quero analisar as vendas de um produto em determinadas regiões do Brasil e em um determinado período (exemplo: durante cada quadrimestre). Logo, teremos uma análise em múltiplas dimensões: produto, local e tempo, podendo executar queries por essas dimensões para encontrar e filtrar dados.
Em teoria, um cubo OLAP pode conter um número infinito de camadas, e cubos menores podem existir dentro dessas camadas — por exemplo, cada camada de loja pode conter cubos organizando vendas por vendedor ou produto.
Operações OLAP
A partir do cubo OLAP, podemos realizar operações para analisar os dados:
Sumarização: resume os dados para atributos específicos. Por exemplo, em uma visualização de vendas de produtos de acordo com sua localização — Nova York, Califórnia, Londres e Tóquio — pode ser resumida para uma exibição dos dados de vendas com base nos países EUA, Reino Unido e Japão.
Detalhamento: é o oposto da operação de sumarização. Por exemplo, passar da visualização de dados de vendas por ano para uma visualização de vendas por mês.
Decomposição: cria uma exibição bidimensional do cubo OLAP. Ao decompor o cubo, podemos criar uma tabela que contém as vendas de produtos em determinadas cidades num mês específico.
Fragmentação: cria um "subcubo" menor a partir de um cubo OLAP.
Pivotagem: envolve a rotação do cubo OLAP ao longo de uma de suas dimensões para obter uma perspectiva diferente sobre o modelo de dados multidimensional. Por exemplo, um cubo OLAP tridimensional tem as seguintes dimensões nos respectivos eixos:
- Eixo X: produto
- Eixo Y: localização
- Eixo Z: tempo
Com a pivotagem, o cubo OLAP pode ter a seguinte configuração:
- Eixo X: localização
- Eixo Y: tempo
- Eixo Z: produto
Também publiquei este mesmo artigo no dev.to
Fontes
https://aws.amazon.com/pt/what-is/olap/
https://www.ibm.com/br-pt/topics/olap
https://www.sprinkledata.com/blogs/olap
https://computerisation.co.uk/blog/what-is-a-data-warehouse