将1个电子邮件/文件存储在Google云端存储中还是将多个电子邮件存储在一个大文件中更好?

时间:2015-01-17 14:10:34

标签: google-cloud-storage

我正在尝试为某些用户对电子邮件进行分析。为此,我尝试将电子邮件存储在云存储上,以便我可以在它们上运行Hadoop作业。 (之前我曾尝试使用App Engine DataStore,但很难缩放许多用户的数据:达到各种资源限制等) 将一个电子邮件/文件存储在云存储中或将所有用户的电子邮件存储在一个大文件中是否更好?在许多关于云存储的例子中,我看到人们操作大文件,但保留1个文件/电子邮件似乎更合乎逻辑。

1 个答案:

答案 0 :(得分:2)

从GCS扩展的角度来看,将所有内容存储在一个对象与多个对象之间没有任何好处。但是,在桶中列出对象是最终一致的操作。因此,如果您的计算将通过首先将(例如)100万个对象上传到存储桶,然后立即开始计算存储桶中的对象并计算其内容的计算来进行,则列表可能不完整。您可以通过维护上载的对象清单并将清单传递给计算来解决该问题,而不是让计算列表成为存储桶中的对象。或者,如果您将所有电子邮件加载到一个文件中并上传它,则不需要执行存储桶列表操作。

如果您计划上传一次数据,然后运行各种分析计算(或单次计算并运行多次),则上传大量对象并根据您的分析计算列出存储桶这不会是一个问题,因为最终的一致性问题实际上只会在您上传后不久列出存储桶的情况下影响您。