sql >> Databáze >  >> NoSQL >> MongoDB

je toto optimální minimální nastavení pro mongodb, které umožňuje sharding / škálování?

Sada replik je sada počítačů, které jsou navzájem klony. (tj.:repliky ) V rámci dané množiny je zvolený mistr. Ve výchozím nastavení jdou čtení a zápisy do tohoto zvoleného hlavního serveru a repliky pouze „očekávají“ změny, aby byly aktuální kopie. Pokud mistr selže, zvolí se nový a systém prostě běží dál. Dokumentace je zde .

Takže se ptáte na škálování pomocí MongoDB. Existují dva typy škálování:

  • Čtení měřítka:použijte sady replik (viz zde )
  • Škálování zápisu:použijte Sharding

Minimální konfigurace pro sady replik je - 2 úplné repliky - 1 arbitr (odlehčený proces, přeruší remízu při hlasování)

Minimální konfigurace pro Sharding je- 1 konfigurační server- 1 mongod proces (pouze jeden fragment) – 1 nebo více mongos (obvykle na aplikačním serveru)

Takto však běhat ve výrobě asi nechcete. Provozování pouze jedné databáze znamená, že máte pouze jeden zdroj dat, což může vést k velkým výpadkům nebo úplné ztrátě dat. To se obecně řeší pomocí sad replik.

Kromě toho je konfigurační server docela důležitý. MongoDB podporuje 1 nebo 3 konfigurační servery. Většina produkčních nasazení používá 3. Všimněte si, že konfigurační servery a arbitry jsou velmi lehké a mohou žít na jiných krabicích nebo na mikro instancích Amazon.

Většina produkčních nasazení se shardingem také zahrnuje sady replik. Ve skutečnosti obvykle začínají jako sady replik.

Z pohledu shardingu by to mělo být tak snadné jako:- spustit nový server shard-spustit addshard příkaz z mongos

Pamatujte, že když přidáte fragment, budete muset počítat s časem a zdroji, protože data migrují mezi fragmenty a vše se znovu vyrovnává.




  1. Přejít:Vytvořte rozhraní io.Writer pro přihlášení do databáze mongodb

  2. Dotaz ve funkci MongoDB Map Reduce

  3. Najděte maximální prvek uvnitř pole

  4. StackExchange TimeoutException při pokusu o vložení 750 položek ve 2 sadách v redis