我应该将用户放在祖先路径中还是单独使用?

时间:2014-01-10 02:09:18

标签: google-app-engine

我的应用应包含多个用户,每个用户都有一个对象列表(只有一个用户拥有该对象)。 我的问题是:将实体用户引用其对象的ID会更好吗,还是应该将用户作为对象的祖先?请善待,我刚开始使用nosql和datastore!

2 个答案:

答案 0 :(得分:1)

您采取的方法在很大程度上取决于您的访问模式,易于检索的有效内容,写入频率等。您可以通过构建基本实体关系模型来开始设计过程,然后开始详细说明需要获取哪些信息to,以及需要多长时间的安全限制。然后看看如何调整真实模型以反映这些访问用例,同时考虑性能,易用性和安全要求。

答案 1 :(得分:1)

您应该选择哪种方法主要取决于您的实体所需的一致性模型(强大与最终)。在Google Cloud Datastore中,实体组(实体及其后代)是具有强一致性,事务性和位置性的单元。

您可以阅读有关herehere主题的更多信息。

还有一件事需要考虑。如果您在用户和对象之间建立父子关系模型,则父对象将成为对象密钥的一部分,因此如果您稍后更改对象的所有者,则最终会根据其对象使用不同的对象。