MongoDB Sharding: Tutoriel étape par étape avec exemple

Table des matières:

Anonim

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

  1. 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.
  2. 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.
  3. 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.