数据驻留概览

本页介绍了 Spanner 的数据驻留。

Spanner 允许您指定存储 Spanner 数据的地理位置(区域),以满足数据驻留合规性和监管要求。

以下定义适用于本页:

数据驻留承诺

Spanner 中的数据驻留承诺因数据库是否使用地理分区而异。

不使用地理分区的数据库

对于不使用地理分区的数据库,Spanner 会根据 Google Cloud 服务条款,在数据库级别提供数据驻留承诺。

使用地理分区的数据库

对于使用地理分区的数据库,Spanner 会在位置级提供数据驻留保证。对于每个展示位置,您可以选择Google Cloud “位置”页面上列出的特定区域或多区域位置。Spanner 仅在您为其选择的区域或多区域内存储您的静态数据,但存在以下限制:

  • 主键、编入索引的列值和外键列值(对于有放置信息的表和无放置信息的表)的一小部分用作分块边界,这些边界可能会存储在默认放置信息中。
  • 用于键可视化工具的键范围、出现高锁争用的键以及查询统计信息的统计信息和可观察性信息存储在默认位置。
  • 用于查询优化的列级统计信息存储在默认位置。

以下行为是设计使然:

  • 展示位置表主键用于路由流量,并且可能会存储在默认展示位置中。如果您有此顾虑,不妨考虑使用 UUID 或不在数据驻留范围内的其他键。
  • 交织索引会从父行继承展示位置。全局索引(包括键和存储值)会放置在默认位置。
  • 外键支持性索引会放置在默认位置。
  • 如果您更改某个行的展示位置键,则数据移动会异步进行。将行移至新位置可能需要数小时。即使数据已可用并从新位置提供,从旧位置删除数据也必须遵循 Google Cloud 数据删除流程

数据驻留加密

默认情况下,Spanner 会对静态客户数据进行加密。Spanner 会为您处理加密,您无需执行任何其他操作。此选项称为 Google 默认加密。默认情况下,Google 会使用与数据所在位置相同的位置的加密密钥。

如果您想要控制加密密钥,则可以将 Cloud KMS客户管理的加密密钥 (CMEK) 与集成 CMEK 的服务(包括 Spanner)搭配使用。使用 CMEK 时,您必须选择与数据所在位置相同的密钥。如需了解详情,请参阅客户管理的加密密钥 (CMEK) 概览