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

  1. 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.
  2. Serveur de configuration - C'est un mongodb instance qui contient des métadonnées sur le cluster, essentiellement des informations sur les différents mongodb instances qui contiendront les données de partition.
  3. Un routeur - C'est un mongodb instance 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) Commencer le mongodb instance 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.