MongoDB Sharding : tutoriel étape par étape avec exemple
Qu'est-ce que le partage MongoDB?
Le partage est un concept dans MongoDB, qui divise les grands ensembles de données en petits ensembles de données sur plusieurs MongoDB les instances.
Parfois, les données contenues dans MongoDB sera si énorme que les requêtes sur de tels ensembles de données volumineux peuvent entraîner une utilisation importante du processeur sur le serveur. Pour faire face à cette situation, MongoDB a un concept de Sharding, qui consiste essentiellement à diviser des ensembles de données en plusieurs MongoDB les instances.
La collection, qui peut ê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 implémenter le partage
Les fragments sont implémentés à l'aide de clusters qui ne sont rien d'autre qu'un groupe de MongoDB les instances.
Les composants d'un fragment incluent
- Aussi dur – C’est la chose fondamentale, et ce n’est rien d’autre qu’un MongoDB instance qui contient le sous-ensemble des données. Dans les environnements de production, toutes les partitions doivent faire partie d’ensembles de réplicas.
- Serveur de configuration – Il s’agit d’une instance Mongodb qui contient des métadonnées sur le cluster, essentiellement des informations sur les différentes instances Mongodb qui contiendront les données du fragment.
- Un routeur – Il s’agit d’une instance mongodb qui est essentiellement chargée de rediriger les commandes envoyées par le client vers les bons serveurs.
Partage étape par étape Cluster Exemple
É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é Server D qui serait notre serveur de configuration, nous devrons 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) Depuis le shell mongo, connectez-vous à l'instance de mongo
mongo –host ServerD –port 27017
Étape 5) Si vous disposez du serveur A et du serveur B qui doivent être ajoutés au cluster, exécutez 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 partager 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 cela est expliqué dans tutoriel, Sharding est un concept dans MongoDB, qui divise les grands ensembles de données en petits ensembles de données sur plusieurs MongoDB les instances.