Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Abraçando a Anarquia: Design Patterns de Apache Kafka em Arquiteturas de Dados Modernas

Abraçando a Anarquia: Design Patterns de Apache Kafka em Arquiteturas de Dados Modernas

Ricardo Ferreira

May 06, 2019
Tweet

More Decks by Ricardo Ferreira

Other Decks in Programming

Transcript

  1. 2 Sobre Mim: • Ricardo Ferreira ◦ Developer Advocate na

    Confluent ◦ Ex-Oracle, Red Hat, IONA Tech ◦ https://riferrei.net • Curiosidades: ◦ Assisti “Avengers Endgame” em Ucraniano e entendi ~15% do filme @riferrei
  2. 3

  3. OLTP / OLAP à 20 Anos… OLTP / OLAP Hoje…

    Cara, cê está me envergonhando na frente dos magos…
  4. Processamento de Dados usando OLTP e OLAP Não é Mais

    a Famosa Bala de Prata! @riferrei @qconsp
  5. 20 O que a Comunidade está Construindo Assistentes para Bancos

    Digitais Pipelines de Publicação Aplicativos de Driver Matching Jogos 100% Dirigidos a Dados Aplicativos de Paquera Online
  6. 21 ETL / Integração de Dados Mensageria Batch Caro de

    Manter Lento (Muita Latência) Dificil de Escalar Sem Persistência após Consumo Sem Replay Escalável Durável Persistente Mantêm Ordem Rápido (Baixa Latência)
  7. 22 ETL / Integração de Dados Mensageria Batch Caro de

    Manter Lento (Muita Latência) Dificil de Escalar Sem Persistência após Consumo Sem Replay Escalável Durável Persistente Mantêm Ordem Rápido (Baixa Latência) O que está Acontecendo? (Presente) O que Aconteceu? (Passado) Plataforma de Streaming Escalável Durável Persistente Mantêm Orderm Rápido (Baixa Latência) Possui Replay Built-in
  8. 29 Real-Time Inventory Real-Time Fraud Detection Real-Time Customer 360 Machine

    Learning Models Real-Time Data Transformatio n ... Aplicações Dirigidas a Eventos e Contexto Universal Event Pipeline Bases de Dados Logs Aplicativos APIs / Microservices STREAMS CONNECT CLIENTS
  9. 30 Advinhe qual é a Música 1. Escaneie o código

    de barras 2. Digite o seu palpite de música 3. Digite seu nome e clique “Enviar” @riferrei @qconsp
  10. 31

  11. 39 “The truth is the log. The database is a

    cache of a subset of the log.” —Pat Helland Immutability Changes Everything http://cidrdb.org/cidr2015/Papers/CIDR15_Paper16.pdf
  12. Dualidade entre Streams e Tabelas alice 1 alice 1 pedro

    1 alice 2 pedro 1 alice 2 pedro 1 carlos 1 Tabela Stream Tabela (“alice”, 1) (“pedro”, 1) (“alice”, 2) (“carlos”, 1) alice 1 alice 1 pedro 1 alice 2 pedro 1 alice 2 pedro 1 carlos 1
  13. 43 Producer Consumer A 24hr batch extract Near Realtime Consumer

    B Requisitos de Latência Distintos: Batch vs Stream
  14. 47 HDFS / S3 / BigQuery etc RDBMS CDC Offload

    de Bases de Dados usando CDC
  15. 48 Stream Processing usando KSQL: Field Joins order events customer

    customer orders Stream Processing RDBMS CDC
  16. 50 order events customer Stream Processing customer orders RDBMS <y>

    New App <x> Escreva uma Vez, Reutilize Várias Vezes
  17. 51 order events customer Stream Processing customer orders RDBMS <y>

    HDFS / S3 / etc New App <x> Escreva uma Vez, Reutilize Várias Vezes
  18. 54 Stream Processing RDBMS Existing App New App <x> New

    App <y> Migração de Dados entre o Antigo e o Novo
  19. 55 M L App <y> NoSQL Search Graph Stream Processing

    "One version of the truth" Única Fonte de Dados entre Sistemas Críticos
  20. 58