哪个数据库模型存储数据?

时间:2012-10-19 01:47:17

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

我正在使用python在Google App Engine中编写应用程序,我想将用户和用户帖子分组。用户可以使用组ID标记帖子,然后该帖子将显示在组页面上。

我还想将用户与群组联系起来,以便只有群组成员可以使用该群组ID标记帖子,以便我可以在旁边显示群组的所有用户。我想知道在用户上拥有一个将列出所有组的属性(我认为最多10个左右)是否更有效,或者更好的是在Group模型上有一个列出所有属性的属性用户(可能是几百)。

这里有什么不同吗?

1 个答案:

答案 0 :(得分:0)

您的数据模型应该来自最可能的用例。你要检索什么?

一个。向用户显示组列表。 B.显示组中的用户列表。

解决方案:

如果只有A,则在用户实体的属性中存储未编制索引的组列表。 如果两者,与上述相同但是已编入索引。 如果仅B,则将未编制索引的用户列表存储在组实体的属性中。

注意:如果您对属性建立索引,则无法在其中放入数百个用户ID - 这将导致索引爆炸。