深入探索MongoDB与Ruby的高效数据处理与扩展
1. MongoDB的Map/Reduce机制
MongoDB的Map/Reduce是一种强大的功能,可用于处理大规模数据集。在分片环境中,若输入集合已分片,MongoDB会自动分发map函数。默认情况下,reduce函数的输出集合不会共享,而是保留在其中一个分片中。
例如,有如下数据:
{
"sodibee/localhost:27018,localhost:27020,localhost:27019" : {
"input" : 10000,
"emit" : 10000,
"reduce" : 251,
"output" : 26
},
"counts" : {
"emit" : NumberLong(10000),
"input" : NumberLong(10000),
"output" : NumberLong(26),
"reduce" : NumberLong(251)
},
"ok" : 1,
"timeMillis" : 980,
"timing" : {
"shards" : 633,
"final" : 346
}
}
从数据中可以看出,有10000个发出的结果,但只有251次reducer调用。
2. 使用Ruby实现Map/Reduce
在Ruby中实现Map/Reduce与在Mong
超级会员免费看
订阅专栏 解锁全文
39

被折叠的 条评论
为什么被折叠?



