English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Die Spaltung ist ein Prozess der Speicherung von Datenzeilen über mehrere Maschinen hinweg, es ist eine Methode, wie MongoDB den wachsenden Datenbedarf erfüllt. Mit zunehmendem Datenumfang könnte ein einzelnes Gerät möglicherweise nicht ausreichen, um die Daten zu speichern und eine akzeptable Les- und Schreibdurchsatzrate bereitzustellen. Die Spaltung löst das Problem der horizontalen Skalierung. Durch die Spaltung können Sie mehr Computer hinzufügen, um den Bedarf an Datenwachstum und Lesen und Schreiben zu unterstützen.
Bei der Reproduktion werden alle Schreibvorgänge an den Hauptknoten weitergeleitet
Abfragen, die an die Verzögerung sensibel sind, werden immer noch an den Hauptknoten weitergeleitet
Die Beschränkung für eine einzelne Reproduktionssammlung beträgt12ein Knoten
Wann die Aktivitätsdatenbank sehr groß ist, ist der Speicher nicht ausreichend groß
Der lokale Festplattenplatz ist nicht groß genug
Horizontale Skalierung ist zu teuer
Die folgende Abbildung zeigt die Shards in MongoDB mit Shards-Cluster.
In der folgenden Abbildung gibt es drei Hauptkomponenten-
Shards
−Shards werden verwendet, um Daten zu speichern. Sie bieten Hochverfügbarkeit und Datenkonsistenz. In Produktionsumgebungen ist jeder Shard ein单独er Replikationsset.
Config Servers
−Konfigurationsserver speichern die Metadaten des Clusters. Diese Daten enthalten die Zuordnung von Cluster-Datenbeständen zu Shards. Der Abfrage-Router verwendet diese Metadaten, um Operationen auf spezifische Shards zu leiten. In Produktionsumgebungen hat ein Shards-Cluster genau3Konfigurationsserver.
Query Routers
−Der Abfrage-Router ist im Grunde genommen ein mongo-Instanz, der mit Client-Anwendungen kommunizieren kann und die Operationen direkt auf die angemessene Shards leitet. Der Abfrage-Router bearbeitet die Operationen, leitet sie zur Shards und gibt die Ergebnisse an den Client zurück. Ein Shards-Cluster kann mehrere Abfrage-Router enthalten, um die Last der Client-Anfragen zu verteilen. Der Client sendet die Anfragen an einen Abfrage-Router. In der Regel hat ein Shards-Cluster viele Abfrage-Router.