Für Skalierung/Failover verwendet mongodb einen "Replikatsatz", in dem es einen primären und einen oder mehrere sekundäre Server gibt. Primary wird für Schreibvorgänge verwendet. Secondaries werden für Lesevorgänge verwendet. Dies ist ziemlich viel Master-Slave-Muster in SQL-Programmierung verwendet. Wenn der Primärwert sinkt, tritt ein Sekundärwert im Cluster der Sekundärteile an seine Stelle. So ist das Problem der horizontalen Skalierung und Failover erledigt. Dies ist jedoch keine Lösung, die das Sharding ermöglicht. Ein echter Shard enthält nur einen Teil der gesamten Daten. Wenn also die sekundäre in einer Replikatmenge shard ist, wie kann sie dann als primär eingestuft werden, wenn sie nicht alle Daten enthält, die für die Bearbeitung der Anforderungen benötigt werden?Wie funktioniert MongoDB gleichzeitig sharding und replication?
Müssen wir nicht für jeden der Shards eine Replik erstellen?
Dies ist offensichtlich eine Anfängerfrage, also ein Link, der visuell oder anderweitig veranschaulicht, wie dies getan wird, wäre hilfreich.
Dieser Shard wird die Daten haben, die benötigt werden, um die Anfragen zu erfüllen, und ja, Sie können eine Replik pro Shard haben, hier ist ein Kochbuch Tutorial: http://cookbook.mongodb.org/operations/convert-replica Set-to-replicated-shard-cluster/ – Sammaye