【发布时间】:2018-06-19 02:25:45
【问题描述】:
向 Cloud Spanner 表添加新记录时,我如何确定该行将进入哪个分片/拆分? 这在添加具有外键值的记录时尤其重要,我想确保它与它引用的父行位于同一位置。
【问题讨论】:
标签: database google-cloud-platform google-cloud-spanner
向 Cloud Spanner 表添加新记录时,我如何确定该行将进入哪个分片/拆分? 这在添加具有外键值的记录时尤其重要,我想确保它与它引用的父行位于同一位置。
【问题讨论】:
标签: database google-cloud-platform google-cloud-spanner
你不能。 Google Cloud Spanner 会在后台为您完成所有这些工作。
Cloud Spanner 将它们称为“交错”,而不是外键。当使用外键向表中插入新记录时,Spanner 将尽最大努力确保新记录与其 Interleave 父记录位于同一拆分中。有些极端情况不会发生这种情况,但 Spanner 会不断地重新组织其拆分,因此即使新记录与其 Interleave 父记录不在同一个拆分中,它最终也会。 通过这种定期重组拆分还可以推断,即使您可以决定父记录及其所有子记录所在的拆分,Spanner 也可能随时决定它们最好存在于完全不同的拆分中。
【讨论】: