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

По-бърза ли е рамката на Mongodb Aggregation от map/reduce?

Всеки тест, който лично провеждах (включително използването на вашите собствени данни), показва, че рамката за агрегиране е многократно по-бърза от намаляването на картата и обикновено е с порядък по-бърза.

Само вземайки 1/10 от данните, които сте публикували (но вместо да изчиствам кеша на ОС, първо да затопля кеша - защото искам да измеря производителността на агрегирането, а не колко време отнема да се прекара страницата в данните) получих това:

MapReduce:1,058 мс
Рамка за агрегиране:133 мс

Премахване на $match от рамката за агрегиране и {query:} от mapReduce (защото и двете просто биха използвали индекс и това не е това, което искаме да измерим) и групиране на целия набор от данни по key2, получих:

MapReduce:18 803 мс
Рамка за агрегиране:1535 мс

Те са много в съответствие с предишните ми експерименти.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Експортирайте резултата за агрегиране на mongodb в нова колекция

  2. 7 начина да проверите вашата версия на MongoDB

  3. В световен мащаб използвайте JsonConverter за клас без атрибута

  4. Методът за намиране на Mongoose с $или условие не работи правилно

  5. Mongoid:намерете чрез масив от идентификатори