创建和管理位置组

本页介绍了如何创建和管理 Spanner 位置组。您可以使用位置组为数据库架构中的数据定义分层存储空间政策。如需了解分层存储的运作方式,请参阅分层存储。

创建存储位置组

您可以创建不包含任何分层存储空间政策的位置组,也可以创建位置组来定义数据库架构中数据的存储空间政策。

如果您创建的位置组没有分层存储空间政策,则该位置组会继承 default 位置组的分层存储空间政策。如果您尚未手动设置 default 位置组的存储空间政策,则存储空间政策会设置为仅限 SSD。

控制台

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

    实例

  2. 选择要使用分层存储空间的实例。

  3. 选择要使用分层存储空间的数据库。

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

  5. 在 Spanner Studio 页面上,点击 新标签页或使用空白编辑器标签页。

  6. 使用 GoogleSQL 或 PostgreSQL 输入 CREATE LOCALITY GROUP DDL 语句。

    例如,您可以运行以下命令来创建一个位置组 separate_storage,以便将列存储在与其他列数据不同的文件中:

    GoogleSQL

    CREATE LOCALITY GROUP separate_storage;
    

    PostgreSQL

    CREATE LOCALITY GROUP separate_storage;
    

    例如,您可以运行以下命令来创建一个将数据存储在 SSD 存储空间中的位置组 ssd_only:

    GoogleSQL

    CREATE LOCALITY GROUP ssd_only OPTIONS (storage='ssd');
    

    PostgreSQL

    CREATE LOCALITY GROUP ssd_only STORAGE 'ssd';
    

    例如,您可以运行以下命令来创建一个将数据存储在 HDD 存储空间中的 hdd_only 位置组:

    GoogleSQL

    CREATE LOCALITY GROUP hdd_only OPTIONS (storage='hdd');
    

    PostgreSQL

    CREATE LOCALITY GROUP hdd_only STORAGE 'hdd';
    
  7. 点击运行。

gcloud

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

例如,您可以运行以下命令来创建一个位置组 separate_storage,以便将列存储在与其他列数据不同的文件中:

GoogleSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="CREATE LOCALITY GROUP separate_storage"

PostgreSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="CREATE LOCALITY GROUP separate_storage"

例如,您可以运行以下命令来创建一个将数据存储在 SSD 上的位置组 ssd_only:

GoogleSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="CREATE LOCALITY GROUP ssd_only OPTIONS (storage='ssd')"

PostgreSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="CREATE LOCALITY GROUP ssd_only STORAGE 'ssd'"

例如,您可以运行以下命令来创建一个将数据存储在 HDD 存储空间中的 hdd_only 位置组:

GoogleSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="CREATE LOCALITY GROUP hdd_only OPTIONS (storage='hdd')"

PostgreSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="CREATE LOCALITY GROUP hdd_only STORAGE 'hdd'"

为位置组创建基于存储时长的政策

具有基于存在时间的政策的位置组会将较新的数据存储在 SSD 存储空间中,并在指定时间内保留这些数据。此时间是相对于数据的提交时间戳而言的。在指定时间过去后,Spanner 会在正常压缩周期内将数据迁移到 HDD 存储空间,该周期通常在指定时间后的 7 天内发生。使用基于存在时长的分层存储政策时,数据必须在 SSD 中存储的最短时间(在将其移至 HDD 存储空间之前)为 1 小时。

如需创建基于存储时长的位置组,请使用 CREATE LOCALITY GROUP DDL 语句。

控制台

  1. 在 Spanner Studio 页面上,点击 新标签页或使用空白编辑器标签页。
  2. 使用 GoogleSQL 或 PostgreSQL 输入 CREATE LOCALITY GROUP DDL 语句。

    例如,以下 DDL 语句会创建一个位置组 spill_to_hdd,该组会在前 10 天将数据存储在 SSD 存储空间中,然后在正常压缩周期内将较旧的数据迁移到 HDD 存储空间:

    GoogleSQL

    CREATE LOCALITY GROUP spill_to_hdd
    OPTIONS (storage = 'ssd', ssd_to_hdd_spill_timespan = '10d');
    

    PostgreSQL

    CREATE LOCALITY GROUP spill_to_hdd
    STORAGE 'ssd' SSD_TO_HDD_SPILL_TIMESPAN '10d';
    
  3. 点击运行。

