database - 如何控制记录在 Google Cloud Spanner 中转到哪个分片/拆分?

标签 database google-cloud-platform google-cloud-spanner

将新记录添加到 Cloud Spanner 表时,如何确定该行将转到哪个分片/拆分? 这在添加具有外键值的记录时尤其重要,我想确保它与它引用的父行位于同一位置。

最佳答案

你不能。 Google Cloud Spanner 在后台为您完成所有这些工作。

Cloud Spanner 称它们为“交错”,而不是外键。当使用外键将新记录插入到表中时,Spanner 将尽最大努力确保新记录与其 Interleave 父记录位于同一个 Split 中。有些极端情况不会发生这种情况,但 Spanner 会不断地重新组织其拆分,因此即使新记录与其交错父记录不在同一个拆分中,它最终也会发生。 从这种定期重组的拆分中还可以推断,即使您可以决定父记录及其所有子记录位于哪个拆分中,Spanner 也可能随时决定它们最好存在于完全不同的拆分中。

关于database - 如何控制记录在 Google Cloud Spanner 中转到哪个分片/拆分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48178576/

相关文章:

google-app-engine - GCP 中的身份感知代理 (IAP)

ssl - GCP Dataproc - 无法构建 kafka 消费者,无法加载 JKS 类型的 SSL keystore dataproc.jks

google-app-engine - 尝试创建 Google 管理的虚拟机时出现超时错误

java - 如何从 Google Spanner 中的突变中获取适当的数据类型值?

mysql - 从单个表中的不同行选择不同的值

database - 为数据库应用程序留下审计跟踪/更改历史记录的有效策略?

database - log4net:如何在数据库中存储数据

database - 如何更改安装 postgis 的位置?后置数据库

google-cloud-platform - 有什么办法可以删除 Google Cloud Spanner 中超过 20k 的突变吗?