Mengonfigurasi mesin kolom

Halaman ini menjelaskan cara mengaktifkan atau menonaktifkan mesin columnar pada instance AlloyDB untuk PostgreSQL. Dokumen ini juga membahas cara mengonfigurasi ukuran awal yang sesuai untuk penyimpanan kolomnya, serta setelan cache memori dan penyimpanan untuk performa yang optimal.

Untuk menggunakan mesin berbasis kolom saat menggunakan AlloyDB Omni, lihat Mengaktifkan mesin berbasis kolom di AlloyDB Omni.

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

Untuk mengetahui ringkasan konseptual mesin berbasis kolom AlloyDB, lihat artikel Tentang mesin berbasis kolom AlloyDB.

Mengaktifkan mesin columnar

Untuk menggunakan mesin berbasis kolom pada sebuah instance, tetapkan flag google_columnar_engine.enabled instance ke on.

Setelah Anda menyetel flag ini, instance akan dimulai ulang secara otomatis.

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

Mengonfigurasi ukuran penyimpanan kolom

Saat mesin berbasis kolom diaktifkan pada instance, AlloyDB akan mengalokasikan sebagian memori instance untuk menyimpan data berbasis kolomnya. Mendedikasikan RAM berkecepatan tinggi untuk penyimpanan kolom Anda memastikan AlloyDB dapat mengakses data kolom secepat mungkin.

Cache memori dan penyimpanan bersama-sama mewakili kapasitas keseluruhan mesin berbasis kolom.

Mengonfigurasi memori untuk mesin columnar

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

Secara default, AlloyDB mengalokasikan 30% memori instance ke penyimpanan kolom, dan secara otomatis menyesuaikan total alokasi jika Anda mengubah ukuran instance. Anda dapat mengubah memori instance hingga maksimum 50%. Untuk menemukan ukuran memori mesin kolom 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 tanda dari instance.

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

Mengonfigurasi cache penyimpanan untuk mesin columnar

Cache penyimpanan mesin columnar disediakan sesuai dengan tingkat instance.

Tingkat instance Ukuran cache mesin columnar default
Instance utama Instance replika baca
2-vCPU 18,75 GB 37,5 GB
4 vCPU 18,75 GB 37,5 GB
8 vCPU 18,75 GB 37,5 GB
16 vCPU 37,5 GB 37,5 GB
32 vCPU 75 GB 75 GB
64 vCPU 150 GB 150 GB
96 vCPU 300 GB 300 GB
128 vCPU 450 GB 450 GB

Dengan tanda google_columnar_engine.storage_cache_size, Anda dapat menyesuaikan cache penyimpanan mesin columnar, dengan batasan nilai minimum dan maksimum yang tercantum dalam tabel berikut:

Tingkat instance Ukuran cache columnar engine minimum Ukuran cache mesin columnar maksimum
Instance utama Instance replika baca
2-vCPU 0 187,5 GB 375 GB
4 vCPU 0 187,5 GB 375 GB
8 vCPU 0 187,5 GB 375 GB
16 vCPU 0 375 GB 375 GB
32 vCPU 0 750 GB 750 GB
64 vCPU 0 1.500 GB 1.500 GB
96 vCPU 0 3000 GB 3000 GB
128 vCPU 0 4.500 GB 4.500 GB

Memantau data cache penyimpanan untuk mesin columnar

Untuk melihat informasi tentang cache penyimpanan mesin columnar, Anda dapat menjalankan salah satu kueri SQL berikut.

Kueri SQL Deskripsi
SELECT google_columnar_engine_storage_cache_used(); Menampilkan ukuran cache penyimpanan mesin berbasis kolom yang digunakan.
SELECT google_columnar_engine_storage_cache_available(); Menampilkan ukuran cache penyimpanan mesin columnar yang tidak digunakan.

Untuk memeriksa ukuran keseluruhan cache penyimpanan yang dikonfigurasi untuk mesin columnar, jalankan perintah berikut:

  SHOW google_columnar_engine.storage_cache_size;

Mengaktifkan gabungan tervektorisasi

Mesin columnar memiliki fitur penggabungan tervektorisasi yang dapat meningkatkan performa penggabungan dengan menerapkan pemrosesan tervektorisasi ke kueri yang memenuhi syarat.

Setelah Anda mengaktifkan gabungan tervektorisasi, perencana kueri AlloyDB memiliki opsi untuk menerapkan operator gabungan tervektorisasi, bukan operator gabungan hash PostgreSQL standar. Perencana membuat keputusan ini dengan membandingkan biaya eksekusi kueri menggunakan salah satu metode.

Untuk mengaktifkan gabungan tervektor pada instance, setel tanda google_columnar_engine.enable_vectorized_join instance ke on.

Untuk mengetahui informasi selengkapnya tentang menyetel flag database, lihat Mengonfigurasi flag database instance.

AlloyDB mengalokasikan satu thread ke fitur gabungan vektor secara default. Anda dapat meningkatkan jumlah thread yang tersedia untuk fitur ini dengan menyetel tanda google_columnar_engine.vectorized_join_threads ke nilai yang lebih besar.

Memuat ulang mesin berbasis kolom secara manual

Secara default, mesin columnar disetel untuk otomatis memuat ulang penyimpanan kolom di latar belakang saat diaktifkan. Anda mungkin perlu memperbarui penyimpanan kolom secara manual dalam situasi tertentu, seperti jika refresh otomatis tidak memperbarui relasi dengan sejumlah besar blok yang tidak valid.

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 mesin columnar

Untuk menonaktifkan mesin columbar pada instance, setel flag google_columnar_engine.enabled ke off.

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

Setelah Anda menyetel flag ini, instance akan dimulai ulang secara otomatis.

Memecahkan masalah mesin berbasis kolom

Jika kolom tidak terisi di mesin kolom, salah satu situasi berikut mungkin terjadi:

  • Kolom yang ingin Anda tambahkan berisi jenis data yang tidak didukung.

  • Persyaratan columnar engine tidak terpenuhi.

Untuk mengetahui penyebab masalah ini, coba langkah-langkah berikut:

  • Tinjau log audit instance Anda.

  • Konfirmasi bahwa tabel atau tampilan terwujud dalam kueri kita berada di mesin columnar.

  • Verifikasi penggunaan mesin berbasis kolom menggunakan pernyataan EXPLAIN.

Langkah berikutnya