•20:00-21:30•online

Book Club DDIA: Capítulo 7. Sharding - Parte 1

Online via Zoom
book-clubddia
Banner para Book Club DDIA: Capítulo 7. Sharding - Parte 1

Vamos abrir o Capítulo 7, "Sharding", vendo como dividir os dados entre vários nós e como espalhar a carga de forma uniforme.

O que vamos discutir

  • Sharding vs. replicação: replicação copia os mesmos dados em vários nós; sharding divide os dados em pedaços. Na prática os dois andam juntos, e cada sistema dá um nome diferente ao shard (partition, range, region, vnode, tablet).
  • Prós e contras: o motivo principal é escalar volume de dados e throughput de escrita. O custo é alto: escolher a chave de partição, consultas que precisam ir a todos os shards, joins, índices secundários e transações entre shards.
  • Sharding para multitenancy: um shard por tenant traz isolamento de recursos, permissões e falhas, backup por cliente e residência de dados, mas também desafios com tenants grandes demais ou pequenos demais.
  • Sharding de dados chave-valor:
    • Key range sharding: range scans eficientes, mas risco de hot spots em chaves próximas (como timestamps); split e merge de shards.
    • Hash sharding: por que hash mod N é ruim, número fixo de shards, hash range sharding e a variante do Cassandra/ScyllaDB.
    • Consistent hashing: mover o mínimo de chaves quando o número de shards muda.

Na segunda parte, seguimos com hot spots, rebalanceamento, roteamento de requisições e índices secundários.

Próximos Eventos

•20:00-21:30•online
distributed-systems

Deep Dive - Relógios Lógicos: de Lamport a Bloom Clocks

Em sistemas distribuídos não existe um relógio global confiável. Neste deep dive, o Edward Ribeiro vai de Lamport Clocks a Bloom Clocks, passando por Vector Clocks, Hybrid Logical Clocks, Version Vectors, Dotted Version Vectors e Matrix Clocks, com exemplos do mundo real e os trade-offs de cada abordagem. É o primeiro de dois encontros. O segundo será sobre CRDTs e Operational Transformation.

Online via Zoom

Palestrantes:

  • Edward Ribeiro
•20:00-21:30•online
book-clubddia

Book Club DDIA: Capítulo 7. Sharding - Parte 2

Segundo encontro sobre o Capítulo 7, 'Sharding'. Vamos fechar o capítulo com workloads com skew e hot spots, rebalanceamento automático vs. manual, roteamento de requisições (ZooKeeper, etcd, Raft e gossip) e índices secundários locais vs. globais, terminando com os principais trade-offs do capítulo e o problema das escritas entre shards.

Online via Zoom