MongoDB Sharding: Schritt-für-Schritt-Anleitung mit Beispiel

Was ist Sharding? MongoDB?

Sharding ist ein Konzept in MongoDB, das große Datensätze in mehrere kleine Datensätze aufteilt MongoDB Instanzen.

Manchmal sind die Daten darin MongoDB wird so groß sein, dass Abfragen für solch große Datenmengen eine hohe CPU-Auslastung auf dem Server verursachen können. Um diese Situation anzugehen, MongoDB verfügt über ein Sharding-Konzept, bei dem es sich im Wesentlichen um die Aufteilung von Datensätzen auf mehrere handelt MongoDB Instanzen.

Die Sammlung, die sehr groß sein kann, ist tatsächlich auf mehrere Sammlungen oder Shards, wie sie genannt werden, aufgeteilt. Logischerweise funktionieren alle Shards als eine Sammlung.

So implementieren Sie Sharding

Shards werden durch die Verwendung implementiert clusters, die nichts anderes als eine Gruppe von sind MongoDB Instanzen.

Zu den Komponenten eines Shards gehören:

  1. Eine Scherbe – Das ist das Grundlegende, und das ist nichts anderes als ein MongoDB Instanz, die die Teilmenge der Daten enthält. In Produktionsumgebungen müssen alle Shards Teil von Replikatsätzen sein.
  2. Konfigurationsserver - Dies ist ein mongodb Instanz, die Metadaten über die enthält cluster, grundsätzlich Informationen über die verschiedenen mongodb Instanzen, die die Shard-Daten enthalten.
  3. Ein Router - Dies ist ein mongodb Instanz, die grundsätzlich dafür verantwortlich ist, die vom Client gesendeten Befehle an die richtigen Server umzuleiten.

Schritt für Schritt Sharding Cluster Beispiel

Schritt 1) Erstellen Sie eine separate Datenbank für den Konfigurationsserver.

mkdir /data/configdb

Schritt 2) Starte das mongodb Instanz im Konfigurationsmodus. Angenommen, wir hätten einen Server namens Server D, der unser Konfigurationsserver wäre, müssten wir den folgenden Befehl ausführen, um den Server als Konfigurationsserver zu konfigurieren.

mongod –configdb ServerD: 27019

Schritt 3) Starten Sie die Mongos-Instanz, indem Sie den Konfigurationsserver angeben

mongos –configdb ServerD: 27019

Schritt 4) Stellen Sie von der Mongo-Shell aus eine Verbindung zur Mongo-Instanz her

mongo –host ServerD –port 27017

Schritt 5) Wenn Sie Server A und Server B haben, müssen diese hinzugefügt werden cluster, geben Sie die folgenden Befehle ein

sh.addShard("ServerA:27017")
sh.addShard("ServerB:27017")

Schritt 6) Aktivieren Sie Sharding für die Datenbank. Wenn wir also die Employeedb-Datenbank teilen müssen, geben Sie den folgenden Befehl ein

sh.enableSharding(Employeedb)

Schritt 7) Aktivieren Sie Sharding für die Sammlung. Wenn wir also die Employee-Sammlung teilen müssen, geben Sie den folgenden Befehl ein

Sh.shardCollection("db.Employee" , { "Employeeid" : 1 , "EmployeeName" : 1})

Zusammenfassung:

  • Wie in Lernprogramm, Sharding ist ein Konzept in MongoDB, das große Datensätze in mehrere kleine Datensätze aufteilt MongoDB Instanzen.