このページでは、Spanner のローカリティ グループを作成して管理する方法について説明します。ローカリティ グループを使用すると、データベース スキーマ内のデータの階層型ストレージ ポリシーを定義できます。階層型ストレージの仕組みについては、階層型ストレージをご覧ください。
ローカリティ グループを作成する
階層型ストレージ ポリシーなしでローカリティ グループを作成することも、ローカリティ グループを作成してデータベース スキーマ内のデータのストレージ ポリシーを定義することもできます。
階層型ストレージ ポリシーなしでローカリティ グループを作成すると、ローカリティ グループは default
ローカリティ グループの階層型ストレージ ポリシーを継承します。default
ローカリティ グループのストレージ ポリシーを手動で設定していない場合、ストレージ ポリシーは SSD のみに設定されます。
コンソール
Google Cloud コンソールの [Spanner インスタンス] ページに移動します。
階層型ストレージを使用するインスタンスを選択します。
階層型ストレージを使用するデータベースを選択します。
ナビゲーション メニューで [Spanner Studio] をクリックします。
[Spanner Studio] ページで、[
新しいタブ] をクリックするか、空のエディタタブを使用します。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';
[実行] をクリックします。
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 ステートメントを使用します。
コンソール
- [Spanner Studio] ページで、[ 新しいタブ] をクリックするか、空のエディタタブを使用します。
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';
[実行] をクリックします。
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
ローカリティ グループにのみ含める必要があります。
コンソール
- [Spanner Studio] ページで、[ 新しいタブ] をクリックするか、空のエディタタブを使用します。
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';
[実行] をクリックします。
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';"
テーブルレベルのローカリティ グループを設定する
データに対してテーブルレベルの階層型ストレージ ポリシーを設定し、データベースレベルの階層型ストレージ ポリシーをオーバーライドできます。テーブルレベルの階層型ストレージ ポリシーは、列レベルのオーバーライド階層型ストレージ ポリシーを設定していない限り、テーブル内のすべての列にも適用されます。
コンソール
- [Spanner Studio] ページで、[ 新しいタブ] をクリックするか、空のエディタタブを使用します。
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;
[実行] をクリックします。
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;"
列レベルのオーバーライド階層型ストレージ ポリシーを設定する
データに列レベルのオーバーライド階層型ストレージ ポリシーを設定できます。
コンソール
- [Spanner Studio] ページで、[ 新しいタブ] をクリックするか、空のエディタタブを使用します。
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;
[実行] をクリックします。
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;"
セカンダリ インデックス レベルのオーバーライド階層型ストレージ ポリシーを設定する
データにセカンダリ インデックス レベルのオーバーライド階層型ストレージ ポリシーを設定できます。
コンソール
- [Spanner Studio] ページで、[ 新しいタブ] をクリックするか、空のエディタタブを使用します。
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;
[実行] をクリックします。
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;"
列レベルのローカリティ グループを設定する
ローカリティ グループに階層型ストレージ ポリシーがない場合でも、データに列レベルのローカリティ グループを設定できます。この列からのデータの読み取りは、他の列とグループ化されたデータの読み取りよりも高速です。
コンソール
- [Spanner Studio] ページで、[ 新しいタブ] をクリックするか、空のエディタタブを使用します。
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;
[実行] をクリックします。
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 日かかることがあります。
テーブルで使用されるローカリティ グループを変更する
テーブルで使用されるローカリティ グループを変更するには、テーブル オプションで新しいローカリティ グループまたは別のローカリティ グループを設定します。
コンソール
- [Spanner Studio] ページで、[ 新しいタブ] をクリックするか、空のエディタタブを使用します。
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;
[実行] をクリックします。
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;"
テーブルの列で使用されるローカリティ グループを変更する
テーブルの列で使用されるローカリティ グループを変更するには、列オプションでローカリティ グループを設定します。
コンソール
- [Spanner Studio] ページで、[ 新しいタブ] をクリックするか、空のエディタタブを使用します。
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;
[実行] をクリックします。
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 に変更できます。
コンソール
- [Spanner Studio] ページで、[ 新しいタブ] をクリックするか、空のエディタタブを使用します。
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';
[実行] をクリックします。
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 に保存される時間を延長または短縮します。
コンソール
- [Spanner Studio] ページで、[ 新しいタブ] をクリックするか、空のエディタタブを使用します。
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';
[実行] をクリックします。
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';"
ローカリティ グループを削除する
データが含まれているローカリティ グループは削除できません。まず、ローカリティ グループ内のすべてのデータを別のローカリティ グループに移動する必要があります。詳細については、テーブルで使用されるローカリティ グループを変更するをご覧ください。
コンソール
- [Spanner Studio] ページで、[ 新しいタブ] をクリックするか、空のエディタタブを使用します。
GoogleSQL または PostgreSQL を使用して
DROP LOCALITY GROUP
DDL ステートメントを入力します。たとえば、次のコマンドを実行してローカリティ グループ
ssd_only
を削除できます。GoogleSQL
DROP LOCALITY GROUP ssd_only;
PostgreSQL
DROP LOCALITY GROUP ssd_only;
[実行] をクリックします。
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"
次のステップ
- 階層型ストレージの詳細を確認する。
- ローカリティ グループの詳細を確認する。
- タイムスタンプ述語のプッシュダウンによるクエリの最適化の詳細を確認する。