您的位置:首页 > 数据库 > Mongodb

MongoDB文档翻译-聚集-聚集管道与分片集合

2017-02-28 23:40 465 查看
英文原文地址:https://docs.mongodb.com/v3.2/core/aggregation-pipeline-sharded-collections/

本文章属个人翻译,作个人学习之用,如有雷同,纯属巧合。如有错误之处,欢迎指正。

聚集管道与分片集合

聚集管道支持对分片集合操作。本章描述了聚集管道与分片集合特有的行为。

行为

版本3.2的改动。

如果管道以一个在分片键上的精确
$match
开始,整个管道只会在匹配的分片上运行。之前,管道会分割开来,合并的工作会在主分片上完成。

对于必须运行在多个分片上的聚集操作,如果操作不一定需要运行在数据库的主分片上,这些操作将会把结果路由到一个随机的分片上来合并结果,以避免主分片负载过大。
$out
阶段和
$lookup
阶段需要运行在数据库的主分片上。

优化

当把聚集管道分成两部分的时候,在考虑优化的基础上,分割或确保分片执行尽可能多的阶段。

要查看管道是怎么分割的,在
db.collection.aggregate()
方法中包含
explain
选项。

不同版本的优化可能会不一样。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: