Database Sharding ! Designing Data-Intensive Applications Chapitre 6

Tony Duong

Tony Duong

mars 19, 2026 · 2 min

Aussi disponible en:🇬🇧🇯🇵
#ddia#databases#partitioning#sharding#distributed-systems#video
Database Sharding ! Designing Data-Intensive Applications Chapitre 6

Aperçu

Une vidéo sur le chapitre 6 (Partitionnement) de Designing Data-Intensive Applications. L'auteur utilise des schémas pour expliquer le partitionnement (souvent appelé sharding) : répartir les données sur plusieurs machines. Le livre parle de « partitioning » pour la distribution ; en pratique on parle souvent de « sharding ».

Sujets abordés

  • Partitionnement vs sharding : Même concept — le partitionnement peut signifier diviser des tables sur un disque ou distribuer les données ; ici c'est la distribution.
  • Stratégies de partitionnement : Key-range (ex. A–M, N–Z) vs hash ; compromis entre requêtes par plage et charge équilibrée.
  • Index secondaires : Index locaux (scatter-gather) vs globaux avec données partitionnées.
  • Rebalancing : Déplacer les partitions lors de l'ajout/suppression de nœuds ; partitions fixes, partitionnement dynamique, proportionnel.
  • Routage des requêtes : Comment les clients trouvent le bon nœud pour une clé (tier de routage, gossip, ou métadonnées côté client).

Points clés

  • Le partitionnement (sharding) fait monter le débit d'écriture et le stockage au-delà d'une machine ; il est utilisé avec la réplication.
  • Le partitionnement par hash évite les hot spots mais perd les scans par plage efficaces ; le key-range fait l'inverse.
  • Les index secondaires avec partitionnement nécessitent soit scatter-gather (index local) soit des écritures plus complexes (index global).
  • Le rebalancing doit limiter le déplacement de données et éviter les points de défaillance uniques.

Traduit par Claude

Tony Duong

Par Tony Duong

Un journal intime numérique. Pensées, expériences et réflexions.