Mengonfigurasi mesin columnar

Untuk mempercepat kueri analisis dan mengoptimalkan performa untuk workload pemrosesan transaksional dan analisis hybrid (HTAP), Anda dapat mengaktifkan columnar engine di instance AlloyDB untuk PostgreSQL. Anda juga dapat mengonfigurasi ukuran memori awal untuk penyimpanan kolom serta menyesuaikan setelan memori dan cache penyimpanan agar sesuai dengan persyaratan workload Anda.

Untuk menggunakan columnar engine di AlloyDB Omni, lihat Mengaktifkan columnar engine di AlloyDB Omni.

Setiap tindakan ini melibatkan perubahan nilai flag database di salah satu instance AlloyDB Anda. Untuk mengetahui informasi selengkapnya tentang cara menetapkan flag database, lihat Mengonfigurasi flag database instance.

Untuk mengetahui ringkasan konseptual columnar engine AlloyDB, lihat Tentang columnar engine AlloyDB.

Mengaktifkan columnar engine

Untuk menggunakan columnar engine pada sebuah instance, tetapkan flag google_columnar_engine.enabled instance ke on.

Setelah Anda menetapkan flag ini, instance akan otomatis dimulai ulang.

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

Mengonfigurasi ukuran penyimpanan kolom

Saat columnar engine diaktifkan pada instance, AlloyDB mengalokasikan sebagian memori instance untuk menyimpan data berbentuk kolom. Mendedikasikan RAM berkecepatan tinggi ke penyimpanan kolom memastikan AlloyDB dapat mengakses data berbentuk kolom secepat mungkin.

Memori dan cache penyimpanan bersama-sama mewakili kapasitas keseluruhan columnar engine.

Mengonfigurasi memori untuk columnar engine

Jika penyimpanan kolom menjadi lebih besar daripada bagian yang dialokasikan dari memori instance Anda, AlloyDB akan otomatis menggunakan lapisan cache yang mendasari instance untuk menyimpan data berbentuk kolom tambahan.

Di AlloyDB, Anda dapat memuat relasi, tampilan terwujud, dan indeks vektor ke dalam columnar engine untuk mempercepat performa kueri.

Secara default, AlloyDB mengalokasikan 30% memori instance ke penyimpanan kolom. Untuk instance 1-vCPU, alokasi defaultnya adalah 10%. AlloyDB akan otomatis menyesuaikan total alokasi jika Anda mengubah ukuran instance. Anda dapat mengubah memori instance ke maksimum yang direkomendasikan sebesar 50%, meskipun 70% diizinkan. Untuk instance 1-vCPU, nilai maksimum yang diizinkan adalah 20%. Terlepas dari ukuran instance, alokasi minimumnya adalah 128 MB. Untuk menemukan ukuran memori columnar engine yang direkomendasikan untuk instance Anda, lihat Merekomendasikan ukuran memori penyimpanan kolom.

Anda juga dapat menetapkan alokasi ke ukuran tetap dan spesifik menggunakan flag google_columnar_engine.memory_size_in_mb. Agar AlloyDB kembali ke alokasi default, hapus flag dari instance.

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

Mengonfigurasi pemuatan indeks vektor ke dalam columnar engine

Columnar engine mempercepat penelusuran vektor saat indeks vektor HNSW atau ScaNN diisi ke dalamnya. Akselerasi columnar engine untuk indeks HNSW tersedia secara umum (GA), sedangkan akselerasi untuk indeks ScaNN berada dalam tahap Pratinjau.

Untuk mengaktifkan cache indeks berbasis kolom, tetapkan flag google_columnar_engine.enable_index_caching ke on.

Untuk menonaktifkan fitur ini, tetapkan flag ke off.

Mengonfigurasi cache penyimpanan untuk columnar engine

