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

Mongodb:wiele kolekcji lub jedna duża kolekcja z indeksem

Z dokumentacji mongo tutaj:modelowanie danych

W niektórych sytuacjach możesz wybrać przechowywanie informacji w kilku kolekcjach, a nie w jednej kolekcji.

Rozważ przykładowe dzienniki kolekcji, które przechowują dokumenty dzienników dla różnych środowisk i aplikacji. Zbiór dzienników zawiera dokumenty o następującej postaci:

{ log:"dev", ts:..., info:... } { log:"debug", ts:..., info:...}

Jeśli łączna liczba dokumentów jest niewielka, możesz pogrupować dokumenty w kolekcje według typu. W przypadku dzienników rozważ utrzymanie odrębnych kolekcji dzienników, takich jak logs.dev i logs.debug. Kolekcja logs.dev zawierałaby tylko dokumenty związane ze środowiskiem deweloperskim.

Ogólnie rzecz biorąc, posiadanie dużej liczby kolekcji nie powoduje znaczącej utraty wydajności i skutkuje bardzo dobrą wydajnością. Wyraźne kolekcje są bardzo ważne dla wysokowydajnego przetwarzania wsadowego.

Rozmawiałem też z facetem 10gen. W przypadku naprawdę dużych kolekcji wymienił wiele korzyści wynikających z podziału na mniejsze, bardziej szczegółowe kolekcje. Jego komentarz na temat używania jednej kolekcji dla wszystkich danych i używania indeksu brzmiał:

To, że możesz coś zrobić, nie oznacza, że ​​powinieneś. Odpowiednio modeluj swoje dane. może być łatwe do przechowywania w jednej dużej kolekcji i indeksie, ale nie zawsze jest to najlepsze podejście.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jakie znaki NIE są dozwolone w nazwach pól MongoDB?

  2. Importowanie json z pliku do mongodb za pomocą mongoimport

  3. Błąd przetwarzania JSON mongoexport

  4. Mongoose - wyszukiwanie poddokumentów według kryteriów

  5. Nie można połączyć się z mongodb errno:61 Połączenie odrzucone