Halaman ini memberikan perbaikan dan informasi yang direkomendasikan untuk masalah dan pertanyaan umum terkait mesin columnar AlloyDB untuk PostgreSQL.
Anda menambahkan kolom yang dirujuk ke mesin berbasis kolom, tetapi kueri SELECT Anda tidak menggunakannya
Deskripsi: Untuk menggunakan mesin columnar, semua kolom yang dirujuk dalam fragmen kueri—seperti gabungan dan pemindaian—harus ada di penyimpanan kolom. Jika ada kolom yang dirujuk tidak ada di mesin columnar, maka fragmen kueri secara default menggunakan penyimpanan berbasis baris.
Fragmen kueri dalam konteks ini adalah kueri yang dapat memiliki beberapa node pemindaian. Misalnya, fragmen kueri dapat memiliki dua node pemindaian untuk gabungan. Satu node pemindaian dapat menggunakan non-kolom dan node pemindaian lainnya dapat menggunakan kolom. Semua kolom node pemindaian—kolom filter dan kolom proyeksi—harus diisi dalam bentuk kolom. Demikian pula, kueri dapat memiliki beberapa partisi dalam bentuk kolom dan partisi lainnya dalam bentuk non-kolom.
Perbaikan yang direkomendasikan: Untuk memverifikasi bahwa semua kolom yang dirujuk ada di mesin columnar, ikuti langkah-langkah berikut:
Periksa jenis data yang didukung.
Pastikan AlloyDB mendukung semua jenis data kolom yang ingin Anda gunakan dengan mesin berbasis kolom. Untuk mengetahui informasi selengkapnya, lihat Jenis data yang didukung. Jika AlloyDB tidak mendukung jenis data penting, pertimbangkan untuk menghubungi Dukungan Google Cloud.
Periksa operator yang didukung.
Pastikan AlloyDB mendukung operator pada jenis data di mesin berbasis kolom. Untuk mengetahui informasi selengkapnya tentang operator yang didukung, lihat Jenis kueri yang diuntungkan dari mesin columnar.
Jalankan perintah
EXPLAIN COLUMNAR_ENGINE.Untuk mengidentifikasi dan mengatasi masalah yang mencegah kueri tertentu menggunakan mesin columnar, jalankan perintah
EXPLAIN COLUMNAR_ENGINEberikut:EXPLAIN (COLUMNAR_ENGINE, ANALYZE) SELECT column1, column2 FROM my_table WHERE column3 > 100;
Anda tidak dapat menambahkan atau menghapus tabel di mesin columnar
Deskripsi: Anda ingin menambahkan atau menghapus tabel di mesin columnar.
Perbaikan yang direkomendasikan: Verifikasi izin pengguna Anda. Anda hanya dapat menambahkan atau melepaskan tabel di mesin columnar jika Anda memiliki hak istimewa baca pada tabel.
Ukuran data berformat kolom melebihi memori yang dialokasikan
Deskripsi: Anda mengalami masalah performa atau penanganan data saat ukuran data kolom Anda melebihi memori yang dialokasikan untuk columnar engine.
Perbaikan yang direkomendasikan: Untuk performa yang optimal, gunakan fitur rekomendasi di AlloyDB untuk mengidentifikasi tabel dan kolom yang optimal untuk mengisi mesin berbasis kolom.
Jika tabel dan kolom yang direkomendasikan melebihi memori fisik mesin columnar, data columnar yang berlebih akan menggunakan sebagian lapisan cache ultra-cepat. Kueri pada data yang tersisa dalam tabel, yang tidak ada di mesin columnar, menggunakan penyimpanan baris secara transparan.
Anda juga dapat menyesuaikan alokasi cache penyimpanan dan memori columnar engine. Mesin columnar disediakan dengan ukuran default untuk cache memori dan penyimpanan. Anda dapat mengonfigurasi cache memori dan penyimpanan secara manual. Untuk mengubah jumlah memori atau cache penyimpanan yang dialokasikan ke columnar engine, lihat Mengonfigurasi memori untuk columnar engine.