我想听听您对有效实现与 Python NDB 的一对多关系的看法。(例如人(一个)到任务(许多))
在我的理解中,有三种方式来实现它。
- 使用“父”参数
- 使用“重复”结构化属性
- 使用“重复”键属性
我通常根据以下逻辑选择一种方式,但这对您有意义吗?如果你有更好的逻辑,请教我。
使用“父”参数
- 这些实体之间需要进行交易操作
- 这些实体之间需要双向引用
- 强烈打算“亲子”关系
使用“重复”结构化属性
- 不需要单独使用“许多”实体(始终与“一个”实体一起使用)
- “许多”实体仅由“一个”实体引用
- “重复”的次数少于 100
使用“重复”键属性
- 需要单独使用“许多”实体
- “许多”实体可以被其他实体引用
- “重复”次数超过 100
No.2 增加了实体的大小,但我们可以节省数据存储操作。(我们需要使用投影查询来减少反序列化的 CPU 时间)。因此,我尽可能多地使用这种方式。
我真的很感激你的意见。