创建和管理分区

本页面介绍了如何创建和管理 Spanner 分区

准备工作

如需使用分区,您必须设置 opt_in_dataplacement_preview 数据库 选项:

控制台

  1. 前往 Google Cloud 控制台中的实例页面。

    实例

  2. 选择要添加分区的实例。

  3. 选择您要在其中进行数据分区的空数据库。

  4. 在导航菜单中,点击 Spanner Studio

  5. Spanner Studio 页面中,点击 打开新的标签页或使用空白 编辑器标签页。

  6. 输入以下 ALTER DATABASE DDL 语句。

    ALTER DATABASE DATABASE_ID SET OPTIONS (opt_in_dataplacement_preview = true);
    

    DATABASE_ID 替换为您的 数据库。

  7. 点击运行

gcloud

如需设置 opt_in_dataplacement_preview 数据库选项,请使用 gcloud spanner databases ddl update.

gcloud spanner databases ddl update DATABASE_ID \
  --instance=INSTANCE_ID \
  --ddl="ALTER DATABASE db SET OPTIONS (opt_in_dataplacement_preview = true);"

替换以下内容:

  • DATABASE_ID:Spanner 的永久标识符 数据库。
  • INSTANCE_ID:Spanner 的永久标识符 实例。

创建分区

控制台

  1. 在 Google Cloud 控制台中,打开 Spanner 页面。

    转到 Spanner

  2. 选择要添加分区的实例。

  3. 在导航菜单中,选择 Partitions

  4. 点击创建分区

  5. 输入分区 ID 以永久标识您的分区。通过 分区 ID 在您的 Google Cloud 项目中也必须是唯一的。 分区 ID 一经设置便无法更改。

  6. 选择配置部分,选择区域级多区域。 或者,如果您想比较 区域,然后点击比较区域配置

  7. 从下拉菜单中选择配置。

  8. 分配计算容量部分的单元下, 点击下列选项之一:

    • 小型实例分区的处理单元
    • 节点(适用于大型实例)。一个节点是 1,000 个处理单元。
  9. 输入所选单位的值。

    您的分区必须至少包含一个节点或 1,000 个处理单元。

  10. 点击创建以创建分区。

gcloud

如需创建分区,请使用 gcloud beta spanner instance-partitions create

gcloud beta spanner instance-partitions create PARTITION_ID \
  --config=PARTITION_CONFIG \
  --description="PARTITION_DESCRIPTION" \
  --instance=INSTANCE_ID \
  [--nodes=NODE_COUNT | --processing-units=PROCESSING_UNIT_COUNT]

替换以下内容:

  • PARTITION_ID:唯一的永久性分区标识符 Google Cloud 项目中的资源。您无法更改分区 ID 。
  • PARTITION_CONFIG:分区的永久标识符 配置,用于定义分区的地理位置 并影响数据的存储位置。
  • PARTITION_DESCRIPTION:要为分区显示的名称 Google Cloud 控制台中。分区名称在 Google Cloud 项目。
  • INSTANCE_ID:您的 此分区所在的 Spanner 实例。
  • NODE_COUNT:分区的计算容量,表示 节点数量一个节点等于 1,000 个处理单元。
  • PROCESSING_UNIT_COUNT:实例的计算容量。 处理单元数您的分区必须在 至少 1,000 个处理单元。进入 是 1000 的倍数(1000、2000、3000 等)。

例如,如需在 eur3 中创建包含 5 个节点的分区 europe-partition, 运行以下命令:

  gcloud beta spanner instance-partitions create europe-partition --config=eur3 \
    --description="europe-partition" --instance=test-instance --nodes=5

描述分区

gcloud

如需描述分区,请使用 gcloud beta spanner instance-partitions describe.

gcloud beta spanner instance-partitions describe PARTITION_ID \
  --instance=INSTANCE_ID

替换以下内容:

  • PARTITION_ID:分区的永久标识符。
  • INSTANCE_ID:实例的永久性标识符。

例如,如需描述分区 europe-partition, 运行以下命令:

  gcloud beta spanner instance-partitions describe europe-partition
    --instance=test-instance

列出分区

控制台

  1. 在 Google Cloud 控制台中,打开 Spanner 页面。

    转到 Spanner

  2. 从列表中选择一个实例。

  3. 在导航菜单中,选择 Partitions

    系统会显示与该实例关联的分区列表。

gcloud

如需列出您的分区,请使用 gcloud beta spanner instance-partitions list.

gcloud beta spanner instance-partitions list --instance=INSTANCE_ID

gcloud CLI 会输出 Spanner 的列表 以及每个分区的 ID、显示名称、配置和 计算容量

修改分区

以下部分介绍了如何更改 。您无法更改分区 ID、名称或配置。

更改计算容量

您必须预配足够的计算容量 CPU 利用率存储空间利用率低于建议值 上限。有关详情,请参阅以下内容的配额和限制: Spanner。

如果要增加分区的计算容量, Google Cloud 项目必须具有足够的配额才能添加计算 容量。完成增加请求所需的时间取决于 请求的大小在大多数情况下,请求会在几分钟内完成。已开启 在极少数情况下,纵向扩容最长可能需要一个小时才能完成。

控制台

  1. 在 Google Cloud 控制台中,打开 Spanner 页面。

    转到 Spanner

  2. 从列表中选择一个实例。

  3. 在导航菜单中,选择 Partitions

  4. 在分区列表中,点击操作列下的更多 操作,然后选择修改

  5. 通过选择测量单位来更改计算容量 (处理单元或节点),然后输入数量。使用 处理单元数,请输入 1000 的倍数的数量 (1000、2000、3000 等)。每个节点等于 1000 个处理单元。

    您的分区必须至少有一个节点(1000 个处理单元)。

  6. 点击保存

    如果您看到一个对话框,指出配额不足,无法添加计算资源 容量,请按照说明申请更高的配额。

gcloud

如需更改分区的计算容量,请使用 gcloud beta spanner instance-partitions update. 使用此命令时,将计算容量指定为 节点或处理单元的数量。

gcloud beta spanner instance-partitions update PARTITION_ID /
  --instance=INSTANCE_ID /
  [--nodes=NODE_COUNT | --processing-units=PROCESSING_UNIT_COUNT]
  [--async]

替换以下内容:

  • PARTITION_ID:分区的永久标识符。
  • INSTANCE_ID:实例的永久性标识符。
  • NODE_COUNT:分区的新计算容量。 表示为节点的数量。一个节点等于 1,000 个处理单元。
  • PROCESSING_UNIT_COUNT: 处理单元数来表示您的分区 必须至少有 1000 个处理单元。进入 是 1000 的倍数(1000、2000、3000 等)。

可选标志:

  • --async:如果您希望立即返回请求,请使用此标志。 而无需等待正在进行的操作完成。

您可以运行以下命令来查看请求的状态 gcloud spanner operations describe.

删除分区

您无法删除与任何展示位置或数据相关联的分区。 您必须先移动分区中的任何数据或删除 使用该分区的展示位置表,然后才能删除该分区。

控制台

  1. 在 Google Cloud 控制台中,打开 Spanner 页面。

    转到 Spanner

  2. 从列表中选择一个实例。

  3. 在导航菜单中,选择 Partitions

  4. 在分区列表中,点击操作列下的更多 操作,然后选择删除

  5. 按照说明确认您要删除该分区。

  6. 点击删除

gcloud

使用 gcloud beta spanner instance-partitions delete 命令。

gcloud beta spanner instance-partitions delete PARTITION_ID
  --instance=INSTANCE_ID

后续步骤