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 Cluster implementiert, die nichts anderes als eine Gruppe von MongoDB Instanzen.
Zu den Komponenten eines Shards gehören:
- 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.
- Konfigurationsserver – Dies ist eine MongoDB-Instanz, die Metadaten zum Cluster enthält, im Wesentlichen Informationen zu den verschiedenen MongoDB-Instanzen, die die Shard-Daten enthalten.
- Ein Router – Dies ist eine 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) Starten Sie die MongoDB-Instanz im Konfigurationsmodus. Angenommen, wir haben einen Server namens Server D, der unser Konfigurationsserver sein soll, 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, die zum Cluster hinzugefügt werden müssen, 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.