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

MongoDB $slice (страниране на вграден масив)

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

Когато добавите вградени документи към масив, който не е с фиксиран размер, mongoDB потенциално ще трябва да премести документа, докато расте, променяйки фактора на подложка и причинявайки фрагментация (факторът на подложка е предположение от страна на mongodb за това колко голям ще бъде вашият документ нараства, той предварително разпределя повече място за този случай).

Освен това сте ограничени до 16 MB PR документ, така че представете си, че ако получите луда популярна нишка или решите да разширите коментарите с други метаданни, е възможно да преодолеете тази бариера. Извличането на голям документ също е скъпо и отнема време.

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

Има някои добри презентации под

http://www.10gen.com/presentations /mongodb-berlin/2012/10-key-performance-indicators http://www.10gen.com/presentations/mongosv -2011/schema-design-by-example

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




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongo DB заявка в java

  2. как да освободя кеширането, което се използва от Mongodb?

  3. Уверете се, че индексът не работи - MongoDB

  4. Условно $търсене в MongoDB?

  5. PyMongo -- итерация на курсора