Dans le cadre de la mise à l'échelle de MongoDB :
-
réplication crée des copies supplémentaires des données et permet le basculement automatique vers un autre nœud. La réplication peut aider à la mise à l'échelle horizontale des lectures si vous êtes d'accord pour lire des données qui ne sont potentiellement pas les plus récentes.
-
partage permet une mise à l'échelle horizontale des écritures de données en partitionnant les données sur plusieurs serveurs à l'aide d'une clé de partition . Il est important de choisir une bonne clé de partage. Par exemple, un mauvais choix de clé de partition peut entraîner l'écriture de « points chauds » de données sur une seule partition.
Un environnement partitionné ajoute plus de complexité car MongoDB doit maintenant gérer la distribution des données et des requêtes entre les partitions ; des processus de configuration et de routage supplémentaires sont ajoutés pour gérer ces aspects.
La réplication et le partitionnement sont généralement combinés pour créer un cluster partitionné où chaque fragment est pris en charge par un jeu de répliques.
Du point de vue de l'application cliente, vous avez également un certain contrôle sur l'interaction réplication/sharding, en particulier :
- Lire les préférences
- Écrivez vos préoccupations