Sharding (Hashed vs Range)

MongoDB 🔴 Senior

Definition

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.

Termes lies

#sgbd#interview#database#mongodb