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

Производителност на MongoDB - има множество бази данни

Нашето приложение се нуждае от 5 колекции в db. Когато добавяме клиенти към нашето приложение, бихме искали да поддържаме отделна база данни за всеки клиент. Например, ако имаме 500 клиенти, ще имаме 500 dbs и 2500 колекции (всеки db има 5 колекции). По този начин можем да разделим данните за всеки клиент.

Това е чудесна идея. Освен логическото разделяне, това ще ви осигури, също така ще можете да използвате сигурността на ниво база данни в MongoDB, за да предотвратите неволен достъп до данните на други клиенти.

Притеснението ми е дали това ще доведе до проблеми с производителността?

Не, и всъщност това ще помогне, тъй като при заключването на ниво база данни изключително тежката конкуренция за заключване за един клиент (ако това е възможно във вашия сценарий) няма да повлияе на производителността на друг клиент (все пак може, ако те се конкурират за същата I/O честотна лента но ако използвате опцията --directoryperdb, тогава имате възможността да поставите тези БД на отделни физически устройства.

Разделянето също така ще позволи лесно мащабиране, тъй като дори няма да ви се налага да разделяте колекции – можете просто да обединявате бази данни в множество фрагменти, за да позволите натоварването да бъде разпределено в отделни клъстери (ако и когато достигнете това ниво).

Противно на твърдението в другия отговор, TTLMonitor нишката НЕ изтегля документи в RAM, освен ако не бъдат изтрити (и добавени към безплатния списък). Те работят с TTL индексите както за да разберат дали някой документи трябва да изтече, така и за директно намиране на документа.

Силно бих препоръчал срещу решението с една база данни с много колекции, тъй като това не ви позволява нито да разделите натоварването, нито да осигурите сигурност, нито е по-лесно да се справите от страна на приложението.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. mongodb.conf bind_ip =127.0.0.1 не работи, но 0.0.0.0 работи

  2. Как мога да изтегля поддокументи от масив?

  3. mongodb - Намерете документ с най-близката целочислена стойност

  4. Първи стъпки с нерелационни бази данни с помощта на Mongodb 🍃

  5. MongoDB-as-a-Service в Канада