MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Jaka jest różnica między shardingiem a replikacją w Mongo?

W kontekście skalowania MongoDB:

  • replikacja tworzy dodatkowe kopie danych i umożliwia automatyczne przełączanie awaryjne do innego węzła. Replikacja może pomóc w poziomym skalowaniu odczytów, jeśli możesz odczytać dane, które potencjalnie nie są najnowsze.

  • sharding pozwala na poziome skalowanie zapisów danych poprzez partycjonowanie danych na wielu serwerach za pomocą klucza cząstkowego . Ważne jest, aby wybrać dobry klucz odłamkowy. Na przykład zły wybór klucza fragmentu może prowadzić do tego, że „gorące punkty” danych będą zapisywane tylko w jednym fragmencie.

Środowisko podzielone na fragmenty zwiększa złożoność, ponieważ MongoDB musi teraz zarządzać dystrybucją danych i żądań między fragmentami — do zarządzania tymi aspektami dodawane są dodatkowe procesy konfiguracji i routingu.

Replikacja i sharding są zazwyczaj łączone w celu utworzenia klastra podzielonego na fragmenty gdzie każdy odłamek jest obsługiwany przez zestaw replik.

Z punktu widzenia aplikacji klienckiej masz również pewną kontrolę w odniesieniu do interakcji replikacja/sharding, w szczególności:

  • Czytaj preferencje
  • Napisz obawy


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak przyspieszyć wstawianie MongoDB/s?

  2. Odczytanie DBname.system.indexes nie powiodło się w klastrze Atlas przez mongobee po uzyskaniu połączenia

  3. MongoDB findOneAndDelete()

  4. Zbiorcza aktualizacja dokumentów w MongoDB

  5. Dlaczego PyMongo 3 daje ServerSelectionTimeoutError?