当前位置:  开发笔记 > 编程语言 > 正文

Google App Engine中的父级和引用属性之间有什么区别?

如何解决《GoogleAppEngine中的父级和引用属性之间有什么区别?》经验,为你挑选了2个好方法。

根据我的理解,db.Model的parent属性(通常在构造函数调用中定义/传递)允许您在数据模型中定义层次结构.结果,这增加了实体组的大小.但是,我不清楚为什么要这样做.这严格遵守ACID吗?我希望看到每个最适合或更合适的场景.



1> Nick Johnson..:

有几个不同之处:

具有相同祖先的所有实体都在同一实体组中.事务只能影响单个实体组内的实体.

对单个实体组的所有写入都是序列化的,因此吞吐量有限.

父实体在创建时设置并且是固定的.参考文献可以随时更改.

使用引用属性,您只能查询直接关系,但是使用父属性,您可以使用.ancestor()过滤器来查找从给定祖先下降的所有内容(直接或间接).

每个实体只有一个父级,但可以有多个引用属性.



2> Alexander Ko..:

实体组(由父属性定义)的唯一目的是在不同实体之间启用事务.如果您不需要事务,请不要使用实体组关系.

我建议你重新阅读文档中的密钥和实体组部分,我花了很多时间来理解这个想法.

除了其他事项,他们还会讨论交易和实体组:

使用Google App Engine构建可扩展的Web应用程序

在Google App Engine数据存储区的封面下

推荐阅读
U友50081205_653
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有