Untuk menggunakan columnar engine saat menggunakan AlloyDB untuk PostgreSQL di Google Cloud, lihat Mengonfigurasi columnar engine.
Untuk mengetahui ringkasan konseptual columnar engine AlloyDB, lihat artikel Tentang columnar engine AlloyDB.
Mengaktifkan columnar engine
Untuk menggunakan columnar engine pada instance, tetapkan flag
google_columnar_engine.enabled
instance ke on.
Untuk menyetel tanda ini pada 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 pada instance, AlloyDB mengalokasikan sebagian memori instance untuk menyimpan data kolomnya. Mendedikasikan RAM berkecepatan tinggi ke penyimpanan kolom memastikan AlloyDB dapat mengakses data berbentuk kolom secepat mungkin.
Anda juga dapat menetapkan alokasi ke ukuran tetap dan spesifik menggunakan flag google_columnar_engine.memory_size_in_mb.
Untuk menyetel tanda ini pada instance, lakukan hal berikut:
Jalankan perintah PostgreSQL
ALTER SYSTEM:ALTER SYSTEM SET google_columnar_engine.memory_size_in_mb = COLUMN_STORE_SIZE;Ganti
COLUMN_STORE_SIZEdengan ukuran baru penyimpanan kolom, dalam megabyte.
Mengaktifkan operasi gabung dengan vektor
Columnar engine memiliki fitur operasi gabung dengan vektor yang dapat meningkatkan performa operasi gabung dengan menerapkan pemrosesan vektor ke kueri yang memenuhi syarat.
Setelah Anda mengaktifkan operasi gabung dengan vektor, perencana kueri AlloyDB memiliki opsi untuk menerapkan operator operasi gabung dengan vektor, bukan operator hash join PostgreSQL standar. Perencana membuat keputusan ini dengan membandingkan biaya menjalankan kueri menggunakan salah satu metode.
Untuk mengaktifkan operasi gabung dengan vektor pada instance, tetapkan flag google_columnar_engine.enable_vectorized_join instance ke on.
Untuk menetapkan flag ini pada instance, jalankan perintah PostgreSQL ALTER SYSTEM:
ALTER SYSTEM SET google_columnar_engine.enable_vectorized_join = 'on';
Secara default, AlloyDB mengalokasikan satu thread ke fitur operasi gabung dengan vektor. Anda dapat meningkatkan jumlah thread yang tersedia untuk fitur ini dengan menetapkan flag google_columnar_engine.vectorized_join_threads ke nilai yang lebih besar.
Memuat ulang columnar engine secara manual
Secara default, columnar engine disetel untuk otomatis memperbarui penyimpanan kolom di latar belakang saat diaktifkan. Anda mungkin perlu memuat ulang penyimpanan berbentuk kolom secara manual dalam situasi tertentu, misalnya jika pemuatan ulang otomatis tidak memuat ulang relasi dengan jumlah blok yang tidak valid yang tinggi.
Untuk memuat ulang mesin kolom 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 mesin kolom pada instance, tetapkan flag google_columnar_engine.enabled
ke off.
Untuk menyetel tanda ini pada instance, lakukan hal berikut:
Jalankan perintah PostgreSQL
ALTER SYSTEM:ALTER SYSTEM SET google_columnar_engine.enabled = 'off'
Memecahkan masalah columnar engine
Memperbaiki error "memori bersama tidak cukup"
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 tanda --shm-size.
Memperbaiki kolom yang tidak terisi
Jika kolom tidak terisi di columnar engine, salah satu situasi berikut mungkin terjadi:
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:
Konfirmasi bahwa tabel atau tampilan terwujud dalam kueri kita berada di columnar engine.
Verifikasi penggunaan columnar engine menggunakan pernyataan
EXPLAIN.
Langkah berikutnya
Pelajari kolumnarisasi otomatis.