我在 AWS EC2 中等按需实例上设置了一个 couchdb 数据库,其中大约有 400 万个对象,增长率约为每秒 100 个对象。
我想在上面写一些 map/reduce 查询,但是我的 map 作业需要很长时间才能完成。所以我想知道我是否应该将数据复制到其他机器,并删除主机上的所有数据,保持干净,我宁愿在复制数据的第二个实例上编写我的地图作业;我也在考虑将这些数据转移到 s3 实例,并在此处仅保留一周的数据。
我在想正确的方向吗
我在 AWS EC2 中等按需实例上设置了一个 couchdb 数据库,其中大约有 400 万个对象,增长率约为每秒 100 个对象。
我想在上面写一些 map/reduce 查询,但是我的 map 作业需要很长时间才能完成。所以我想知道我是否应该将数据复制到其他机器,并删除主机上的所有数据,保持干净,我宁愿在复制数据的第二个实例上编写我的地图作业;我也在考虑将这些数据转移到 s3 实例,并在此处仅保留一周的数据。
我在想正确的方向吗
不幸的是,对于这么大的数据库,您只能使用内置的 reduce 函数:
这些函数的工作速度比 javascript 快得多。这是大型数据库的唯一可能选择。
您可以编写自己的View Server或使用其中一种可用的实现来测试这是否有助于提高性能。