在我们的 GAE 应用程序中,用户通常需要将特定类型的实体下载为 CSV。经常添加/更新新实体,这使得提前或以固定间隔将所有实体写入 blob 是不可行的。
对于以 500 个为一组获取的大约 50000 个实体(每个实体 < 2 KB),写入 CSV 文件 blob 需要超过 2 分钟,成本接近 1 美元。此外,用户必须等待很长时间才能接收通常只有几 (< 5) MB 的文件。
我有两个问题:
A) 是否可以通过为导出配置 map-reduce 管道来减少写入 blob 的时间?
B) 有没有办法降低从数据存储中获取大量实体并写入 blob 的成本?
编辑:刚刚了解到 mapreduce 只能在一种类型的所有实体上运行,而不是过滤的子集。所以mapreduce可能会大大增加成本。还有其他建议吗?