gcloud

如需使用 gcloud CLI 命令创建基于存储时长的位置组,请使用 gcloud spanner databases ddl update。

例如,以下 DDL 语句会创建一个位置组 spill_to_hdd,该组会在前 10 天将数据存储在 SSD 中,然后在正常压缩周期内将较旧的数据迁移到 HDD。

GoogleSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="CREATE LOCALITY GROUP spill_to_hdd OPTIONS (storage='ssd', ssd_to_hdd_spill_timespan='10d')"

PostgreSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="CREATE LOCALITY GROUP spill_to_hdd STORAGE 'ssd' SSD_TO_HDD_SPILL_TIMESPAN '10d'"

为数据设置分层存储空间政策

创建位置组后,您可以为数据设置分层存储空间政策。分层存储空间政策决定了数据使用的位置组。您可以在数据库、表、列或二级索引级别设置分层存储空间政策。除非明确替换,否则每个数据库对象都会从其父级继承分层存储空间政策。

如果您创建的位置组没有分层存储空间政策,则该位置组会继承 default 位置组的分层存储空间政策。如果您尚未手动设置 default 位置组的存储空间政策,则存储空间政策会设置为仅限 SSD。

设置数据库级位置组

默认的分层存储空间政策是将所有数据存储在 SSD 存储空间中。您可以通过更改 default 位置组来更改数据库级分层存储空间政策。对于 GoogleSQL 方言数据库,您的 ALTER LOCALITY GROUP DDL 语句必须在反引号 (`default`) 内包含 default。您只需为 default 位置组添加反引号。

控制台

  1. 在 Spanner Studio 页面上,点击 新标签页或使用空白编辑器标签页。
  2. 使用 GoogleSQL 或 PostgreSQL 输入 ALTER LOCALITY GROUP DDL 语句。

    例如,以下 DDL 语句会更改 default 位置组以使用基于存储时长的存储空间分层政策。数据库中的所有数据会在 10 天后移至 HDD 存储空间。

    GoogleSQL

    ALTER LOCALITY GROUP `default` SET OPTIONS (storage = 'ssd', ssd_to_hdd_spill_timespan = '10d');
    

    PostgreSQL

    ALTER LOCALITY GROUP "default" STORAGE 'ssd' SSD_TO_HDD_SPILL_TIMESPAN '10d';
    
  3. 点击运行。

gcloud

如需使用 gcloud CLI 命令更改 default 位置组的分层存储空间政策,请使用 gcloud spanner databases ddl update。

例如,以下 DDL 语句会更改 default 位置组以使用基于存储时长的存储空间分层政策。数据库中的所有数据在 10 天后会移至 HDD 存储空间。

GoogleSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="ALTER LOCALITY GROUP \`default\` SET OPTIONS (storage = 'ssd', ssd_to_hdd_spill_timespan = '10d');"

PostgreSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="ALTER LOCALITY GROUP \"default\" STORAGE 'ssd' SSD_TO_HDD_SPILL_TIMESPAN '10d';"

设置表级位置组

您可以为数据设置表级分层存储空间政策,以替换数据库级分层存储空间政策。除非您设置了列级替换分层存储空间政策,否则表级分层存储空间政策也适用于表中的所有列。

控制台

  1. 在 Spanner Studio 页面上,点击 新标签页或使用空白编辑器标签页。
  2. 使用 GoogleSQL 或 PostgreSQL 输入 CREATE TABLE DDL 语句。

    例如,以下 DDL 语句会创建一个使用位置组 ssd_only 的表 Singers:

    GoogleSQL

    CREATE TABLE Singers (
      SingerId   INT64 NOT NULL,
      FirstName  STRING(1024),
      LastName   STRING(1024),
      SingerInfo BYTES(MAX)
    ) PRIMARY KEY (SingerId), OPTIONS (locality_group = 'ssd_only');
    

    PostgreSQL

    CREATE TABLE Singers (
      SingerId   bigint PRIMARY KEY,
      FirstName  varchar(1024),
      LastName   varchar(1024),
      SingerInfo bytea
    ) LOCALITY GROUP ssd_only;
    
  3. 点击运行。

gcloud

如需使用 gcloud CLI 命令设置表级分层存储空间政策,请使用 gcloud spanner databases ddl update。

