Slide 1

Slide 1 text

Como arquiteturas de dados quebram Data Engineering 101 Gleicon Moraes

Slide 2

Slide 2 text

Data Engineering life ● Descobrir legados ● Administrar storage, message queue, scheduling ● Refatorar comunicação via DB para APIs ● Treinar e manter modelos ● Backfill, backfills everywhere ● Capacity planning ● Latencia

Slide 3

Slide 3 text

Como arquiteturas quebram ● Por design ● Por capacidade ● Por falta de dono ● Por escolha de tecnologia

Slide 4

Slide 4 text

Analytics architecture

Slide 5

Slide 5 text

Lambda architecture

Slide 6

Slide 6 text

Data gravity "As Data accumulates (builds mass), there is a greater likelihood that additional Services and Applications will be attracted to this data. (...) Data, if large enough, can be virtually impossible to move." Dave McCrory * *https://blog.mccrory.me/2010/12/07/data-gravity-in-the-clouds/

Slide 7

Slide 7 text

Data gravity

Slide 8

Slide 8 text

Data gravity

Slide 9

Slide 9 text

Data gravity

Slide 10

Slide 10 text

Data gravity

Slide 11

Slide 11 text

Data gravity

Slide 12

Slide 12 text

No content

Slide 13

Slide 13 text

O caso do cluster sem cabeça ● ScyllaDB 0.0x ● Cluster 6 nodes Multi-AZ ● 1.5 TB Raid/Node ● 3 Seeds nodes ● 4 Keyspaces ● 65% ocupado ● 35 - 50k writes/sec, picos de 150k writes/sec

Slide 14

Slide 14 text

O caso do cluster sem cabeça

Slide 15

Slide 15 text

O caso do cluster sem cabeça

Slide 16

Slide 16 text

O caso do cluster sem cabeça

Slide 17

Slide 17 text

O caso do cluster sem cabeça

Slide 18

Slide 18 text

O caso do cluster sem cabeça ● 16h de manutenção (nodetool cleanup usava todos cores) ● Um cluster de Cassandra para cada keyspace ● 3 meses de migração ● De 6 para 63 nodes ● Crescimento de 7x do volume de dados. ● Take out 1: Não se empolgar com bancos de dados imaturos ● Take out 2: Não concentrar todas aplicações no mesmo data store ● Take out 3: Melhor escalar horizontalmente do que verticalmente

Slide 19

Slide 19 text

Analytics ● Analytics pipeline ● Relatórios sobre longos períodos de tempo ● Volume de dados cresceu 7x em 10 meses ● Bases de dados compartilhadas ● Meio baseado em eventos, meio baseado em ETLs

Slide 20

Slide 20 text

Analytics Batch Processing

Slide 21

Slide 21 text

Analytics Batch Processing

Slide 22

Slide 22 text

Analytics Online Processing

Slide 23

Slide 23 text

Analytics ● Sair de ETLs para streams de dados ● Não compartilhar data storages ● Não se comunicar por data storages ● Sair de consumidores baseados em Spark ● Pré calcular relatórios

Slide 24

Slide 24 text

Obrigado ! ● github.com/gleicon ● medium.com/@gleicon ● twitter.com/gleicon ● [email protected]