App Engine:上传并解析包含10,000行和48列的CSV

时间:2015-05-26 14:33:00

标签: google-app-engine csv

我们有一个GAE应用程序,管理员需要上传CSV文件,解析它并将数据存储在数据存储区中。 CSV有48列,平均10,000行。我们目前处于免费配额状态,因为数据存储空间GAE pricing已写入,我已经计算出我们是一次上传导致:

    (2 + 48) * 10000 = 50,000 << None of the columns are indexed

所以我们很快就达到数据存储区写入配额,还有其他解决办法吗?

仅供参考,必须保留这些值,因为数据必须是可搜索的(检查结果)。

我们计划通过ID列进行搜索,这意味着至少有一个索引。

2 个答案:

答案 0 :(得分:1)

你的公式应该是500,000,但幸运的是,没有像Mikhail指出的那样对未编入索引的属性进行数据写入。

另一方面,如果数据必须是可搜索的,则必须至少索引一些属性,这将增加您的写入成本。如果所有属性都未编制索引,则将此数据存储在数据存储区中并将其保留在文本文件中之间没有区别。事实上,从文件中读取它更便宜。

答案 1 :(得分:0)

如果您的ID是增量的,请考虑将此数据放入一个/两个/三个分片中 - 将前2k行放入ID为“1”的实体中,然后将2k放入实体“2”中,依此类推。然后,当您想要检索ID为2345的行时 - 您知道必须读取碎片“2”,然后从内存中查找确切的实体。如果它会非常便宜,只需要几次写入和读取,并保持你的碎片足够小以保持快速。当然,如果行的大小很大,这将不起作用。