例如,以下 DDL 语句会创建一个使用位置组 ssd_only 的表 Singers。

GoogleSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="CREATE TABLE Singers ( SingerId   INT64 NOT NULL, \
        FirstName  STRING(1024), \
        LastName   STRING(1024), \
        SingerInfo BYTES(MAX) \
        ) PRIMARY KEY (SingerId), OPTIONS (locality_group = 'ssd_only');"

PostgreSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="CREATE TABLE Singers ( \
        SingerId bigint PRIMARY KEY, \
        FirstName  varchar(1024), \
        LastName   varchar(1024), \
        SingerInfo bytea \
        ) LOCALITY GROUP ssd_only;"

设置列级替换分层存储空间政策

您可以为数据设置列级别的替换分层存储空间政策。

控制台

  1. 在 Spanner Studio 页面上,点击 新标签页或使用空白编辑器标签页。
  2. 使用 GoogleSQL 或 PostgreSQL 输入带有列级替换分层存储空间政策的 CREATE TABLE DDL 语句。

    例如,以下 DDL 语句会创建一个使用位置组 ssd_only 的 Singers 表。不过,Awards 列会替换此表级位置组,并使用 spill_to_hdd 位置组作为分层存储空间政策:

    GoogleSQL

    CREATE TABLE Singers (
      SingerId   INT64 NOT NULL,
      FirstName  STRING(1024),
      LastName   STRING(1024),
      Awards     ARRAY<STRING(MAX)> OPTIONS (locality_group = 'spill_to_hdd')
    ) PRIMARY KEY (SingerId), OPTIONS (locality_group = 'ssd_only');
    

    PostgreSQL

    CREATE TABLE Singers (
      SingerId   bigint PRIMARY KEY,
      FirstName  varchar(1024),
      LastName   varchar(1024),
      Awards     varchar[] LOCALITY GROUP spill_to_hdd
    ) LOCALITY GROUP ssd_only;
    
  3. 点击运行。

gcloud

如需使用 gcloud CLI 命令设置列级替换分层存储空间政策,请使用 gcloud spanner databases ddl update。

例如,以下 DDL 语句会创建一个使用位置组 ssd_only 的 Singers 表。不过,Awards 列会替换此表级分层存储空间政策,并使用 spill_to_hdd 位置组作为其分层存储空间政策:

GoogleSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="CREATE TABLE Singers ( \
      SingerId   INT64 NOT NULL, \
      FirstName  STRING(1024), \
      LastName   STRING(1024), \
      Awards     ARRAY<STRING(MAX)> OPTIONS (locality_group = 'spill_to_hdd') \
    ) PRIMARY KEY (SingerId), OPTIONS (locality_group = 'ssd_only');" \

PostgreSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="CREATE TABLE Singers ( \
      SingerId   bigint PRIMARY KEY, \
      FirstName  varchar(1024), \
      LastName   varchar(1024), \
      Awards     varchar[] LOCALITY GROUP spill_to_hdd \
    ) LOCALITY GROUP ssd_only;"

设置二级索引级替换分层存储空间政策

您可以为数据设置二级索引级别的替换分层存储空间政策。

控制台

  1. 在 Spanner Studio 页面上,点击 新标签页或使用空白编辑器标签页。
  2. 使用 GoogleSQL 或 PostgreSQL,输入带有二级索引级别替换分层存储空间政策的 CREATE INDEX DDL 语句。

    例如,以下 DDL 语句会创建一个使用位置组 ssd_only 的 Singers 表。数据库还会按名字和姓氏为数据库中的所有 Singers 创建二级索引。SingersByFirstLastName 索引会替换表级分层存储空间政策,并使用 spill_to_hdd 位置组作为其分层存储空间政策:

    GoogleSQL

    CREATE INDEX SingersByFirstLastName ON Singers(FirstName, LastName)
    OPTIONS (locality_group = 'spill_to_hdd');
    

    PostgreSQL

    CREATE INDEX SingersByFirstLastName ON Singers(FirstName, LastName)
    LOCALITY GROUP spill_to_hdd;
    
  3. 点击运行。

gcloud

如需使用 gcloud CLI 命令设置二级索引级别的替换分层存储空间政策,请使用 gcloud spanner databases ddl update。

