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

Czy MongoDB może działać, gdy rozmiar bazy danych jest większy niż RAM?

Tak, to może działać. Na jakim poziomie będzie działać, jest bardziej „to zależy”

Kluczową rzeczą jest zapewnienie zestawu roboczego może zmieścić się w pamięci RAM. Więc jeśli masz na przykład 16 GB pamięci RAM i 20 GB bazy danych (w tym indeksy), jeśli potrzebujesz dostępu tylko do połowy wszystkich danych, ponieważ druga połowa jest starsza / nigdy nie jest odpytywana, wszystko będzie dobrze, ponieważ tylko połowa twoich baza danych musi być w pamięci RAM (10 GB).

Zestaw roboczy jest tutaj kluczowy. Na przykład, jeśli masz aplikację logującą wysyłającą dane do MongoDB, może się okazać, że Twoim zestawem roboczym jest ilość danych (i indeksów) z ostatnich 3 miesięcy, a wszystkie wcześniejsze dane, do których nie masz dostępu.

Gdy twój zestaw roboczy przekroczy ilość pamięci RAM, będzie nadal działał, ale z zauważalnie obniżoną wydajnością, ponieważ będzie wtedy stale musiał przechodzić na dysk, który jest znacznie mniej wydajny. Jeśli znajdujesz się w sytuacji przekraczania ograniczeń pamięci RAM na maszynie, wtedy w grę wchodzi sharding – dzięki czemu możesz zrównoważyć dane na wielu maszynach, zwiększając w ten sposób ilość danych, które mogą być przechowywane w pamięci RAM.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Iteracja przez tablicę ciągów pobranych z MongoDB

  2. Meteor:Jak sprawdzić, czy element jest w polu tablicy, ale wykluczyć to pole w Opublikuj?

  3. Sprawdzanie, czy pole zawiera ciąg

  4. Jak zmienić nazwę pola w Spring-mongodb podczas wstawiania danych?

  5. Mongoose — zwiększanie wartości w tablicy obiektów