Qu'est-ce que le partage dans MongoDB?
Le partage est un concept de MongoDB, qui divise de grands ensembles de données en petits ensembles de données sur plusieurs instances MongoDB.
Parfois, les données dans MongoDB seront si énormes que les requêtes sur de tels ensembles de données volumineuses peuvent entraîner une utilisation importante du processeur sur le serveur. Pour faire face à cette situation, MongoDB a un concept de partage, qui consiste essentiellement à fractionner des ensembles de données sur plusieurs instances MongoDB.
La collection qui pourrait être de grande taille est en fait divisée en plusieurs collections ou fragments comme on les appelle. Logiquement, tous les fragments fonctionnent comme une seule collection.
Comment mettre en œuvre le partage
Les fragments sont implémentés à l'aide de clusters qui ne sont rien d'autre qu'un groupe d'instances MongoDB.
Les composants d'un éclat comprennent
- Un fragment - C'est la chose de base, et ce n'est rien d'autre qu'une instance MongoDB qui contient le sous-ensemble des données. Dans les environnements de production, tous les fragments doivent faire partie de jeux de réplicas.
- Serveur de configuration - Il s'agit d'une instance de mongodb qui contient des métadonnées sur le cluster, essentiellement des informations sur les différentes instances de mongodb qui contiendront les données de partition.
- Un routeur - Il s'agit d'une instance de mongodb qui est essentiellement chargée de rediriger les commandes envoyées par le client vers les bons serveurs.
Exemple de cluster de partage étape par étape
Étape 1) Créez une base de données distincte pour le serveur de configuration.
mkdir /data/configdb
Étape 2) Démarrez l'instance mongodb en mode configuration. Supposons que si nous avons un serveur nommé Serveur D qui serait notre serveur de configuration, nous aurions besoin d'exécuter la commande ci-dessous pour configurer le serveur en tant que serveur de configuration.
mongod -configdb ServerD: 27019
Étape 3) Démarrez l'instance mongos en spécifiant le serveur de configuration
mongos -configdb ServerD: 27019
Étape 4) À partir du shell mongo, connectez-vous à l'instance de mongo
mongo -host ServerD -port 27017
Étape 5) Si vous avez le serveur A et le serveur B qui doivent être ajoutés au cluster, émettez les commandes ci-dessous
sh.addShard("ServerA:27017")sh.addShard("ServerB:27017")
Étape 6) Activez le partitionnement pour la base de données. Donc, si nous devons fragmenter la base de données Employeedb, exécutez la commande ci-dessous
sh.enableSharding(Employeedb)
Étape 7) Activez le partitionnement pour la collection. Donc, si nous devons partager la collection Employee, exécutez la commande ci-dessous
Sh.shardCollection("db.Employee" , { "Employeeid" : 1 , "EmployeeName" : 1})
Résumé:
- Comme expliqué dans le didacticiel, le partage est un concept de MongoDB, qui divise de grands ensembles de données en petits ensembles de données sur plusieurs instances MongoDB.