例如,以下 DDL 语句会创建一个使用位置组 ssd_only 的 Singers 表。数据库还会按名字和姓氏为数据库中的所有 Singers 创建二级索引。SingersByFirstLastName 索引会替换表级分层存储空间政策,并使用 spill_to_hdd 位置组作为其分层存储空间政策:

GoogleSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="CREATE INDEX SingersByFirstLastName ON Singers(FirstName, LastName) \
    OPTIONS (locality_group = 'spill_to_hdd');"

PostgreSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="CREATE INDEX SingersByFirstLastName ON Singers(FirstName, LastName) \
    LOCALITY GROUP spill_to_hdd;"

设置列级位置组

您可以为数据设置列级别的位置组,即使该位置组没有分层存储空间政策也是如此。从此列读取数据比读取与其他列分组的数据更快。

控制台

  1. 在 Spanner Studio 页面上,点击 新标签页或使用空白编辑器标签页。
  2. 输入 CREATE TABLE DDL 语句,该语句会使用 GoogleSQL 或 PostgreSQL 将列分配到一个位置组。

    例如,以下 DDL 语句会创建一个 Songs 表,其中包含一个在 hdd_only 位置组中单独存储的 LyricsCompressed 列:

    GoogleSQL

    CREATE TABLE Songs (
      SingerId INT64 NOT NULL,
      SongId INT64 NOT NULL,
      Title STRING(MAX),
      Description STRING(MAX),
      LyricsCompressed BYTES(MAX) OPTIONS (locality_group = 'hdd_only')
    ) PRIMARY KEY (SingerId, SongId),
      INTERLEAVE IN PARENT Singers ON DELETE CASCADE,
      OPTIONS (locality_group = 'ssd_only');
    

    PostgreSQL

    CREATE TABLE Songs (
      SingerId BIGINT NOT NULL,
      SongId BIGINT NOT NULL,
      Title VARCHAR,
      Description TEXT,
      LyricsCompressed BYTEA LOCALITY GROUP hdd_only,
      PRIMARY KEY (SingerId, SongId)
    ) LOCALITY GROUP ssd_only INTERLEAVE IN PARENT Singers ON DELETE CASCADE;
    
  3. 点击运行。

gcloud

如需使用 gcloud CLI 命令为数据设置列级别的位置组,请使用 gcloud spanner databases ddl update。

例如,以下 DDL 语句会创建一个 Songs 表,其中包含一个在 hdd_only 位置组中单独存储的 LyricsCompressed 列:

GoogleSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="CREATE TABLE Songs ( \
      SingerId INT64 NOT NULL, \
      SongId INT64 NOT NULL, \
      Title STRING(MAX), \
      Description STRING(MAX),
      LyricsCompressed BYTES(MAX) OPTIONS (locality_group = 'hdd_only') \
    ) PRIMARY KEY (SingerId, SongId), \
      INTERLEAVE IN PARENT Singers ON DELETE CASCADE, \
      OPTIONS (locality_group = 'ssd_only');"

PostgreSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="CREATE TABLE Songs ( \
      SingerId BIGINT NOT NULL, \
      SongId BIGINT NOT NULL, \
      Title VARCHAR, \
      Description TEXT, \
      LyricsCompressed BYTEA LOCALITY GROUP hdd_only, \
      PRIMARY KEY (SingerId, SongId) \
    ) LOCALITY GROUP ssd_only INTERLEAVE IN PARENT Singers ON DELETE CASCADE;

在存储空间选项之间移动数据

您可以在 SSD 存储空间和 HDD 存储空间之间移动数据。数据迁移最多可能需要 7 天。您可以通过查询内置的 SPANNER_SYS.TABLE_SIZES_STATS_1HOUR 表来监控迁移进度,以检查数据库中每个表的 HDD 和 SSD 存储空间用量。您还可以使用 Cloud Monitoring spanner.googleapis.com/instance/storage/used_bytes 指标来监控存储空间用量,以显示数据库或实例的 SSD 和 HDD 细分数据。如需了解详情,请参阅分层存储可观测性。

将数据从 SSD 移动到 HDD 存储空间

