Skip to content

Nesse projeto iremos simular uma rede de postos de combustíveis movida a dados, essa rede possui milhares de filiais espalhadas pelo Brasil, para suportar essa operação robusta utilizará uma arquitetura de dados moderna e escalável com a Cloud da Microsoft, vamos extrair o potencial dos dados e gerar visualizações e insights para esse negócio.

Notifications You must be signed in to change notification settings

reginaldosilva27/Gas-Station-Case

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

>>This Project is stopped for while<<

Case - Datainaction Gas Station

Nesse projeto iremos simular uma rede de postos de combustíveis movida a dados, essa rede possui milhares de filiais espalhadas pelo Brasil, para suportar essa operação robusta utilizará uma arquitetura de dados moderna e escalável com a Cloud da Microsoft, vamos extrair o potencial dos dados e gerar visualizações e insights para esse negócio.

O objetivo desse projeto é manter uma geração de dados continua, sem intervenção humana, dados que possam ser futuramente explorados para gerar novos insights.

Anomalias irão ocorrer e vamos aplicar AI para identifica-las e corrigi-las automaticamente, como ajustes em tabelas de preço para aumentar o lucro ou evitar golpes.

O que veremos nesse projeto:

  • Como gerar dados FAKE com Python
    • Os dados serão customizados para espelhar o mais próximo da realidade
  • Ingestão dos dados gerados por cada filial com o Event Hubs
  • Processar e extrair os dados streaming com o Azure Stream Analytics
  • Armazenar os dados processados no Azure Cosmos DB para consumo das APIS
  • Armazenar os dados processados no Azure SQL Database para consumo do ERP centralizado
  • Armazenar os dados no Data lake, armazenar em uma camada TRANSIENT ZONE com o formato original do dado
  • Processar os dados com o Databricks, transformar os dados no formato PARQUET e copia-los para a camada RAW ZONE
  • Processar os dados com o Databricks, extrair dados da camada RAW ZONE, aplicar limpeza dos dados e armazenar na camada TRUSTED ZONE no formato DELTA
  • Processar dados da camada TRUSTED ZONE para a camada REFINED ZONE com as visões de negócio para consumo dos usuários finais
  • Criar integração com Github
  • Automatizar deploy com git actions
  • Automatizar deploy dos recursos com TERRAFORM

image Referencia: https://www.datainaction.dev/

Descrição do Case

A rede de postos de combustível chamada "Datainaction Gas Station", possui mais de 1000 filiais espalhadas pelo Brasil, as filiais operam com um sistema local, enviando dados via streaming para a sede. A sede recebe os dados e armazena em seus repositórios centralizados na Cloud.

Em média são gerados 1000 eventos por minuto, porém, em casos de promoções a nível nacional, o fluxo de envio de dados poderá chegar a mais de 10 mil eventos por minuto.

A sede precisa estar preparada para receber esses eventos e tomar decisões em tempo real sobre os dados gerados nas filiais.

A Datainaction Gas Station opera sobre o conceito Data Driven, onde, todas as decisões são tomadas com bases nos dados, promoções para usuários específicos, promoções por região, promoções baseadas em alterações climáticas ou por influência do dólar e alterações de preços acontecem automaticamente sem intervenção humana.

Teremos 5 produtos principais:

  • Gasolina
  • Etanol
  • Diesel
  • Gás Natural
  • Óleo Lubrificante

Cada posto terá 8 bombas ao total, com sensores para identificar a entrada e saída dos carros e o tempo do atendimento.

Os cadastros de clientes, produtos e fornecedores serão globais e únicos.

Arquitetura

O objetivo do desenho acima é prover uma solução escalável para os momentos de pico, como promoções de combustível, possibilitar a geração de insights sobre dados semi-estruturados e estruturados em larga escala, cruzar dados externos de APIs e detectar anomalias em tempo real.

Essa arquitetura está focada em receber os dados 100% como streaming de eventos (Arquitetura Kappa proposta por Jay Kreps) centralizando a lógica de processamento em um único ponto.

image

Referencia: https://docs.microsoft.com/pt-br/azure/architecture/data-guide/big-data/

Também utilizaremos os conceitos da arquitetura Data Lakehouse, tirando proveito dos recursos e features disponibilizadas pela Databricks com o novo formato e engine de processamento Delta. image Referencia: https://databricks.com/blog/2020/01/30/what-is-a-data-lakehouse.html

Dados gerados:

  • Dados de sensores a cada minuto
    • Entrada e saída de novos veículos
    • Sensores de bombas
    • Sensores de temperatura e fumaça
  • Dados dos pedidos de compra a cada minuto (Saída do estoque)
  • Dados de recarga dos produtos a cada minuto (Entrada no estoque)
  • Dados dos funcionários 1 vez ao dia (Excel)
  • +2 novas filiais serão abertas todos os dias
  • +1000 novos clientes por dia

Após os dados serem recebidos pela camada de ingestão, são processados de 3 formas diferentes:

  • Enviados a uma camada RAW do Data Lake, sem nenhuma modificação.
  • Tratados e enviados ao banco de dados Cosmos DB para consumo das APIs
  • Tratados e enviados ao SQL Server (PaaS) para consumo do ERP

Os dados serão processados com Databricks e disponibilizado no modelo de fatos e dimensões para visualização no Power BI e também devolvido métricas ao Cosmos DB para consumo das APIs.

Iremos consumir 3 APIs para cruzamento de dados:

  • Dados de clima
  • Dados sobre dólar
  • Dados sobre #datainaction no Twiter
    • Aplicar análise de sentimento sobre as redes sociais

Tecnologias e linguagens utilizadas

  • Azure Funcion
  • Azure Event Hubs
  • Azure Data Factory
  • Azure Stream Analytics Jobs
  • Azure Cosmos DB
  • Azure SQL Database
  • Azure Storage Account ADSL Gen2
  • Azure Databricks
  • Azure Synapse Serverless
  • Azure Purview
  • Power BI
  • Excel
  • APIs
  • Python
  • SQL

About

Nesse projeto iremos simular uma rede de postos de combustíveis movida a dados, essa rede possui milhares de filiais espalhadas pelo Brasil, para suportar essa operação robusta utilizará uma arquitetura de dados moderna e escalável com a Cloud da Microsoft, vamos extrair o potencial dos dados e gerar visualizações e insights para esse negócio.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages