我有一张表300万数据,用3台机器做了mongodb的分片集群,执行了一下聚合的group,耗时8s左右。就是选了2列做分组汇总。这个性能正常吗?用的是aggregate的group,用mapreduce会更优么?
回复 (10)
C
分片集群的片键就是索引有3个,数据量是300万条,free schema,所以除了片键,没有列是相同的。不过我试过200万数据固定10列,性能一样。不筛选,我就要统计这么多数据的汇总结果
A
这。。。数据量和索引情况完全不明。人家怎么帮助你
话说用上索引了吗?300万的量,筛选之后的数据量是多大?如果没做筛选的话,8s感觉也还是慢。如果有筛选的话,假设筛了之后只有 15w,那么会不会是索引没加之类的?
我印象中,aggregate 是对于 mapreduce 的封装。用哪个性能都一样。
C
A
引用 CN-Sean分片集群的片键就是索引有3个,数据量是300万条,free schema,所以除了片键,没有列是相同的。不过我试过200万数据固定10列,性能一样。不筛选,我就要统计这么多数据的汇总结果
@CN-Sean 那可能就这速度吧。说快不快,说慢不慢,但肯定非实时了。
mongodb 有没有升到 3.0,开启 wiredtiger?
C
B
怎么说呢一开始就不建议业务数据用mongodb,一旦数据量大不容易做报表统计,解决办法换mysql,300万数据对于mysql不分片照样没问题 自豪地采用 CNodeJS ionic
W
引用 alsotang这。。。数据量和索引情况完全不明。人家怎么帮助你 话说用上索引了吗?300万的量,筛选之后的数据量是多大?如果没做筛选的话,8s感觉也还是慢。如果有筛选的话,假设筛了之后只有 15w,那么会不...
@alsotang aggregate是对mapreduce的封装????
aggregate的性能远胜mapreduce
建议LZ贴下你的文档结构和pipeline,也许大家可以提出优化建议
C
引用 wencan@alsotang aggregate是对mapreduce的封装???? aggregate的性能远胜mapreduce 建议LZ贴下你的文档结构和pipeline,也许大家可以提出优化建议
@wencan 我的pipeline就一个group。其余什么都没有,就是纯粹的数据量大而已。
A
W
排序可以提升group效率
参与回复
登录后即可参与回复。登录