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
Opa. Tô dentro
Opaa Show de bola Paulo. Essa semana já sai o segundo artigo nesse missão.
Grande abraço