本页介绍了如何创建和管理 Spanner 分区。
准备工作
如需使用分区,您必须在空数据库中设置 opt_in_dataplacement_preview
数据库选项:
控制台
前往 Google Cloud 控制台中的实例页面。
选择要添加分区的实例。
选择要对数据进行分区划分的空数据库。
在导航菜单中,点击 Spanner Studio。
在 Spanner Studio 页面中,点击
New tab(新建标签页),或使用空白编辑器标签页。输入以下
ALTER DATABASE
DDL 语句。GoogleSQL
ALTER DATABASE DATABASE_ID SET OPTIONS (opt_in_dataplacement_preview = true);
将 DATABASE_ID 替换为数据库的唯一标识符。
PostgreSQL
ALTER DATABASE DATABASE_ID SET "spanner.opt_in_dataplacement_preview" = TRUE;
将 DATABASE_ID 替换为数据库的唯一标识符。
点击运行。
gcloud
如需设置 opt_in_dataplacement_preview
数据库选项,请使用 gcloud spanner databases ddl update
。
GoogleSQL
gcloud spanner databases ddl update DATABASE_ID \
--instance=INSTANCE_ID \
--ddl="ALTER DATABASE DATABASE_ID SET OPTIONS (opt_in_dataplacement_preview = true);"
替换以下内容:
DATABASE_ID
:Spanner 数据库的永久标识符。INSTANCE_ID
:Spanner 实例的永久标识符。
PostgreSQL
gcloud spanner databases ddl update DATABASE_ID \
--instance=INSTANCE_ID \
--ddl="ALTER DATABASE DATABASE_ID SET "spanner.opt_in_dataplacement_preview" = TRUE"
替换以下内容:
DATABASE_ID
:Spanner 数据库的永久标识符。INSTANCE_ID
:Spanner 实例的永久标识符。
创建分区
控制台
在 Google Cloud 控制台中,打开 Spanner 页面。
选择要添加分区的实例。
在导航菜单中,选择分区。
点击创建分区。
输入分区 ID 以永久标识您的分区。分区 ID 在您的 Google Cloud 项目中也必须是唯一的。分区 ID 创建后便无法更改。
在选择配置部分中,选择单区域或多区域。或者,如果您想比较不同区域的规范,请点击区域。
从下拉菜单中选择一个配置。
在分配计算容量部分,点击“单元”下方的以下任一选项:
- 适用于小型实例分区的处理单元。
- 大型实例的节点数。一个节点等于 1,000 个处理单元。
为所选单位输入值。
您的分区必须至少包含一个节点或 1,000 个处理单元。
点击创建以创建分区。
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
客户端库
C++
如需了解如何安装和使用 Spanner 客户端库,请参阅 Spanner 客户端库。
C#
如需了解如何安装和使用 Spanner 客户端库,请参阅 Spanner 客户端库。
Go
如需了解如何安装和使用 Spanner 客户端库,请参阅 Spanner 客户端库。
Java
如需了解如何安装和使用 Spanner 客户端库,请参阅 Spanner 客户端库。
Node.js
如需了解如何安装和使用 Spanner 客户端库,请参阅 Spanner 客户端库。
PHP
如需了解如何安装和使用 Spanner 客户端库,请参阅 Spanner 客户端库。
Python
如需了解如何安装和使用 Spanner 客户端库,请参阅 Spanner 客户端库。
描述分区
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
列出分区
控制台
在 Google Cloud 控制台中,打开 Spanner 页面。
从列表中选择一个实例。
在导航菜单中,选择分区。
系统会显示与该实例关联的分区列表。
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 页面。
从列表中选择一个实例。
在导航菜单中,选择分区。
在分区列表中,点击操作列下的更多操作,然后选择修改。
选择度量单位(处理单元或节点),然后输入数量,以更改计算容量。使用处理单元时,请以 1000 的倍数(1000、2000、3000 等)输入数量。每个节点等于 1000 个处理单元。
您的分区必须至少包含一个节点(1,000 个处理单元)。
点击保存。
如果系统对话框提示您没有足够的配额来添加计算容量,请按照说明请求更高配额。
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:分区的新计算容量,以处理单元数表示。分区必须至少有 1,000 个处理单元。以 1000 的倍数(1000、2000、3000 等)输入数量。
可选标志:
--async
:如果您希望请求立即返回,而不等待正在进行的操作完成,请使用此标志。
您可以运行 gcloud spanner operations describe
来检查请求的状态。
删除分区
如果分区与任何展示位置或数据相关联,则无法将其删除。您必须先移出分区中的所有数据或删除使用该分区的展示位置表,然后才能删除该分区。
控制台
在 Google Cloud 控制台中,打开 Spanner 页面。
从列表中选择一个实例。
在导航菜单中,选择分区。
在分区列表中,点击“操作”列下的更多操作,然后选择删除。
按照说明操作,确认您要删除分区。
点击删除。
gcloud
使用 gcloud beta spanner instance-partitions delete
命令。
gcloud beta spanner instance-partitions delete PARTITION_ID --instance=INSTANCE_ID
后续步骤
- 了解如何创建和管理展示位置表和键。