Sharding (Hashed vs Range)
MongoDB 🔴 SeniorDefinition
Hashed sharding distribue les documents uniformement via un hash de la shard key (bon pour l'ecriture). Range sharding les repartit par plages de valeurs (bon pour les requetes par intervalle).
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 ecritures haute frequence. Range pour les requetes temporelles ou par intervalles.