本页面介绍了 Spanner 的数据驻留。
Spanner 可让您指定存储 Spanner 数据的地理位置(区域),以满足数据驻留合规性和监管要求。
以下定义适用于本页面:
位置是指Google Cloud 位置页面上列出的 Google Cloud 区域或多区域位置。
“您的数据”一词的含义等同于 Google Cloud通用服务条款中“数据位置”项下的“客户数据”一词的含义。
数据驻留承诺
对于不使用地理分区的数据库和使用地理分区的数据库,Spanner 中的数据驻留承诺有所不同。
不使用地理分区的数据库
对于不使用地理分区的数据库,Spanner 会根据Google Cloud 服务条款在数据库级提供数据驻留承诺。
使用地理分区的数据库
对于使用地理分区的数据库,Spanner 在布置级提供数据驻留承诺。对于每个布置,您可以选择Google Cloud 位置页面上列出的特定区域或多区域位置。Spanner 仅在所选的区域或多区域位置中存储静态数据,但存在以下限制:
- 一小部分主键、已编入索引的列值和外键列值(适用于布置和非放置表)用作分块边界,这些边界可能会存储在布置中。
- 用于键可视化工具的键范围的统计信息和可观测性信息、遇到严重锁争用的键以及查询统计信息存储在默认布置中。
- 用于查询优化的列级统计信息存储在默认布置中。
以下是设计的预期行为:
- 布置表主键用于路由流量,可能会存储在默认布置中。如果您对此有疑虑,请考虑使用 UUID 或其他不在数据驻留范围内的键。
- 交织索引会从父行继承布置。全局索引(包括键和存储值)放置在默认布置中。
- 外键支持性索引放置在默认布置中。
- 如果您更改某行的布置键,数据迁移会异步进行。将行迁移至新位置可能需要数小时。即使数据已在新位置可用并从该位置提供,从旧位置删除数据仍需遵循Google Cloud 数据删除流程。
数据驻留加密
默认情况下,Spanner 会对静态客户数据进行加密。Spanner 会为您处理加密,您无需执行任何其他操作。此选项称为 Google 默认加密。 默认情况下,Google 使用的加密密钥与您的数据位于同一位置。
如果您想要控制加密密钥,则可以将 Cloud KMS 中客户管理的加密密钥 (CMEK) 与集成 CMEK 的服务(包括 Spanner)搭配使用。使用 CMEK 时,您必须选择与数据位于同一位置的密钥。如需了解详情,请参阅客户管理的加密密钥 (CMEK) 概览。