Google cloud platform 嵌入实体和使用GCP数据存储上祖先路径的实体之间的差异 我无法理解嵌入实体和使用GCP数据存储上的祖先路径的实体之间的区别。

Google cloud platform 嵌入实体和使用GCP数据存储上祖先路径的实体之间的差异 我无法理解嵌入实体和使用GCP数据存储上的祖先路径的实体之间的区别。,google-cloud-platform,google-cloud-datastore,Google Cloud Platform,Google Cloud Datastore,我能理解下面的事情 通过使用祖先路径,它可以管理不同种类的实体,但有每秒写入1次的限制 祖先路径具有很强的一致性 但这些和使用嵌入式实体是一样的 所以我弄不清楚如何恰当地使用嵌入式实体和祖先路径 现在我正在开发一个表单模型,比如谷歌表单 它可以自由添加项,因此我考虑使用嵌入式实体命名项或创建种类命名项,并使用表单类的祖先路径。嵌入式“实体”不是真正的实体,它只是嵌入其中的“容器”实体中的一个属性。来自(我的): 有时,您可能会发现将一个实体嵌入为 另一实体的属性 对于该“容器”实体,您仍然

我能理解下面的事情

  • 通过使用祖先路径,它可以管理不同种类的实体,但有每秒写入1次的限制
  • 祖先路径具有很强的一致性
但这些和使用嵌入式实体是一样的

所以我弄不清楚如何恰当地使用嵌入式实体和祖先路径


现在我正在开发一个表单模型,比如谷歌表单

它可以自由添加项,因此我考虑使用嵌入式实体命名项或创建种类命名项,并使用表单类的祖先路径。

嵌入式“实体”不是真正的实体,它只是嵌入其中的“容器”实体中的一个属性。来自(我的):

有时,您可能会发现将一个实体嵌入为 另一实体的属性

对于该“容器”实体,您仍然有1次写入/秒的限制。你不能只更新嵌入的“实体”,你必须更新整个“容器”实体

嵌入的实体可能看起来非常一致,但仅在它与“容器”实体中的其他数据一致的意义上(这里没有什么特别的,实体中的任何属性也是如此)。当使用它的值进行查询时,它最终仍然是一致的。您不能在事务内部进行此类查询

另一方面,被祖先联系在一起的实体是真实的、不同的实体,它们都被放置在同一实体群中。整个实体组受每秒1次写入的限制。祖先查询的作用域仅限于各自的实体组,并且非常一致,可以在事务内部完成

如果您所追求的是强一致性,那么您必须使用数据存储祖先将各个实体联系在一起

否则,您可以使用嵌入实体或其他类型的简单实体,并使用键属性建立实体之间的关系。另请参见

嵌入的“实体”不是真实的实体,它只是嵌入其中的“容器”实体中的一个属性。来自(我的):

有时,您可能会发现将一个实体嵌入为 另一实体的属性

对于该“容器”实体,您仍然有1次写入/秒的限制。你不能只更新嵌入的“实体”,你必须更新整个“容器”实体

嵌入的实体可能看起来非常一致,但仅在它与“容器”实体中的其他数据一致的意义上(这里没有什么特别的,实体中的任何属性也是如此)。当使用它的值进行查询时,它最终仍然是一致的。您不能在事务内部进行此类查询

另一方面,被祖先联系在一起的实体是真实的、不同的实体,它们都被放置在同一实体群中。整个实体组受每秒1次写入的限制。祖先查询的作用域仅限于各自的实体组,并且非常一致,可以在事务内部完成

如果您所追求的是强一致性,那么您必须使用数据存储祖先将各个实体联系在一起

否则,您可以使用嵌入实体或其他类型的简单实体,并使用键属性建立实体之间的关系。另见