创建和管理数据展示位置

本页面介绍了如何在 Spanner 中创建和管理数据展示位置。

如需详细了解地理位置分区的工作原理,请参阅地理位置分区概览

创建数据展示位置

创建 Spanner 分区数据库后,创建展示位置。

控制台

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

    实例

  2. 选择包含用户创建的分区的实例。

  3. 选择要进行数据分区的数据库。

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

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

  6. 输入 CREATE PLACEMENT DDL 语句。

    例如,您可以运行以下命令,在分区 europe-partition 中创建展示位置表 europeplacement

      CREATE PLACEMENT `europeplacement` OPTIONS(instance_partitions="europe-partition");
    

    可选:您还可以使用 Object Explorer 窗格查看、搜索 Placement 对象并与之互动。如需了解详情,请参阅探索数据

  7. 点击运行

gcloud

如需使用 gcloud CLI 命令创建展示位置,请使用 gcloud spanner databases ddl update

例如,在 europe-partition 分区中创建展示位置:

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="CREATE PLACEMENT europeplacement OPTIONS (instance_partition='europe-partition')"

删除数据展示位置

您不能删除展示位置。您必须删除数据库才能删除展示位置及其关联数据。如需了解详情,请参阅删除数据库

创建包含展示位置键的表

控制台

  1. 在导航菜单中,点击 Spanner Studio
  2. Spanner Studio 页面中,点击 打开新的标签页,或使用空的编辑器标签页。
  3. 输入 CREATE TABLE DDL 语句。

    例如,您可以创建一个 Singers 表,该表使用放置键对歌手数据进行分区:

    CREATE TABLE Singers (
      SingerId INT64 NOT NULL,
      Name STRING(MAX) NOT NULL,
      ...
      Location STRING(MAX) NOT NULL PLACEMENT KEY
    ) PRIMARY KEY (SingerId);
    

gcloud

如需创建表,请使用 gcloud spanner databases ddl update

例如,您可以创建一个 Singers 表,该表使用放置键对歌手数据进行分区:

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="CREATE TABLE Singers ( SingerId INT64 NOT NULL, SingerName STRING(MAX) NOT NULL, Location STRING(MAX) NOT NULL PLACEMENT KEY ) PRIMARY KEY (SingerId)"

修改包含展示位置键的表格

您无法从表格中放置展示位置键。创建展示位置键后,您也无法将其添加到表中。但是,您可以使用 ALTER TABLE DDL 语句更改表中的其他字段,例如添加和移除非展示位置键列。

删除包含展示位置键的表

在删除包含展示位置键的表之前,您必须先完成以下操作:

  1. 删除展示位置表中的所有行。
  2. 等待 version_retention_period 以便数据库通过。如需了解详情,请参阅时间点恢复。 然后,请按以下步骤操作:

控制台

  1. 在导航菜单中,点击 Spanner Studio
  2. Spanner Studio 页面中,点击 打开新的标签页,或使用空的编辑器标签页。
  3. 输入 DROP TABLE DDL 语句。

    例如,删除 Singers 表:

    DROP TABLE Singers;
    

gcloud

如需删除表,请使用 gcloud spanner databases ddl update

例如,删除 Singers 表:

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="DROP TABLE Singers"

在展示位置表格中插入行

控制台

  1. 在导航菜单中,点击 Spanner Studio
  2. Spanner Studio 页面中,点击 打开新的标签页,或使用空的编辑器标签页。
  3. 输入 INSERT INTO DDL 语句。

    例如,将歌手 Marc Richards 添加到 Singers 表中,并将其分区到 europeplacement

      INSERT INTO Singers(SingerId, Name, Location)
      VALUES (1, 'Marc Richards', 'europeplacement')
    

gcloud

如需将数据写入表中,请使用 gcloud spanner rows insert

例如,将歌手 Marc Richards 添加到 Singers 表中,并将其分区到 europeplacement

gcloud spanner rows insert --table=Singers --database=example-db \
  --instance=test-instance --data=SingerId=1,SingerName='Marc Richards',Location='europeplacement'

更新展示位置表格中的行

控制台

  1. 在导航菜单中,点击 Spanner Studio
  2. Spanner Studio 页面中,点击 打开新的标签页,或使用空的编辑器标签页。
  3. 使用 DML变更更新布置表中的数据。

    例如,将 Singers 表中 singerid=1 的名称更新为 Catalina Smith

    UPDATE Singers s
    SET s.name='Catalina Smith'
    WHERE s.id=1;
    

gcloud

如需更新展示位置表中的数据,请使用 gcloud spanner rows update

例如,将 Singers 表中 singerid=1 的名称更新为 Catalina Smith

gcloud spanner rows update --table=Singers --database=example-db \
  --instance=test-instance --data=SingerId=1,SingerName='Catalina Smith'

在展示位置表格中移动行

控制台

  1. 创建新的分区和展示位置(如果尚未创建)。
  2. 在导航菜单中,点击 Spanner Studio
  3. Spanner Studio 页面中,点击 打开新的标签页,或使用空的编辑器标签页。
  4. 使用 DML变更将数据移动到新分区。

    例如,将 Singers 表中的 singerid=1 移动到 asiaplacement

    UPDATE Singers s
    SET s.location='asiaplacement'
    WHERE s.id=1;
    

gcloud

创建要迁出数据的分区和位置后,使用 gcloud spanner rows update

例如,将 Singers 表中的 singerid=1 移动到 asiaplacement

gcloud spanner rows update --table=Singers --database=example-db \
  --instance=test-instance --data=SingerId=1,Location='asiaplacement'

删除展示位置表格中的行

控制台

  1. 在导航菜单中,点击 Spanner Studio
  2. Spanner Studio 页面中,点击 打开新的标签页,或使用空的编辑器标签页。
  3. 使用 DML变更删除数据。

    例如,删除 Singers 表中的 singerid=1

    DELETE FROM Singers s
    WHERE s.id=1;
    

gcloud

如需删除数据,请使用 gcloud spanner rows delete

例如,删除 Singers 表中的 singerid=1

gcloud spanner rows delete --table=Singers --database=example-db \
  --instance=test-instance --keys=1

查询展示位置表中的数据

控制台

  1. 在导航菜单中,点击 Spanner Studio
  2. Spanner Studio 页面中,点击 打开新的标签页,或使用空的编辑器标签页。
  3. 运行查询。

    例如,查询 Singers 表:

    SELECT * FROM Singers s WHERE s.SingerId=1;
    

gcloud

如需查询数据,请使用 gcloud spanner databases execute-sql

例如,查询 Singers 表:

gcloud spanner databases execute-sql example-db \
  --sql='SELECT * FROM Singers s WHERE s.SingerId=1'

后续步骤