2. 1. Olá, muito prazer!
2. O cenário de BI da Mundi no início de 2017
3. A necesidade
4. A abordagem adotada
5. A solução implementada
6. Como funcionam
7. Prós e Contras
Agenda
4. Natural de Fortaleza, Ceará
Engenheiro Mecânico-Aeronáutico formado pelo ITA
2 anos e meio no mercado de pagamentos na MundiPagg
Ricardo Duarte Lima
6. Aplicações ETL dispersas populando índices de Elastic Search
O que tínhamos
Klipfolio como ferramenta de visualização
Dezenas de data sources
7. Modelo de dados embutido no ETL
Por que não era tão
bom?
Um novo serviço de ETL para cada novo caso de uso
Visualizações com complexidade de construção acima do desejado
Serviços de ETL conectados diretamente nos bancos de produção
9. Ser capaz de reportar as principais métricas operacionais do negócio com baixa latência
O que gostaríamos
de ter
Ter liberdade e agilidade de conduzir estudos exploratórios mais complexos
Poder expandir o modelo de dados facilmente
Ser capaz de gerar relatórios complexos com baixo tempo de consulta/computação
18. Abrindo os capôs
Entender a fundo como cada uma das ferramentas adotadas
funciona é essencial para o futuro.
Como substituir algo que não temos conhecimento sobre o
funcionamento?
19. Replicação incremental ou total de diversos bancos de dados
ETL - Alooma
Recebimento de webhooks genéricos
Integração nativa com APIs de diversos SaaS populares
20. Serviço que possui as consultas mapeadas para cada data source e executa-as periodicamente utilizando
um parâmetro de replicação incremental
Debaixo do capô
Resultados das consultas ou eventos recebidos são modelados e inseridos no Kafka
Um serviço consome os eventos do Kafka e passa por um componente de transformação
customizado escrito em Python, pelo mapper definido e empacotado num arquivo csv que
sofre um upload para um bucket S3
Um outro componente faz a inserção dos dados no Snowflake e em caso de falha, coloca o
evento em uma restream queue
Um task scheduler executa as queries de consolidação no Snowflake quando necessário
21. Data warehouse na nuvem como serviço
Data warehouse -
Snowflake
Storage separado de compute – inclusive no preço
Consultas SQL
22. Persistência de dados em buckets S3
Debaixo do capô
Nós de compute separados – virtual warehouses
Dados repousam em micropartições com estatísticas sobre os dados inclusos
Engine própria de queries que interpreta o SQL e monta o plano de execução baseado nas
estatísticas das micropartições dos buckets
23. Na nuvem ou on premise
Modelagem, exploração e
visualização - Looker
Linguagem própria para definição dos modelos de dados
Engine própria de construção de consultas SQL
25. Muito rápido de implementar
Prós
Poucas pessoas necessárias para manter
Custo dos serviços superior à utilização de
softwares próprios rodando na AWS
Menor flexibilidade
Contras