Untuk menggunakan columnar engine saat menggunakan AlloyDB untuk PostgreSQL on Google Cloud, lihat Mengonfigurasi columnar engine.
Untuk mengetahui ringkasan konseptual columnar engine AlloyDB, lihat Tentang columnar engine AlloyDB.
Mengaktifkan columnar engine
Untuk menggunakan columnar engine di instance, tetapkan flag instance
google_columnar_engine.enabled
ke on.
Untuk menetapkan flag ini di instance, lakukan hal berikut:
Jalankan perintah
ALTER SYSTEMPostgreSQL:ALTER SYSTEM SET google_columnar_engine.enabled = 'on'Jika Anda ingin menyesuaikan konfigurasi columnar engine, ikuti petunjuk di bagian berikutnya sebelum Anda memulai ulang server database. Jika tidak, ikuti dua langkah berikutnya untuk memulai ulang server database sekarang.
Mengonfigurasi ukuran penyimpanan kolom
Saat columnar engine diaktifkan di instance, AlloyDB akan mengalokasikan sebagian memori instance untuk menyimpan data kolomnya. Mendedikasikan RAM berkecepatan tinggi ke penyimpanan kolom Anda akan memastikan bahwa AlloyDB dapat mengakses data kolom secepat mungkin.
Anda juga dapat menetapkan alokasi ke ukuran tetap dan spesifik menggunakan flag
google_columnar_engine.memory_size_in_mb.
Untuk menetapkan flag ini di instance, lakukan hal berikut:
Jalankan perintah
ALTER SYSTEMPostgreSQL:ALTER SYSTEM SET google_columnar_engine.memory_size_in_mb = COLUMN_STORE_SIZE;Ganti
COLUMN_STORE_SIZEdengan ukuran baru penyimpanan kolom, dalam megabyte.
Mengaktifkan gabungan vektor
Columnar engine memiliki fitur gabungan vektor yang dapat meningkatkan performa gabungan dengan menerapkan pemrosesan vektor ke kueri yang memenuhi syarat.
Setelah Anda mengaktifkan gabungan vektor, pengoptimal kueri AlloyDB memiliki opsi untuk menerapkan operator gabungan vektor, bukan operator gabungan hash PostgreSQL standar. Pengoptimal membuat keputusan ini dengan membandingkan biaya menjalankan kueri menggunakan salah satu metode.
Untuk mengaktifkan gabungan vektor di instance, tetapkan flag instance
google_columnar_engine.enable_vectorized_join
ke on.
Untuk menetapkan flag ini di instance, jalankan perintah PostgreSQL ALTER SYSTEM:
ALTER SYSTEM SET google_columnar_engine.enable_vectorized_join = 'on';
AlloyDB mengalokasikan satu thread ke fitur gabungan vektor secara default. Anda dapat meningkatkan jumlah thread yang tersedia untuk
fitur ini dengan menetapkan
google_columnar_engine.vectorized_join_threads
flag ke nilai yang lebih besar.
Memuat ulang columnar engine secara manual
Secara default, columnar engine ditetapkan untuk memuat ulang penyimpanan kolom secara otomatis di latar belakang saat diaktifkan. Anda mungkin perlu memuat ulang penyimpanan kolom secara manual dalam situasi tertentu, seperti jika pemuatan ulang otomatis tidak memuat ulang relasi dengan jumlah blok tidak valid yang tinggi.
Untuk memuat ulang column engine secara manual, jalankan kueri SQL berikut:
SELECT google_columnar_engine_refresh('TABLE_NAME');
Ganti TABLE_NAME dengan nama tabel atau tampilan terwujud yang ingin Anda muat ulang secara manual.
Menonaktifkan columnar engine
Untuk menonaktifkan column engine di instance, tetapkan flag google_columnar_engine.enabled ke off.
Untuk menetapkan flag ini di instance, lakukan hal berikut:
Jalankan perintah
ALTER SYSTEMPostgreSQL:ALTER SYSTEM SET google_columnar_engine.enabled = 'off'
Memecahkan masalah columnar engine
Memperbaiki error "insufficient shared memory"
Jika Anda menjalankan AlloyDB Omni tanpa memori bersama yang cukup untuk digunakan oleh columnar engine, Anda mungkin akan melihat error ini:
Insufficient shared memory for generating the columnar formats.
Anda dapat mengatasi masalah ini dengan menentukan jumlah memori bersama yang tersedia untuk container AlloyDB Omni. Cara melakukannya berbeda-beda, bergantung pada sistem operasi host Anda
Linux
Tingkatkan ukuran partisi /dev/shm mesin host Anda, menggunakan teknik seperti mengedit file /etc/fstab.
macOS
Instal container AlloyDB Omni baru, dengan menentukan
nilai memori bersama yang lebih besar untuk flag --shm-size.
Memperbaiki kolom yang tidak terisi
Jika kolom tidak terisi di columnar engine, salah satu situasi berikut mungkin benar:
Kolom yang ingin Anda tambahkan menyertakan jenis data yang tidak didukung.
Persyaratan columnar engine tidak terpenuhi.
Untuk menemukan penyebab masalah ini, coba langkah-langkah berikut:
Pastikan tabel atau tampilan terwujud dalam kueri Anda berada di columnar engine.
Verifikasi penggunaan columnar engine menggunakan
EXPLAINpernyataan.
Langkah berikutnya
Pelajari tentang auto-columnarization.