Mengonfigurasi columnar engine Spanner

Halaman ini menjelaskan cara mengaktifkan columnar engine Spanner di database, tabel, atau indeks, dan mempercepat pembuatan format file.

Mengaktifkan mesin columnar Spanner (GoogleSQL)

Columnar engine Spanner diaktifkan menggunakan klausa SET OPTIONS dengan opsi columnar_policy. Anda dapat menerapkan opsi ini saat membuat atau mengubah objek skema DATABASE, TABLE, atau INDEX. Objek skema SEARCH INDEX dan VECTOR INDEX tidak pernah dalam format kolom.

Tabel dan indeks mewarisi columnar_policy yang ditentukan di tingkat database.

Opsi columnar_policy memiliki tanda berikut:

  • 'enabled' atau 'disabled' mengaktifkan atau menonaktifkan mesin columnar untuk objek skema tertentu.
  • NULL (default) menggunakan kebijakan mesin berbasis kolom dari objek induk, jika ada. NULL menghapus setelan sebelumnya pada objek tabel.

Anda juga dapat menghilangkan OPTIONS untuk mewarisi columnar_policy dari objek induk.

Contoh berikut menunjukkan cara:

  • Buat database dengan kebijakan kolumnar diaktifkan.
  • Tentukan tabel Singers yang mewarisi kebijakan kolom dari database (hilangkan columnar_policy = NULL untuk opsi tabel).
  • Tentukan tabel Concerts dengan kebijakan kolom yang dinonaktifkan secara eksplisit.
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');

Anda juga dapat menggunakan ALTER TABLE dengan klausa SET OPTIONS untuk mengaktifkan atau menonaktifkan columnar_policy pada tabel. Contoh berikut menunjukkan cara menonaktifkan kebijakan di tabel Singers:

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

Mengaktifkan mesin columnar Spanner (PostgreSQL)

Anda dapat mengaktifkan mesin columnar Spanner untuk semua tabel dan indeks dengan mengeluarkan pernyataan ini:

ALTER DATABASE db_name SET spanner.columnar_policy TO enabled

Anda dapat mengaktifkan mesin columnar Spanner untuk tabel dan indeks tertentu dengan menambahkan opsi COLUMNAR POLICY enabled saat membuat atau mengubah objek skema TABLE atau INDEX. Objek skema SEARCH INDEX dan VECTOR INDEX tidak pernah dalam format kolom.

Tabel dan indeks mewarisi COLUMNAR POLICY yang ditentukan di tingkat database.

Opsi kata kunci COLUMNAR POLICY memiliki kemungkinan nilai berikut:

  • enabled atau disabled mengaktifkan atau menonaktifkan mesin columnar untuk objek skema tertentu.
  • NULL menggunakan kebijakan mesin berbasis kolom dari objek induk, jika ada. NULL menghapus setelan sebelumnya pada tabel atau skema indeks objek.

Contoh berikut menunjukkan cara:

  • Buat database dengan kebijakan kolumnar diaktifkan.
  • Tentukan tabel Singers yang mewarisi kebijakan kolom dari database (hilangkan columnar_policy = NULL untuk opsi tabel).
  • Tentukan tabel Concerts dengan kebijakan kolom yang dinonaktifkan secara eksplisit.
CREATE DATABASE Music;

ALTER DATABASE "Music" SET spanner.columnar_policy TO enabled;

CREATE TABLE Singers(
  SingerId bigint PRIMARY KEY,
  FirstName varchar,
  LastName varchar,
  BirthDate date,
  Status varchar,
  LastUpdated timestamptz
);

CREATE TABLE Concerts(
  VenueId bigint NOT NULL,
  SingerId bigint NOT NULL,
  ConcertDate date NOT NULL,
  BeginTime timestamptz,
  EndTime timestamptz,
  PRIMARY KEY(VenueId, SingerId, ConcertDate)
) COLUMNAR POLICY disabled;

Anda juga dapat menggunakan ALTER TABLE dengan klausa SET COLUMNAR POLICY untuk mengaktifkan atau menonaktifkan kebijakan kolom pada tabel. Contoh berikut menunjukkan cara menonaktifkan kebijakan di tabel Singers:

ALTER TABLE Singers SET COLUMNAR POLICY disabled;

Untuk menghapus konfigurasi kebijakan kolumnar tingkat database, gunakan RESET:

ALTER DATABASE Music RESET spanner.columnar_policy;

Mengaktifkan columnar engine Spanner akan meningkatkan penggunaan penyimpanan database atau tabel target (bergantung pada opsi pengaktifan yang digunakan) sekitar 60%. Peningkatan persisnya bergantung pada jenis data dan properti kompresibilitasnya. Penting untuk memastikan bahwa instance Spanner memiliki kapasitas penyimpanan yang cukup untuk mengakomodasi peningkatan penggunaan penyimpanan. Untuk mengetahui informasi selengkapnya, lihat Batas database.

Pembuatan format file berkolom

Spanner menghasilkan format file kolom pada waktu pemadatan. Pemadatan adalah proses latar belakang yang biasanya tersebar selama beberapa hari, tetapi dapat terjadi lebih cepat jika ukuran database bertambah secara signifikan. Untuk mengetahui informasi selengkapnya, lihat Cakupan kolom yang optimal.

Jika Anda membuat database baru tanpa data dan mengaktifkan mesin columnar, Spanner menyimpan data dalam format columnar saat Anda menyisipkannya dan saat pemadatan terjadi di latar belakang.

Format data berbasis kolom tidak dibuat untuk cadangan.

Saat Anda mengaktifkan mesin columnar Spanner di database yang ada yang memiliki data di dalamnya, Spanner menyediakan mekanisme untuk memicu pemadatan secara manual. Untuk mengetahui informasi selengkapnya, lihat Memicu pemadatan data secara manual.

Langkah berikutnya