谷歌应用引擎数据存储区参考与否?

时间:2009-11-18 18:43:49

标签: database google-app-engine google-cloud-datastore referenceproperty

我正在填写一张包含来自不同国家的文字项目的大桌子。我的问题是: 我应该使用referencePropery链接到另一个表中的语言吗?这就是我在普通的mysql关系数据库中做的方式。

或者只是冗余并指定表格中每个文字的语言?

哪个更好? 冗余和增加存储使用量 要么 更多查询和更多的CPU使用

当我的数据库完成后,我需要查询数据库以获得包含来自每个国家/地区的文本项的不同列表。

1 个答案:

答案 0 :(得分:0)

如果您使用参考属性,如果您只想查找某种语言的文本项,则应该没问题。存储文本项时,引用属性将存储为语言对象的键。然后,您将能够编写“向我提供语言属性与此密钥匹配的所有语言。”的查询。

您将无法做的是编写一个连接两个“表”的查询,并根据您的语言实体的某些属性查找项目。例如,如果您的语言实体具有名为alphabet的属性,则您将无法找到其语言具有拉丁字母的所有文本项。您需要分两步完成 - 首先找到所有具有拉丁字母的语言的键,然后查找具有其语言属性的其中一个键的所有文本项。