Spanner カラム型エンジンを構成する

このページでは、データベース、テーブル、インデックスで Spanner カラム型エンジンを有効にして、ファイル形式の生成を高速化する方法について説明します。

Spanner カラム型エンジンを有効にする

Spanner カラム型エンジンは、columnar_policy オプションを含む SET OPTIONS 句を使用して有効にします。このオプションは、DATABASETABLE、または INDEX スキーマ オブジェクトを作成または変更するときに適用できます。SEARCH INDEX スキーマ オブジェクトと VECTOR INDEX スキーマ オブジェクトは、列形式になることはありません。

データベースとテーブルの階層の下位レベルは、親から columnar_policy を継承します。この設定は下位レベルで変更できます。

columnar_policy オプションには次のフラグがあります。

  • 'enabled' または 'disabled' は、特定のスキーマ オブジェクトのカラム型エンジンをオンまたはオフにします。
  • NULL(デフォルト)は、親オブジェクトにカラム型エンジン ポリシーが存在する場合は、そのポリシーを使用します。NULL は、テーブル オブジェクトの以前の設定をクリアします。

OPTIONS を省略して、親オブジェクトから columnar_policy を継承することもできます。

以下の例は、次のことを行う方法を示しています。

  • 列ポリシーを有効にしてデータベースを作成します。
  • データベースから列ポリシーを継承する Singers テーブルを定義します(テーブル オプションの columnar_policy = NULL は省略します)。
  • 列ポリシーが明示的に無効になっている Concerts テーブルを定義します。
CREATE DATABASE Music;

ALTER DATABASE Music SET OPTIONS (columnar_policy = 'enabled');

CREATE TABLE Singers(
  SingerId INT64 NOT NULL,
  FirstName STRING(1024),
  LastName STRING(1024),
  BirthDate DATE,
  Status STRING(1024),
  LastUpdated TIMESTAMP,)
  PRIMARY KEY(SingerId);

CREATE TABLE Concerts(
  VenueId INT64 NOT NULL,
  SingerId INT64 NOT NULL,
  ConcertDate DATE NOT NULL,
  BeginTime TIMESTAMP,
  EndTime TIMESTAMP,)
  PRIMARY KEY(VenueId, SingerId, ConcertDate),
  OPTIONS (columnar_policy = 'disabled');

ALTER TABLESET OPTIONS 句を組み合わせて使用すると、テーブルの columnar_policy を有効または無効にすることもできます。次の例は、Singers テーブルでポリシーを無効にする方法を示しています。

ALTER TABLE Singers SET OPTIONS (columnar_policy = 'disabled');

カラム型ファイル形式の生成

Spanner は、圧縮時にカラム形式のファイルを生成します。圧縮は通常、数日かけて行われるバックグラウンド プロセスですが、データベースのサイズが大幅に増加した場合は、より早く行われることがあります。詳細については、最適な列カバレッジをご覧ください。

次のステップ