Anda harus mengukur google_columnar_engine.storage_cache_size sesuai dengan setelan google_columnar_engine.memory_size_in_mb karena memori columnar engine digunakan untuk metadata dalam memori untuk cache penyimpanan. Rasio ukuran yang direkomendasikan adalah sekitar 100 hingga 1.000 kali ukuran memori. Misalnya, dengan google_columnar_engine.memory_size_in_mb sebesar 1024 (1 GB), Anda harus menetapkan google_columnar_engine.storage_cache_size antara 100 GB dan 1000 GB.

Cache penyimpanan columnar engine disediakan sesuai dengan tingkat instance.

Tingkat instance Ukuran cache columnar engine default
N2 C4A
Utama Kumpulan baca Kumpulan utama atau baca
1 vCPU T/A T/A 0
2 vCPU 18,75 GB 37,5 GB 18,75 GB
4 vCPU 18,75 GB 37,5 GB 18,75 GB
8 vCPU 18,75 GB 37,5 GB 37,5 GB
16 vCPU 37,5 GB 37,5 GB 75 GB
32 vCPU 75 GB 75 GB 112,5 GB
48 vCPU T/A T/A 187,5 GB
64 vCPU 150 GB 150 GB 262,5 GB
72 vCPU T/A T/A 300 GB
96 vCPU 300 GB 300 GB T/A
128 vCPU 450 GB 450 GB T/A

Flag google_columnar_engine.storage_cache_size memungkinkan Anda menyesuaikan cache penyimpanan columnar engine, dengan batasan nilai minimum dan maksimum yang tercantum dalam tabel berikut:

Tingkat instance Ukuran cache columnar engine minimum Ukuran cache columnar engine maksimum
N2 C4A
Utama Kumpulan baca Kumpulan utama atau baca
1 vCPU T/A T/A T/A 0
2 vCPU 0 187,5 GB 375 GB 187,5 GB
4 vCPU 0 187,5 GB 375 GB 187,5 GB
8 vCPU 0 187,5 GB 375 GB 375 GB
16 vCPU 0 375 GB 375 GB 750 GB
32 vCPU 0 750 GB 750 GB 1125 GB
48 vCPU 0 T/A T/A 1.875 GB
64 vCPU 0 1.500 GB 1.500 GB 2.625 GB
72 vCPU 0 T/A T/A 3.000 GB
96 vCPU 0 3.000 GB 3.000 GB T/A
128 vCPU 0 4.500 GB 4.500 GB T/A

Memantau data cache penyimpanan untuk columnar engine

Untuk melihat dan memantau data tentang cache penyimpanan columnar engine, Anda dapat menggunakan perintah berikut:

Perintah Deskripsi
SELECT google_columnar_engine_storage_cache_used(); Menampilkan ukuran cache penyimpanan columnar engine yang digunakan.
SELECT google_columnar_engine_storage_cache_available(); Menampilkan ukuran cache penyimpanan columnar engine yang tidak digunakan.
SHOW google_columnar_engine.storage_cache_size; Menampilkan jumlah total ukuran cache penyimpanan yang dikonfigurasi untuk columnar engine.

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 eksekusi 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 mengetahui informasi selengkapnya tentang cara menetapkan flag database, lihat Mengonfigurasi flag database instance.

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, saat Anda mengaktifkan columnar engine, mesin ini akan ditetapkan untuk otomatis memuat ulang penyimpanan kolom di latar belakang.

Untuk workload dengan tingkat modifikasi data yang tinggi seperti operasi INSERT, UPDATE, atau DELETE yang sering, Anda dapat memuat ulang penyimpanan berbasis kolom secara manual setelah perubahan ini untuk menjaga indeks tetap terbaru.

Untuk memuat ulang columnar 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 columnar engine pada instance, tetapkan flag google_columnar_engine.enabled ke off.

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

Setelah Anda menetapkan flag ini, instance akan otomatis dimulai ulang.

Memecahkan masalah columnar engine

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:

  • Tinjau log audit instance Anda.

  • Konfirmasi bahwa tabel atau tampilan terwujud dalam kueri Anda berada di columnar engine.

  • Verifikasi penggunaan columnar engine menggunakan pernyataan EXPLAIN.

Langkah berikutnya