Mengelola konten penyimpanan kolom secara manual

Halaman ini menjelaskan cara mengelola konten penyimpanan kolom mesin kolom dengan menambahkan dan menghapus kolom secara manual.

Berdasarkan beban kerja, Anda dapat menambahkan kolom secara manual ke penyimpanan kolom atau menghapus beberapa atau semua kolom tabel atau tampilan terwujud dari penyimpanan kolom. Evaluasi kueri secara otomatis menggunakan data kolom yang disimpan untuk menjawab kueri.

Saat memilih tabel, tampilan yang diwujudkan, dan kolom yang akan ditambahkan ke penyimpanan kolom, pertimbangkan ukuran penyimpanan kolom dan bentuk beban kerja. Calon yang baik untuk dipilih mencakup tabel atau tampilan besar yang sering dipindai. Dalam tabel atau tampilan ini, identifikasi indeks besar non-unik yang digunakan oleh beban kerja 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 kolom:

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 yang diwujudkan ke penyimpanan kolom.

Sebelum memulai

  • Anda harus memiliki salah satu peran IAM ini di project Google Cloud yang Anda gunakan:
    • roles/alloydb.admin (peran IAM bawaan AlloyDB Admin)
    • roles/owner (peran IAM dasar Pemilik)
    • roles/editor (peran IAM dasar Editor)

    Jika Anda tidak memiliki salah satu peran ini, hubungi Administrator Organisasi untuk meminta akses.

Mengelola konten penyimpanan kolom dengan memperbarui flag database

Anda dapat mengelola konten penyimpanan kolom secara manual dengan mengupdate flag database google_columnar_engine.relations. Flag memiliki satu nilai yang menentukan semua sumber data penyimpanan kolom Anda. Selama mulai ulang, kolom yang ditentukan dalam flag ini akan otomatis diisi ke dalam penyimpanan kolom.

Anda dapat menggunakan flag ini bersama dengan auto-columnarization. Jika mesin kolom memiliki memori yang tersedia setelah mengisi kolom yang ditentukan melalui tanda google_columnar_engine.relations, kolom kolom otomatis akan menambahkan kolom lebih lanjut ke penyimpanan kolom, sesuai kebutuhan.

Untuk mengetahui informasi selengkapnya tentang cara menetapkan flag database instance menggunakan Google Cloud CLI atau konsol Google Cloud , lihat Mengonfigurasi flag database instance.

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 yang diwujudkan untuk 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 dari satu tabel atau satu tampilan yang diwujudkan, hapus daftar kolom:

DATABASE_NAME.SCHEMA_NAME.TABLE_NAME

Untuk informasi selengkapnya tentang cara menetapkan flag database pada instance, lihat Mengonfigurasi flag database instance.

Catatan tentang sintaksis command line

Jika menggunakan Google Cloud CLI untuk menetapkan flag google_columnar_engine.relations, Anda harus menggunakan sintaksis pemisah alternatif untuk memisahkan flag database yang Anda tetapkan. Hal ini karena daftar kolom dipisahkan koma, sehingga Anda harus menggunakan karakter non-koma saat menentukan flag dalam argumen command line yang sama.

Contoh berikut menunjukkan penggunaan gcloud CLI untuk menambahkan dua kolom dalam skema public ke penyimpanan kolom. Contoh ini menetapkan flag terpisah untuk mengaktifkan mesin kolom, karena menggunakan perintah gcloud alloydb instance update untuk menetapkan flag database apa pun juga harus menetapkan semua flag database lain yang Anda inginkan untuk memiliki nilai non-default, meskipun sudah ditetapkan.

gcloud alloydb instances update INSTANCE_NAME \
    --database-flags=^:^\
google_columnar_engine.relations='DATABASE_NAME.public.TABLE_NAME(COLUMN_1,COLUMN_2)'\
:google_columnar_engine.enabled=on\
[:FLAG_3=VALUE_3 ...] \
    --region=REGION_ID \
    --cluster=CLUSTER_ID

Menghapus kolom menggunakan flag

Untuk menghapus kolom dari penyimpanan kolom, tetapkan nilai baru untuk flag google_columnar_engine.relations yang dijelaskan di bagian sebelumnya, dengan mengecualikan kolom yang ingin Anda hapus.

Untuk menghapus semua kolom dari penyimpanan kolom, batalkan penetapan flag google_columnar_engine.relations dari instance Anda.

Untuk mengetahui informasi selengkapnya tentang cara menetapkan flag database pada instance, lihat Mengonfigurasi flag database instance.

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 mulai ulang instance.

Metode ini tidak mengubah flag database google_columnar_engine.relations. Pembuatan kolom 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 dan peka huruf besar/kecil yang ingin Anda tambahkan. Jika Anda ingin menambahkan semua kolom tabel atau tampilan yang diwujudkan 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'
);
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 dan peka huruf besar/kecil yang ingin Anda tambahkan. Jika Anda ingin menambahkan semua kolom tabel atau tampilan yang diwujudkan 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 kolom saat instance dimulai ulang.