Organização dos dados analíticos

Card com fundo claro e barra roxa no topo. Texto central diz “Organização dos dados analíticos” em fonte pixelada roxa e preta. No canto inferior direito aparece o logotipo circular da Cumbuca Dev em tons de roxo e lilás.

|

3–4 minutos

Os dados podem ser tratados de duas formas, como transacionais ou como analíticos. Estas visões distintas fazem com que estes precisem ser duplicados. Isto é, dados transacionais e dados analíticos precisam ser fisicamente distintos, isso porque eles precisam ser tratados de formas diferentes e, muitas vezes, incompatíveis. Algumas diferenças entre dados analíticos e dados transacionais:

Tabela comparativa com duas colunas intituladas “Dados Transacionais” e “Dados Analíticos”.
Na coluna de dados transacionais, o texto explica que esses dados possuem vida útil efêmera, são consumidos imediatamente após serem gerados e raramente acessados depois. Também indica que são acessados individualmente ou em pequenos grupos e consumidos por aplicações ou microsserviços.

Na coluna de dados analíticos, o texto informa que não há necessidade imediata de consumo, mas que esses dados são acessados constantemente. Também indica que são acessados em massa e consumidos por processos analíticos, como dashboards, relatórios e ferramentas de business intelligence.

A última regra está em destaque porque é a única realmente absoluta, todas as outras possuem exceções, mas são usadas para definir o comportamento mais comum para os dados. Por exemplo, os dados que descrevem um produto em um e-commerce são acessados constantemente, mas ainda seguem as duas outras regras. Feita esta distinção, hoje falaremos um pouco sobre algumas arquiteturas utilizadas para organizar os dados analíticos.

Começando pela arquitetura mais tradicional, o Data Warehouse consiste em uma instância do banco de dados dedicada ao BI e a outros processos analíticos. Nele é feita uma remodelagem dos dados buscando otimizar a performance para a execução de processos analíticos. É comum que os dados de diferentes bancos de dados sejam consolidados nesta instância do Data Warehouse, não sendo necessário onerar os bancos de dados de produção (transacionais) quando forem executados os processos analíticos.

Diagrama de arquitetura de dados mostrando várias fontes de dados à esquerda, como CRM, Billing, ERP, arquivos planos e outras fontes. Essas fontes enviam dados para um processo identificado como ETL (extração, transformação e carga). O ETL processa e integra os dados antes de enviá-los para um Data Warehouse central. À direita, o Data Warehouse é utilizado para diferentes tipos de análise, incluindo relatórios (reporting), analytics e data mining. O diagrama representa um fluxo tradicional de dados para análise empresarial.

Com o crescimento do volume de dados e a diversificação das estruturas de dados utilizadas surgiu o Data Lake. Eu gosto de pensar no Data Lake como sendo o ambiente Hadoop em si (nunca conheci algum que não fosse). Ele consiste em um file server onde os dados são depositados e processados por um sistema de big data (Hadoop, Spark ou alguma aplicação derivada). Este sistema também é capaz de extrair dados de outros bancos de dados, realizando a junção de dados estruturados, semi-estruturados e não-estruturados. Como um bom dinossauro da área de dados eu já tive a oportunidade de trabalhar em um data lake e sei bem como é fácil ele se tornar um data swamp (pântano de dados).

Diagrama que mostra diferentes tipos de dados sendo enviados para um Data Lake. À esquerda aparecem três categorias: dados estruturados (como SQL e planilhas), dados semi-estruturados (como XML, JSON, CSV e HTML) e dados não estruturados (como PDFs, imagens, vídeos e arquivos de texto). Setas conectam essas fontes a um grande ícone de banco de dados dentro de uma nuvem identificado como “Data Lake”, indicando que o data lake armazena múltiplos tipos de dados em um único repositório.

Surgindo para tentar resolver o problema da governança dos dados no data lake, o data lakehouse é uma arquitetura que combina a flexibilidade do data lake com a governança do data warehouse. Criado e popularizado pela Databricks, o data lakehouse utiliza as delta tables para fazer a estruturação dos dados enquanto a aplicação fornece ferramentas que permitem o fácil acesso e governança dos dados. Também é comum que o data lakehouse possua uma arquitetura medalhão, que é uma forma de organizar o processo de transformação dos dados.

Diagrama de arquitetura de dados chamado “Lakehouse”. Na camada superior aparecem ferramentas como Mosaic AI, Databricks SQL, Lakeflow e AI/BI. No centro está o componente “Unity Catalog”, responsável por catalogação e governança de dados. Abaixo aparecem formatos de armazenamento como Delta Lake, Iceberg e Parquet. Na base do diagrama há uma camada de governança chamada “Data and AI Governance”, que inclui gestão unificada de dados e IA, segurança de dados e padrões de qualidade.

Com a demanda de dados entregues com uma velocidade cada vez maior, alguns processos analíticos estão ganhando características mais próximas dos dados transacionais, por isso a arquitetura Shift Left vem ganhando força nas empresas. Esta arquitetura consiste na mudança de alguns processos analíticos para que sejam feitos com os “dados vivos”. Isso significa que alguns dados de streaming podem sofrer transformações em tempo real e serem entregues ainda no pipeline do processo de streaming. As tecnologias mais utilizadas para realizar este tipo de processo são o Apache Kafka para a execução do pipeline em streaming e o Apache Flink para a realização de transformação dos dados em tempo real.

Diagrama que representa um fluxo moderno de dados. À esquerda estão bancos de dados operacionais como fontes de dados. No centro aparecem etapas de processamento, streaming e governança que formam “produtos de dados universais”. Os dados passam por processos de limpeza até se tornarem “business-ready”, armazenados em um data warehouse ou data lake. À direita os dados são utilizados para aplicações como machine learning, inteligência artificial, relatórios e dashboards. O diagrama também menciona integração com bancos de dados e sistemas como MongoDB, MySQL, PostgreSQL e aplicações SaaS.

Existe também o conceito de data warehouse plus onde se realiza todo o processo de um data warehouse, porém utilizando tecnologias que misturam processamentos NoSQL (como bancos de dados colunares) com uma camada SQL para realizar as consultas. Esta é a estrutura mais comum hoje nas startups, porém é comum ver profissionais chamando-as de data lakes. Isto acontece porque os nomes destas arquiteturas são comumente utilizados de maneira freestyle e é comum ver profissionais da área misturando os conceitos. Por isso, espero que este artigo tenha te ajudado a entender a diferença entre cada arquitetura. Esse conhecimento é uma benção e uma maldição ao mesmo tempo, porque agora você sentirá uma dor física toda ver que alguém chamar um banco Postgres de data lake.


Deixe um comentário

Assinar

Digite seu e-mail abaixo e fique por dentro das nossas novidades e atualizações!