ローカリティ グループの作成と管理

このページでは、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 日間にわたって行われます。エージベースの階層型ストレージ ポリシーを使用する場合、データが HDD ストレージに移動される前に SSD に保存される必要のある最小時間は 1 時間です。

エージベースのローカリティ グループを作成するには、CREATE LOCALITY GROUP DDL ステートメントを使用します。

コンソール

  1. [Spanner Studio] ページで、[ 新しいタブ] をクリックするか、空のエディタタブを使用します。
  2. GoogleSQL または PostgreSQL を使用して CREATE LOCALITY GROUP DDL ステートメントを入力します。

    たとえば、次の DDL ステートメントは、最初の 10 日間は SSD ストレージにデータを保存し、その後は通常の圧縮サイクルで古いデータを HDD ストレージに移行するローカリティ グループ spill_to_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 ステートメントは、最初の 10 日間は SSD にデータを保存し、その後は通常の圧縮サイクルで古いデータを HDD に移行するローカリティ グループ spill_to_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. GoogleSQL または PostgreSQL を使用して、列をローカリティ グループに割り当てる CREATE TABLE DDL ステートメントを入力します。

    たとえば、次の DDL ステートメントは、hdd_only ローカリティ グループに個別に保存される LyricsCompressed 列を持つ Songs テーブルを作成します。

    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 ステートメントは、hdd_only ローカリティ グループに個別に保存される LyricsCompressed 列を持つ Songs テーブルを作成します。

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 ストレージにデータを移動するには、エージベースの階層型ストレージ ポリシーを使用して新しいローカリティ グループを作成するか、既存のローカリティ グループの階層型ストレージ ポリシーを変更します。SSD から HDD へのデータの移動には、最長で 7 日かかることがあります。詳細については、ローカリティ グループにエージベースのポリシーを作成するまたはストレージ オプションを変更するをご覧ください。

HDD から SSD ストレージにデータを移動する

HDD から SSD ストレージにデータを移動するには、既存のローカリティ グループのストレージ オプションを変更するか、テーブルで使用されるローカリティ グループを変更します。SSD から HDD へのデータの移動には、最長で 7 日かかることがあります。

テーブルで使用されるローカリティ グループを変更する

テーブルで使用されるローカリティ グループを変更するには、テーブル オプションで新しいローカリティ グループまたは別のローカリティ グループを設定します。

コンソール

  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;"

ローカリティ グループを変更する

ローカリティ グループは、ストレージ オプションを変更するか、エージベースのポリシーを変更することで変更できます。

ストレージ オプションを変更する

ローカリティ グループのストレージ オプションを 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';"

エージベースのポリシーを変更する

ローカリティ グループのエージベースのポリシーを変更するには、データが HDD ストレージに移動される前に SSD に保存される時間を延長または短縮します。

コンソール

  1. [Spanner Studio] ページで、[ 新しいタブ] をクリックするか、空のエディタタブを使用します。
  2. GoogleSQL または PostgreSQL を使用して ALTER LOCALITY GROUP DDL ステートメントを入力します。

    たとえば、次の DDL ステートメントは、データが SSD に保存される時間を 20 日に延長することで、ローカリティ グループ spill_to_hdd のエージベースのポリシーを変更します。

    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 ステートメントは、データが SSD に保存される時間を 20 日に延長することで、ローカリティ グループ spill_to_hdd のエージベースのポリシーを変更します。

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"

次のステップ