gpt4 book ai didi

google-app-engine - 我什么时候应该使用 ndb.KeyProperty 与祖先?

转载 作者:太空宇宙 更新时间:2023-11-03 15:19:16 26 4
gpt4 key购买 nike

在 AppEngine 的 NDB 数据存储中,似乎有两种方法可以将对象相互关联起来。有 ndb.KeyPropertyparents/ancestors keys .我对什么时候应该使用一个或另一个感到有点困惑?

现在我一直在专门使用 KeyProperty,因为它是最熟悉的,但我想知道什么时候一个比另一个更合适。

最佳答案

祖先是分层的 - 当事物之间存在分层关系时可以使用它们(例如,在论坛系统中,您可能有 Forum,其中有 Topic依次有 Post)。

KeyProperty 本质上不是分层的 - 它只是提供一个链接。它应用于项目之间的非层次链接。重用上一段中的论坛示例,可以使用 KeyPropertyPost 链接到创建它的 User - 因为 用户 不在论坛-主题-帖子层次结构中。它们与所有 3 者相关(例如,用户 可能会创建帖子、创建主题和/或主持论坛)。

然而,归根结底,祖先和键之间的主要权衡在于一致性与吞吐量:基于祖先的查询相对于最近的更新具有很强的一致性,但对任何给定的实体组施加每秒 1 次修改的限制以及由于缺乏分布而导致的组的最大大小限制。

关于google-app-engine - 我什么时候应该使用 ndb.KeyProperty 与祖先?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19803317/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com