mongodb 中 Aggregation 的管道和分片集合( Pipeline and Sharded Collections)

mongodb 中的aggretion 中,如果管道中存在一个与之相匹配的shard key ,那么这个管道只运行在与之相匹配的shard 中,在以前(3.2),pipeline 被分流,最后又由primary  shard 合并;

在sharded collections  中,aggragation 必须运行在多个shards 中,如果这个操作不请求运行到primary shard 中,这些操作将被路由到随机的一个shard中去合并这个结果,这样缓解了primary shard 数据库过载的压力 ,$out  和$lookup 请求被运行到primary shard 数据库中。

posted @ 2016-09-18 11:02  Jensen_Lv  阅读(510)  评论(0编辑  收藏  举报