In de context van het schalen van MongoDB:
-
replicatie maakt extra kopieën van de gegevens en zorgt voor automatische failover naar een ander knooppunt. Replicatie kan helpen bij het horizontaal schalen van uitlezingen als u gegevens mag lezen die mogelijk niet de nieuwste zijn.
-
scheren maakt horizontale schaling van gegevensschrijfacties mogelijk door gegevens over meerdere servers te partitioneren met behulp van een shard-sleutel . Het is belangrijk om een goede Shard-sleutel te kiezen. Een slechte keuze van de Shard-sleutel kan er bijvoorbeeld toe leiden dat 'hotspots' van gegevens slechts op één enkele Shard worden geschreven.
Een shard-omgeving voegt meer complexiteit toe omdat MongoDB nu de distributie van gegevens en verzoeken tussen shards moet beheren - er zijn extra configuratie- en routeringsprocessen toegevoegd om die aspecten te beheren.
Replicatie en sharding worden meestal gecombineerd om een sharded cluster te maken waarbij elke scherf wordt ondersteund door een replicaset.
Vanuit het oogpunt van de clienttoepassing heeft u ook enige controle met betrekking tot de replicatie/sharding-interactie, met name:
- Leesvoorkeuren
- Bezorgdheden schrijven