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

MongoDB:къде е границата между малко и много?

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

  1. Направете сметката. Умножете връзките си въз основа на това, което очаквате да направи приложението ви. Ако имате няколко вложени масива или вградени документа, няколко „един към няколко“ могат доста лесно да се разширят до много документи, когато започнете да ги $развивате.

  2. Напишете прототип. Направете някои основни тестове на вашия очакван хардуер/среда, за да видите дали може лесно да се справи с това натоварване, когато правите заявки за всички данни.

  3. Въз основа на вашето тестване създайте ограниченията. Това е мястото, където трябва да начертаете чертата колко релации можете да създадете на документ, за всеки тип релация, преди системата да се разпадне.

Ако бях аз, бих казал, че едно към няколко е по-малко от дузина, а едно към много е теоретично неограничено, но на практика е в милиони. Може би трябва да има средно ниво на „един към някои“, за да се посочат евентуални стотици.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Резултатите от заявката за проекция на Mongo варират от тестване в shell срещу приложение nodejs

  2. параметърът include_type_name е зададен на true в node.js

  3. Изпълнение на db.repairDatabase() от mongodb-native в node.js

  4. Денормализация на данни в MongoDB

  5. Филтриране на YearMonth от Mongo документ