使用标准数据存储索引或构建我自己的索引

时间:2012-06-30 00:18:41

标签: python google-app-engine indexing google-cloud-datastore

我正在使用python在google appengine上运行webapp,我的应用程序允许用户发布主题并回复它们,网站基本上是分类到不同页面的这些帖子的集合。

现在我现在每天只有大约200个帖子和30个访问者,但这已经占据了我的读取的近20%和数据存储区的10%的写入。我想知道使用谷歌应用程序引擎内置的get_by_id()函数来检索帖子的ID是否更有效,或者是否更好地构建我自己的ID。对于某些查询,我只需要使用GQL或内置查询语言,因为它们不仅仅是ID和ID,而且我希望看到哪个更好。

谢谢!

2 个答案:

答案 0 :(得分:1)

你在做有效的缓存吗? (或任何缓存)。

另外,如果您使用300多个帖子进行了大量写操作,那么您的模型可能会出现问题。您是否查看了数据存储区查看器,看看每个实体使用了多少写入数据?

您可能会阅读Exploding indexes上的文档,也许这是您问题的一部分?

使用get_by_id()会更好。它找到了确切的对象,并且成本更低(计为只有一个实体的查询)。

答案 1 :(得分:0)

我建议使用预先存在的代码并围绕它进行构建而不是重新发明轮子。