sql >> Databasteknik >  >> NoSQL >> MongoDB

är detta den optimala minimiinställningen för mongodb för att tillåta skärning/skalning?

Ett replika set är en uppsättning datorer som är kloner av varandra. (dvs:repliker ) Inom en given uppsättning finns en vald mästare. Som standard går läsningar och skrivningar till denna valda mästare och replikerna "slutar" bara ändringarna till att vara uppdaterade kopior. Om mastern misslyckas väljs en ny och systemet fortsätter bara. Dokumentationen finns här .

Så du frågar om skalning med MongoDB. Det finns två typer av skalning:

  • Läs Skalning:använd Replica Sets (se här )
  • Skrivskalning:använd Sharding

Minsta konfiguration för replikauppsättningar är- 2 fulla repliker- 1 arbiter (lätt process, bryter banden vid röstning)

Minsta konfiguration för Sharding är- 1 konfigurationsserver- 1 mongod process (endast en shard) - 1 eller fler mongos (vanligtvis på appserver)

Däremot vill du förmodligen inte köra så här i produktionen. Att bara köra en enda DB innebär att du bara har en källa för data vilket kan resultera i stora stilleståndstider eller total dataförlust. Detta löses i allmänhet genom att använda replikuppsättningar.

Dessutom är konfigurationsservern ganska viktig. MongoDB stöder 1 eller 3 konfigurationsservrar. De flesta produktionsinstallationer använder 3. Observera att konfigurationsservrar och arbiters är mycket lätta och kan leva på andra boxar eller på Amazons mikroinstanser.

De flesta produktionsinstallationer med skärning involverar också replikuppsättningar. Faktum är att de vanligtvis börjar som replikuppsättningar.

Ur ett skärningsperspektiv bör det vara så enkelt som:- starta ny shard-server- kör addshard kommando från en mongos

Observera att när du lägger till en shard måste du ta med tid och resurser eftersom data migrerar mellan shards och allt återbalanseras.




  1. nodejs, redis. kontrollera om nycklar finns och skapa nya om inte

  2. fel:typparameter 'D' måste användas som typparameter för någon lokal typ

  3. Kör replikerad MongoDB 4.2 i Kubernetes:replsetkonfiguration tas inte emot

  4. konvertera millisekunder till datum i mongodb aggregeringspipeline för grupp efter?