Berdasarkan workload Anda, Anda dapat menambahkan kolom ke penyimpanan kolom secara manual atau menghapus beberapa atau semua kolom tabel atau tampilan terwujud dari penyimpanan kolom. Evaluasi kueri otomatis menggunakan data columnar yang disimpan untuk menjawab kueri.
Saat memilih tabel, tampilan terwujud, dan kolom yang akan ditambahkan ke penyimpanan kolom, pertimbangkan ukuran penyimpanan kolom dan bentuk workload. Kandidat yang baik untuk dipilih mencakup tabel atau tampilan besar yang sering dipindai. Dalam tabel atau tampilan ini, identifikasi indeks non-unik besar yang digunakan oleh workload OLAP. Anda dapat menambahkan kolom indeks ini ke penyimpanan kolom dan berpotensi menghapus indeks, sehingga menghilangkan biaya performa yang terkait dengan pemeliharaannya di instance utama.
Gunakan salah satu metode berikut untuk mengelola konten penyimpanan kolom mesin columnar:
- Mengelola konten penyimpanan kolom dengan memperbarui flag database
- Mengelola konten penyimpanan kolom menggunakan fungsi SQL
Lihat Data yang dapat Anda tambahkan ke penyimpanan kolom untuk mengetahui informasi tentang jenis data dan sumber data yang dapat Anda gunakan saat menambahkan tabel, kolom, dan tampilan terwujud ke penyimpanan kolom.
Mengelola konten penyimpanan kolom dengan memperbarui flag database
Anda dapat mengelola konten penyimpanan kolom secara manual dengan memperbarui flag database google_columnar_engine.relations. Flag ini memiliki satu nilai yang menentukan semua sumber data penyimpanan kolom Anda. Selama memulai ulang, kolom yang ditentukan dalam flag ini akan otomatis diisi ke penyimpanan kolom.
Anda dapat menggunakan flag ini bersama dengan columnarization otomatis. Jika columnar engine memiliki memori yang tersedia setelah mengisi kolom yang Anda tentukan melalui flag google_columnar_engine.relations, auto-columnarization akan menambahkan kolom lebih lanjut ke penyimpanan kolom, sesuai kebutuhan.
Menambahkan kolom menggunakan flag
Untuk menambahkan kolom ke penyimpanan kolom, tentukan flag google_columnar_engine.relations instance. Tetapkan nilainya ke daftar item yang dipisahkan koma, dengan setiap item menentukan daftar kolom yang akan disertakan dari tabel tertentu, dalam format ini:
DATABASE_NAME.SCHEMA_NAME.TABLE_NAME(COLUMN_LIST)
Ganti kode berikut:
DATABASE_NAME: database yang berisi kolom yang akan ditambahkan ke penyimpanan kolom.
SCHEMA_NAME: skema yang mengidentifikasi tabel atau tampilan terwujud yang akan ditambahkan ke penyimpanan kolom—misalnya,
public.TABLE_NAME: tabel atau tampilan terwujud yang berisi kolom yang akan ditambahkan ke penyimpanan kolom.
COLUMN_LIST: daftar kolom yang dipisahkan koma yang akan ditambahkan ke penyimpanan kolom.
Untuk menambahkan semua kolom satu tabel atau satu tampilan terwujud, hapus daftar kolom:
DATABASE_NAME.SCHEMA_NAME.TABLE_NAME
ALTER SYSTEM SET google_columnar_engine.relations='DATABASE_NAME.SCHEMA_NAME.TABLE_NAME(COLUMN_1,COLUMN_2)';Menghapus kolom menggunakan flag
Untuk menghapus kolom dari penyimpanan kolom, tetapkan nilai baru untuk flag
google_columnar_engine.relations yang dijelaskan di Menambahkan kolom menggunakan flag,
dengan menghapus kolom yang ingin Anda hapus.
Untuk menghapus semua kolom dari penyimpanan kolom, hapus flag google_columnar_engine.relations dari instance Anda.
Untuk mengetahui informasi selengkapnya tentang cara menetapkan flag database pada instance, lihat Mengonfigurasi parameter database AlloyDB Omni.
Mengelola konten penyimpanan kolom menggunakan fungsi SQL
Anda dapat mengelola konten penyimpanan kolom secara manual menggunakan fungsi SQL.
Menambahkan kolom menggunakan fungsi SQL
Jalankan fungsi SQL google_columnar_engine_add untuk menambahkan kolom ke penyimpanan kolom.
Metode ini menambahkan kolom yang ditentukan ke penyimpanan kolom dan hanya mengelola kolom di node yang terhubung. Kolom baru tidak dipertahankan dalam penyimpanan di seluruh instance yang dimulai ulang.
Metode ini tidak mengubah flag database
google_columnar_engine.relations. Columnarization otomatis
tidak mempertimbangkan kolom yang ditambahkan oleh fungsi SQL ini.
Klien psql
SELECT google_columnar_engine_add(
relation => 'TABLE_NAME',
columns => 'COLUMN_LIST'
);
-
Ganti kode berikut:
- 'TABLE_NAME': String yang berisi nama tabel atau
tampilan terwujud. Jika tabel atau tampilan berada dalam skema selain
public, tentukan nama skema, titik, dan nama tabel atau tampilan; misalnya,'myschema.mytable'. - 'COLUMN_LIST': String yang berisi daftar nama kolom yang dipisahkan koma, peka huruf besar/kecil yang ingin Anda tambahkan. Jika Anda ingin menambahkan semua kolom tabel atau tampilan terwujud ke penyimpanan kolom, hapus parameter ini.
Menghapus kolom menggunakan fungsi SQL
Jalankan fungsi SQL google_columnar_engine_drop sebagai berikut:
Klien psql
SELECT google_columnar_engine_drop(
relation => 'TABLE_NAME',
columns => 'COLUMN_LIST'
);
- 'TABLE_NAME': String yang berisi nama tabel atau
tampilan terwujud. Jika tabel atau tampilan berada dalam skema selain
public, tentukan nama skema, titik, dan nama tabel atau tampilan; misalnya,'myschema.mytable'. - 'COLUMN_LIST': String yang berisi daftar nama kolom yang dipisahkan koma, peka huruf besar/kecil yang ingin Anda tambahkan. Jika Anda ingin menambahkan semua kolom tabel atau tampilan terwujud ke penyimpanan kolom, hapus parameter ini.
Anda dapat menggunakan fungsi google_columnar_engine_drop untuk menghapus kolom yang ditambahkan dengan mengedit flag database google_columnar_engine.relations. Namun, saat Anda melakukannya, kolom tersebut akan ditambahkan kembali ke penyimpanan columnar saat instance dimulai ulang.