Na przykład mam db z 20 GB danych i tylko 2 GB pamięci RAM, zamiana jest wyłączona. Czy będę w stanie znaleźć i wstawić dane? Jak fatalna byłaby wydajność?Co się dzieje, gdy mongodb jest za mało pamięci?
Odpowiedz
najlepiej google, ale wiele źródeł mówi, że gdy zestaw roboczy przerasta rozmiar RAM wydajność będzie znacząco spadać.
Sharding może być interesująca możliwość zamiast dodając RAM ..
http://www.mongodb.org/display/DOCS/Checking+Server+Memory+Usage
http://blog.boxedice.com/2010/12/13/mongodb-monitoring-keep-in-it-ram/
http://groups.google.com/group/mongodb-user/browse_thread/thread/37f80ff39258e6f4
Can MongoDB work when size of database larger then RAM?
What does it mean to fit "working set" into RAM for MongoDB?
kupili także do zapoznania się na przerwy 4square ubiegłym roku:
http://groups.google.com/group/mongodb-user/browse_thread/thread/528a94f287e9d77e
http://blog.foursquare.com/2010/10/05/so-that-was-a-bummer/
side-uwaga:
powiedziałeś "zamiana jest wyłączona "...? czemu? Zawsze powinieneś mieć wystarczającą przestrzeń wymiany w systemie UNIX! Rozmiar zamiennika = 1 ... 2-krotny rozmiar pamięci RAM to dobry pomysł. Używanie szybkiej partycji to dobry pomysł. Naprawdę złe rzeczy zdarzają się, jeśli w systemie UNIX zabraknie pamięci RAM i nie ma procesów Zamień. Procesy po prostu giną niewytłumaczalnie. To bardzo źle! zwłaszcza w produkcji. Dysk jest tani! dodaj obszerną partycję wymiany! :-)
To naprawdę zależy od rozmiaru zestawu roboczego .
MongoDB może obsłużyć bardzo dużą bazę danych i nadal będzie bardzo szybki, jeśli twój zestaw roboczy jest mniejszy niż Twój rozmiar pamięci RAM.
Zestaw roboczy to zestaw dokumentów, nad którymi pracujesz na czas i indeksy.
Tu jest link, który może pomóc w zrozumieniu tego: http://www.colinhowe.co.uk/2011/02/23/mongodb-performance-for-data-bigger-than-memor/
- 1. Co się dzieje, gdy moja() jest warunkowa?
- 2. Co dzieje się, gdy połączenia z MongoDB nie są zamknięte?
- 3. co się dzieje, gdy wątek wyrzuca wyjątek?
- 4. Internet Explorer 11 „Za mało pamięci” błąd
- 5. Co się dzieje, gdy pamięć podręczna varnish jest pełna?
- 6. Co się dzieje, gdy wywoływana jest funkcja setState()?
- 7. Android - Co się dzieje, gdy urządzenie jest odblokowane?
- 8. INotifyPropertyChanged: co dzieje się za sceną?
- 9. Co się dzieje, gdy dostawcy typu zmieniają się w F #?
- 10. Weka GUI - za mało pamięci, nie ładuje się?
- 11. Co się dzieje, gdy daję MyObject obj = new MyObject()
- 12. Co się dzieje, gdy wywołasz `if key in dyict`
- 13. Co się dzieje w __libc_start_main?
- 14. Co dzieje się w BeginProcessRequest()?
- 15. Co dokładnie dzieje się, gdy funkcja Go zwraca wiele wartości
- 16. Co się dzieje, gdy oczekujesz na już ukończone zadanie?
- 17. Co się dzieje, gdy wtyczka docker-maven próbuje zbudować obraz?
- 18. Co to znaczy? "mi_cmd_stack_list_frames: Za mało klatek na stosie."
- 19. Co dzieje się po przechwyceniu pakietu?
- 20. co się dzieje, gdy dwukrotnie importuję moduł w pythonie
- 21. Co dokładnie dzieje się, gdy nie można użyć polecenia unbind()?
- 22. Co dzieje się na stosie lub sterty?
- 23. PHP APC: Co się dzieje, gdy pamięć podręczna APC jest pełna?
- 24. Co dzieje się z AsyncTask, gdy aktywność uruchamiania jest zatrzymana/zniszczona, gdy nadal działa?
- 25. Czy ktoś może wyjaśnić, co dzieje się za kulisami?
- 26. FullGC dzieje się za każdym razem, gdy działa CMS
- 27. Co dzieje się z wyłączoną obsługą przerwań?
- 28. Co się tutaj dzieje? sizeof (short_int_variable + char_variable)
- 29. Co się dzieje z LOST String obiektów
- 30. Duże zapytanie grupowania LINQ, co się dzieje za kulisami