sql >> Database >  >> NoSQL >> MongoDB

is dit de optimale minimale setup voor mongodb om sharding/scaling toe te staan?

Een Replicaset is een verzameling computers die klonen van elkaar zijn. (d.w.z.:replica's ) Binnen een bepaalde set is er een gekozen meester. Standaard gaan lees- en schrijfbewerkingen naar deze gekozen meester en de replica's "achtervolgen" de wijzigingen om up-to-date kopieën te zijn. Als de master faalt, wordt er een nieuwe gekozen en gaat het systeem gewoon door. De documentatie is hier .

Dus je vraagt ​​naar schalen met MongoDB. Er zijn twee soorten schalen:

  • Lees Scaling:gebruik Replica Sets (zie hier )
  • Schrijfschaal:gebruik Sharding

De minimale configuratie voor replicasets is - 2 volledige replica's - 1 arbiter (lichtgewicht proces, breekt banden bij het stemmen)

De minimale configuratie voor Sharding is- 1 configuratieserver- 1 mongod proces (slechts één scherf) - 1 of meer mongo's (meestal op app-server)

U wilt echter waarschijnlijk niet zo lopen in productie. Als u slechts één database draait, betekent dit dat u slechts één bron voor de gegevens hebt, wat kan leiden tot grote uitvaltijden of totaal gegevensverlies. Dit wordt over het algemeen opgelost door replicasets te gebruiken.

Bovendien is de configuratieserver heel belangrijk. MongoDB ondersteunt 1 of 3 configuratieservers. De meeste productie-implementaties gebruiken 3. Merk op dat configuratieservers en arbiters erg licht zijn en kunnen leven op andere boxen of op Amazon-micro-instanties.

Bij de meeste productie-implementaties met sharding zijn ook replicasets betrokken. In feite beginnen ze meestal als replicasets.

Vanuit een sharding-perspectief moet het zou wees zo eenvoudig als:- start een nieuwe shard-server - voer de addshard commando van een mongo's

Houd er rekening mee dat wanneer u een shard toevoegt, u rekening moet houden met tijd en middelen, aangezien gegevens tussen shards migreren en alles opnieuw in evenwicht wordt gebracht.




  1. MongoDB gebruiken in Express-routers

  2. Wat is MongoDB en hoe werkt het?

  3. Hoe gebruik je in MongoDB $set om een ​​geneste waarde/embedded document bij te werken?

  4. Mongoid store_in produceert willekeurige resultaten