Currently, we use a native mapreduce jobs for highload requests
in MongoDb backend, but this approach have insufficient performance.
For example, at test environment mapreduce job processes a 10k samples/sec.
It's not good result for big collections.
Aggregation framework has a better performance and enough syntax
for our needs. At test environment it shows a improving "statistics" request
performance up to 10 times.
Reviewed: https:/ /review. fuel-infra. org/11049 ci/fuel- 7.0/2015. 1.0
Submitter: Vitaly Sedelnik <email address hidden>
Branch: openstack-
Commit: 2818186eb82d74e 8474d8fbc0a7fe6 df4121d2aa
Author: Ilya Tyaptin <email address hidden>
Date: Tue May 17 06:45:11 2016
[MongoDB] Use a aggregate pipeline in statistics
Currently, we use a native mapreduce jobs for highload requests
in MongoDb backend, but this approach have insufficient performance.
For example, at test environment mapreduce job processes a 10k samples/sec.
It's not good result for big collections.
Aggregation framework has a better performance and enough syntax
for our needs. At test environment it shows a improving "statistics" request
performance up to 10 times.
Closes-Bug: #1506877 aggregation- pipeline 460f03cc4d1b55d 883ea339124 bc9af4ea80d42f5 d8139b7fe9
Closes-bug: #1581507
Related-bug: #1537657
Implements: blueprint mongodb-
Change-Id: I60040b4472529d
cherry-picked from c41a8856b98a435