MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Изпълнения на MongoDB - колко бази данни, колекции?

Подход 1(A): Създаване на единна база данни за всичко. (С едно събиране)те

Плюсове:

  • По-малко поддръжка:архивиране, създаване на потребители на база данни, възстановяване и т.н.

Недостатъци:

  • Може да видите заключване на ниво база данни за създаване на индекси в голяма база данни
  • За да извършите операции върху конкретни данни от сензори, трябва да добавите допълнителни индекси, за да извлечете само конкретна колекция от сензори
  • Вие сте задължени да създавате не повече от 64 индекса на една колекция. Въпреки че звучи лоша стратегия за индексиране.

Подход 1(B): Създаване на единна база данни за всичко. (С 1 колекция за всеки сензор)а

Плюсове:

  • По-малко поддръжка:архивиране, създаване на потребители на база данни, възстановяване и т.н.
  • Минимизира необходимостта от създаване на индекси за идентифициране на специфични за сензора данни от цялата монолитна колекция
  • Всяка конкретна заявка за сензор ще бъде насочена само към конкретна колекция. Не изисква изтегляне на голям работен набор в паметта в сравнение с една голяма колекция.
  • Изграждането на индекс върху относително по-малка колекция е по-осъществимо от това на голямата колекция в единична база данни

Недостатъци:

  • В крайна сметка може да създадете твърде много индекси. (Сума от общия брой индекси на всички колекции).
  • Необходима е повече поддръжка за голям брой индекси.
  • WiredTiger създава 1 файл за колекция и 1 за индекс вътрешно. Ако вашият случай на използване расте с голям брой сензори. В крайна сметка може да използвате ограничение от 64K отворен файл.

От гледна точка на производителността има ли значение дали разделям данните по всеки сензор или по показатели?

  • Това зависи от моделите на достъп, очаквани от вашето приложение за анализ.

По отношение на производителността, трябва ли да направя колекция само за информацията за сензорите и след това колекции за данни или просто да обединя двете в една и съща колекция?

  • Създаването на колекция за метаданни и данни от сензори може да е необходимо. Това ще сведе до минимум дублирането на метаданни от сензори във всеки един събран сензор.

  • Може да искате да прочетете Публикация в блог на Уилямс тук при проектирането на този модел.

Както винаги, по-добре е да проектирате примерна схема и да тествате вашите заявки в рамките на вашата тестова среда.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Как да намерите всичко в mongoosejs?

  2. Concat масиви с помощта на PyMongo не успяха с неизвестен групов оператор „$concatArrays“

  3. Как да създавате, показвате и пускате колекции в MongoDB

  4. Грешка в твърдението:1 ==0 за командата MongoDB deleteOne

  5. Обяснение на датата в JSON