1

假设我想制作一个 appengine 应用程序,它可以存储 50,000 个单词的词典以及 10 种其他类似大小的语言的等效词典。

我在我的开发服务器上本地工作,但是当我将第一个字典加载到真正的应用服务器时,我立即超过了我每天的写入配额。我不知道有多少字典条目进入了数据存储区。所以,24 小时后,我去尝试批量下载字典,看看我实际有多少条目,但这样做我达到了每天的阅读量配额,但我的麻烦却一无所获。我尝试在设置每日最高 1.00 美元的情况下启用计费,并通过批量装载机达到该配额,但没有获得任何数据说明我的麻烦或我的 1.00 美元。

无论如何,所以我查看了我的数据存储查看器,它显示我的每个字典单词都需要 8 次写入数据存储。

那么,这是否意味着这种应用程序不适合 appengine 呢?我不应该尝试在其中存储字典吗?有没有更聪明的方法来做到这一点?例如,我可以以某种方式将字典以文件形式存储在 blob 存储中,然后从那里以编程方式对其进行处理吗?

感谢您的任何建议

4

1 回答 1

2

很可能你的阅读量要比写作少得多,所以问题在于获取数据,而不是阅读它。

因此,使用当前配置所需要做的就是降低写入速率。然后,大概您将通过它的 ID 获取每个单词(我希望是单词本身!),因此读取速度会很快而且很小,完全符合您的要求。

您可以这样做:将您的源数据切成每个字母 1 个文件。将这些文件与您的应用程序一起上传并创建一个任务来依次读取每个文件,然后将这些数据慢慢写入数据存储区。一旦该任务完成,它的最后一个动作就是调用下一个任务。

可能需要一周的时间才能完成,但一旦完成,它就会比你必须从 blob 存储中获取一个不透明的 blob 方便得多,为你真正感兴趣的每个 1 读取 N 个单词,然后解包并处理每一个字。

您也可以使用批量下载器上传数据!

于 2013-02-15T09:40:20.967 回答