如需将数据从 SSD 移动到 HDD 存储空间,您可以使用基于存储时长的分层存储空间政策创建新的位置组,也可以更改现有位置组的分层存储空间政策。Spanner 会在正常压缩周期内移动数据,该周期通常持续 7 天。如果您使用以下 ALTER DDL 语句之一加载数据并更新存放区域组,则必须等待最多 7 天,以便完成对存放区域组的更改:

GoogleSQL

  • ALTER TABLE ... SET OPTIONS (locality_group = '')
  • ALTER TABLE ... ALTER COLUMN ... SET OPTIONS (locality_group = '')
  • ALTER INDEX ... SET OPTIONS (locality_group = '')

PostgreSQL

  • ALTER TABLE ... SET LOCALITY GROUP ...
  • ALTER TABLE ... ALTER COLUMN ... SET LOCALITY GROUP ...
  • ALTER INDEX ... SET LOCALITY GROUP ...

如果您要创建新表、列或索引,并在 CREATE 或 ADD COLUMN 语法中添加存放区域组,则等候期不适用。

如需了解详情,请参阅为存放区域组创建基于存在时长的政策或更改存储空间选项。

将数据从 HDD 移动到 SSD 存储空间

如需将数据从 HDD 移动到 SSD 存储空间,您可以更改现有位置组的存储选项,或更改表所用的位置组。Spanner 会在正常压缩周期内移动数据,该周期通常持续 7 天。如果您使用以下 ALTER DDL 语句之一加载数据并更新存放区域组,则必须等待最多 7 天,以便完成对存放区域组的更改:

GoogleSQL

  • ALTER TABLE ... SET OPTIONS (locality_group = '')
  • ALTER TABLE ... ALTER COLUMN ... SET OPTIONS (locality_group = '')
  • ALTER INDEX ... SET OPTIONS (locality_group = '')

PostgreSQL

  • ALTER TABLE ... SET LOCALITY GROUP ...
  • ALTER TABLE ... ALTER COLUMN ... SET LOCALITY GROUP ...
  • ALTER INDEX ... SET LOCALITY GROUP ...

如果您要创建新表、列或索引,并在 CREATE 或 ADD COLUMN 语法中添加存放区域组,则等候期不适用。

更改表所使用的位置组

您可以在表选项中设置新的或不同的位置组,从而更改表所使用的位置组。

控制台

  1. 在 Spanner Studio 页面上,点击 新标签页或使用空白编辑器标签页。
  2. 使用 GoogleSQL 或 PostgreSQL 输入 ALTER TABLE DDL 语句,以更改表所用的位置组。

    例如,以下 DDL 语句会将表 Singers 使用的位置组更改为 spill_to_hdd:

    GoogleSQL

    ALTER TABLE Singers SET OPTIONS (locality_group = 'spill_to_hdd');
    

    PostgreSQL

    ALTER TABLE Singers SET LOCALITY GROUP spill_to_hdd;
    
  3. 点击运行。

gcloud

如需使用 gcloud CLI 命令更改表所使用的位置组,请使用 gcloud spanner databases ddl update。

例如,以下 DDL 语句会将表 Singers 使用的位置组更改为 spill_to_hdd:

GoogleSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="ALTER TABLE Singers SET OPTIONS(locality_group = 'spill_to_hdd');"

PostgreSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="ALTER TABLE Singers SET LOCALITY GROUP spill_to_hdd;"

更改表列所用的位置组

您可以通过在列选项中设置位置组来更改表列所使用的位置组。

控制台

  1. 在 Spanner Studio 页面上,点击 新标签页或使用空白编辑器标签页。
  2. 使用 GoogleSQL 或 PostgreSQL 输入 ALTER TABLE DDL 语句,以更改表所用的位置组。

    例如,以下 DDL 语句会将表的列 LastName 使用的位置组更改为 spill_to_hdd:

    GoogleSQL

    ALTER TABLE Singers
    ALTER COLUMN LastName SET OPTIONS(locality_group = 'spill_to_hdd');
    

    PostgreSQL

    ALTER TABLE Singers
    ALTER COLUMN LastName SET LOCALITY GROUP spill_to_hdd;
    
  3. 点击运行。

gcloud

如需使用 gcloud CLI 命令更改表所使用的位置组,请使用 gcloud spanner databases ddl update。

例如,以下 DDL 语句会将表的列 LastName 使用的位置组更改为 spill_to_hdd:

GoogleSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="ALTER TABLE Singers ALTER COLUMN LastName SET OPTIONS(locality_group = 'spill_to_hdd');"

PostgreSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="ALTER TABLE Singers ALTER COLUMN SET LOCALITY GROUP spill_to_hdd;"

更改位置组

您可以通过更改其存储选项或更改其基于存储时长的政策来更改位置组。 Spanner 会在正常压缩周期内移动数据,该周期通常持续 7 天。如果您使用 ALTER LOCALITY GROUP 加载数据并更新存放区域组,则必须等待最多 7 天,以便迁移现有数据。更新后的设置会立即应用于向相应存放区域组写入的所有新数据。

更改存储空间选项

您可以将某个位置组的存储空间选项从 SSD 更改为 HDD,或者从 HDD 更改为 SSD。

控制台

  1. 在 Spanner Studio 页面上,点击 新标签页或使用空白编辑器标签页。
  2. 使用 GoogleSQL 或 PostgreSQL 输入 ALTER LOCALITY GROUP DDL 语句。

    例如,以下 DDL 语句会将 separate_storage 的存储选项更改为 HDD:

    GoogleSQL

    ALTER LOCALITY GROUP separate_storage SET OPTIONS (storage='hdd');
    

    PostgreSQL

    ALTER LOCALITY GROUP separate_storage STORAGE 'hdd';
    
  3. 点击运行。

gcloud

如需使用 gcloud CLI 命令更改位置组的存储选项,请使用 gcloud spanner databases ddl update。

例如,以下 DDL 语句会将 separate_storage 的存储选项更改为 HDD:

GoogleSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="ALTER LOCALITY GROUP separate_storage SET OPTIONS (storage = 'hdd');"

PostgreSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="ALTER LOCALITY GROUP separate_storage STORAGE 'hdd';"

更改基于存储时长的政策

您可以通过延长或缩短数据在 SSD 中存储的时间(在数据被移至 HDD 存储空间之前)来更改位置组的基于存储时长的政策。

控制台

  1. 在 Spanner Studio 页面上,点击 新标签页或使用空白编辑器标签页。
  2. 使用 GoogleSQL 或 PostgreSQL 输入 ALTER LOCALITY GROUP DDL 语句。

    例如,以下 DDL 语句会更改位置组 spill_to_hdd 的基于存储时长的政策,将数据在 SSD 中存储的时间延长至 20 天:

    GoogleSQL

    ALTER LOCALITY GROUP spill_to_hdd SET OPTIONS (ssd_to_hdd_spill_timespan = '20d');
    

    PostgreSQL

    ALTER LOCALITY GROUP spill_to_hdd SSD_TO_HDD_SPILL_TIMESPAN '20d';
    
  3. 点击运行。

gcloud

如需使用 gcloud CLI 命令更改位置组的基于存储时长的政策,请使用 gcloud spanner databases ddl update。

例如,以下 DDL 语句会更改位置组 spill_to_hdd 的基于存储时长的政策,将数据在 SSD 中存储的时间延长至 20 天:

GoogleSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="ALTER LOCALITY GROUP spill_to_hdd SET OPTIONS (ssd_to_hdd_spill_timespan = '20d');"

PostgreSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="ALTER LOCALITY GROUP spill_to_hdd SSD_TO_HDD_SPILL_TIMESPAN '20d';"

删除位置组

如果某个位置组包含数据,则无法将其删除。您必须先将该级别组中的所有数据移至其他级别组。如需了解详情,请参阅更改表所用的位置组。

控制台

  1. 在 Spanner Studio 页面上,点击 新标签页或使用空白编辑器标签页。
  2. 使用 GoogleSQL 或 PostgreSQL 输入 DROP LOCALITY GROUP DDL 语句。

    例如,您可以运行以下命令以删除位置组 ssd_only:

    GoogleSQL

    DROP LOCALITY GROUP ssd_only;
    

    PostgreSQL

    DROP LOCALITY GROUP ssd_only;
    
  3. 点击运行。

gcloud

如需使用 gcloud CLI 命令删除位置组,请使用 gcloud spanner databases ddl update。

例如,如要删除 ssd_only 位置组,请运行以下命令:

GoogleSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="DROP LOCALITY GROUP ssd_only"

PostgreSQL

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="DROP LOCALITY GROUP ssd_only"

后续步骤