地理分区概览

本页介绍并说明了地理分区在 Spanner 中的工作原理。

Spanner 提供单区域和多区域实例 配置,以便将您的数据 跨地理位置进行分析。借助地理分区,您可以进一步对不同实例配置中数据库表内的行数据进行细分和存储。

优势和用例

地理分区的好处包括:

  • 让您将数据存储在与查询相同的地理位置,从而缩短写入和强一致性读取延迟时间。

  • 优化非对称的全球工作负载(例如,使用 us-central1 分区(包含 10 个节点)和一个包含 2 个节点的 asia-south1 分区 节点)。

以下是一些常见用例:

  • 用户相关数据:对用户相关数据进行地理分区以进行处理 并将数据存储在距离用户最近的区域。

  • 本地化的数据:具体位置的信息,例如路况和特殊情况 事件。

地理位置分区的工作原理

所有 Spanner 实例都有一个主实例分区,该分区是 称为 default 分区。如果不创建额外分区 数据库对象存储在默认分区中,该分区与 作为实例配置的位置。

如果您想对数据库中的数据进行分区,则必须在实例中创建其他分区。用户创建的这些分区有自己的分区 配置(单区域或多区域)和节点数。 像平常一样创建数据库:您的数据库可以 在同一实例中创建的分区。然后, 在数据库中创建与 与分区相关联最后,您可以创建展示位置表格 具有展示位置键属性的广告您必须在 DML 语句中使用放置键来指定行数据位于哪个分区中。如果您在数据库中创建非放置表,Spanner 会将这些数据存储在默认分区中。

如需了解如何使用分区,请参阅创建和管理分区

重要注意事项

在创建分区、展示位置和 展示位置表格:

  • 分区位置:仔细选择对您的应用最有益的分区区域。

    虽然您可以在具有区域级实例的实例中创建分区 我们建议您在具有 多区域实例配置,以使默认分区位置为 多区域配置中

    此外,请选择一个多区域默认分区位置,其中包含读写区域和只读区域,这些区域涵盖应用所需的所有管辖区。然后,创建额外分区(可以是 具有与多区域位置中的区域相匹配的主要区域 默认分区。

  • 分区数:分区过多可能会导致开销,而分区数过多 那么少数产品可能无法提供足够的优势。每个实例最多可以创建 10 个分区。

限制

预览版期间,存在以下限制 发布,并且可能会在正式版发布时或之后更改或移除:

  • 您无法使用双区域配置创建实例分区。
  • 对于每个分区,计算容量必须至少为一个节点 (1000) 处理单元)。
  • 对于给定实例,您不能创建多个实例分区 使用相同的基本实例配置例如,在 test-instance 中,您不能创建两个分区(partition-1partition-2),这两个分区都使用 us-central1 作为分区配置。
  • 对于分区中的每个节点,您最多可以放置 1 亿个放置行。您可以查看 放置在 Google Cloud 控制台“分区”页面上的每个分区中。
  • 对于目标实例分区中的每个节点,Spanner 每秒可以移动大约 10 行放置行。
  • 您无法在免费试用实例或小于一个节点(1,000 个处理单元)的精细化实例中创建分区。
  • 您无法为包含分区的实例创建备份。
  • 您不能将客户管理的加密密钥用于 分区。
  • 您无法在启用了托管式自动扩缩器的实例中创建实例分区。
  • 您无法将分区移至其他实例配置。
  • 您无法移动包含分区的实例。(您可以移动各行 不同的分区,因此无需移动实例。)
  • 使用分区并不能保证符合法规要求。
  • 变更数据流不支持分区数据。
  • 要使用地理分区,您必须创建一个新的空数据库,并将 将 opt_in_dataplacement_preview 选项设为 true。如需了解详情,请参阅创建和管理分区
  • 如果对布置表使用 INSERTDELETE DML 语句, 语句必须是事务中的唯一语句。

使用 IAM 进行访问权限控制

您需要拥有 spanner.instancePartitions.createspanner.instancePartitions.updatespanner.instancePartitions.delete 权限才能创建和管理分区。如果您只需查看分区,则需要拥有 spanner.instancePartitions.listspanner.instancePartitions.get 权限。如需了解详情,请参阅 IAM 概览

如需了解如何授予 Spanner IAM 权限,请参阅应用 IAM 权限

监控

Spanner 提供了多个指标来帮助您监控分区。创建其他分区后,您会在 Google Cloud 控制台的“系统数据分析”页面上看到一个额外的分区下拉式过滤条件。默认选择是显示所有分区的指标。您可以使用下拉菜单过滤特定 。

如需详细了解如何监控 Spanner 资源,请参阅使用 Cloud Monitoring 监控实例

价格

使用地理位置分区不会产生额外费用。您需要支付 计算容量 您的实例使用的存储空间以及数据库的存储空间使用量。

如需了解详情,请参阅 Spanner 价格

后续步骤