Sharding (Hashed vs Range)
MongoDB 🔴 SeniorDéfinition
Hashed sharding distribue les documents uniformément via un hash de la shard key (bon pour l'écriture). Range sharding les repartit par plages de valeurs (bon pour les requêtes par intervalle). Depuis MongoDB 8.3 (4 mai 2026), le retrait d'un shard ne passe plus par removeShard (dépréciée) mais par les commandes dédiées startShardDraining / shardDrainingStatus / commitShardRemoval.
Analogie
Hashed = distribuer les cartes au hasard entre les joueurs. Range = donner les cartes 1-10 au joueur 1, 11-20 au joueur 2.
Exemple de code
// Hashed
sh.shardCollection('db.users', { _id: 'hashed' });
// Range
sh.shardCollection('db.logs', { timestamp: 1 });
Cas d'usage
Hashed pour les écritures haute fréquence. Range pour les requêtes temporelles ou par intervalles.
Termes liés
Fiche mise à jour le 2026-09-27