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
Implements: blueprint mongodb-aggregation-pipeline
Change-Id: I60040b4472529d460f03cc4d1b55d883ea339124
(cherry-picked from c41a8856b98a435bc9af4ea80d42f5d8139b7fe9)
Reviewed: https:/ /review. fuel-infra. org/10641 ci/fuel- 6.1/2014. 2
Submitter: Vitaly Sedelnik <email address hidden>
Branch: openstack-
Commit: 2d7821db1699da1 a688c605fdd91ae a26e37c136
Author: Ilya Tyaptin <email address hidden>
Date: Fri Oct 30 10:54:10 2015
[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)
Implements: blueprint mongodb-
Change-Id: I60040b4472529d
(cherry-picked from c41a8856b98a435