#01 – [Projeto Data Pipeline] – Arquitetura

Faaaaalla Turma,

Esse post é o primeiro de uma série que vamos aprender e construir juntos ao longo dos próximos meses.

O Projeto

A empresa fictícia GAR Motors precisa criar uma estrutura para analisar seus dados, proporcionando ao time de vendas alguns insights sobre os potenciais clientes.

A ideia central é construir um pipeline de dados (end-to-end), passando por Sources, Aquisição, Armazenamento, Processamento, Análise e Consumo dos dados.

No final do projeto, vamos ter tocado em diversas tecnologias e conceitos de engenharia de dados, proporcionando um conhecimento bem bacana para nós.

Todos os códigos serão disponibilizados no github.

Arquitetura Proposta

Tecnologias

  • Azure SQL Database – link
  • MongoDB (CosmosDB) – link
  • SQL Server 2019 (Big Data Clusters) – link
  • Azure Storage Account
  • Azure Databricks | Delta Lake
  • Azure Event Hub
  • Azure Function – link
  • CDC Debezium
  • Apache Kafka – link
  • Apache Nifi – link
  • Power BI
  • API Twitter for Developed – blog post
  • Debezium – link

Fase de implementação

Fase 01 – Geração dos dados

Na primeira fase do projeto, vamos criar as nossas fontes geradoras de dados, simulando um mundo real onde a empresa GAR Motors tem diversos sistemas (ERPs, CRM, etc) gerando dados a todo momento, alguns em ambientes transacionais e outros não.

A ideia é criar essa camada já pensando em modelagem de dados, para que lá na frente o nosso Big Data funcione bonitinho (analytics by design). Então além de programar, vamos pensar também em data types, modelo de relacionamento entre tabelas e tipos de arquivos (parquet, avro, json, etc), para cada uma dessas fontes. Simulando realmente os sistemas da GAR Motors gerando dados no dia a dia.

Fase 02 – Data Lake

Após a criação das nossas fontes de dados, vamos pensar na estrutura do nosso Data Lake, pensando nas camadas, ELTs, estruturas de particionamento entre outras coisas.

Fase 03 – Ingestão de Dados

Com o Data Lake criado, agora precisamos começar a alimenta-lo de dados (haha). Para isso, nessa fase vamos começar a construir nossa camada de ingestão de dados. A ingestão de dados tem a responsabilidade de capturar os dados nas origens, seja batch ou NRT (near-real-time) e armazenar no Data Lake.

Fase 04 – Consumo dos dados

Após os dados começarem a fluir pelo nosso Data Lake é hora de começar a visualizar, para isso vamos criar alguns Dashboards no PowerBI e também “tentar” criar alguns modelos de Machine Learning de análise preditiva com o Azure ML. E depois, consumir essa informação simulando um case onde a área de vendas analisa consumidores em potencial e leads para venda dos nosso veículos da GAR Motors.


É isso galera, vamos começar essa missão juntos. Boa parte da arquitetura eu não faço ideia de como resolver (hahah) por isso será um aprendizado em conjunto. A cada fase, vou estudar, aprender e compartilhar com vocês.

Fiquem a vontade para sugerir alterações na arquitetura e incluir novas peças. Esse é um projeto nosso e estou muito feliz e ansioso para começa-lo.

Haaaá, toda fase, além do post vou publicar um vídeo no canal do youtube falando com mais detalhes e mostrando “ao vivo” o funcionamento de cada peça ;)… possivelmente teremos convidados também, principalmente especialistas em algumas tecnologias que pretendemos utilizar em nossa arquitetura.

TMJ e grande abraço

Garetti []s

3 thoughts on “#01 – [Projeto Data Pipeline] – Arquitetura

Comente sobre isso: