Menjaga keaktualan data penyimpanan kolom dalam memori

Pilih versi dokumentasi:

Halaman ini menjelaskan cara menjaga keaktualan data di penyimpanan kolom mesin kolom AlloyDB Omni dalam penampung.

Saat baris tabel ditambahkan, dihapus, atau diperbarui, mesin columnar tidak langsung memperbarui data di penyimpanan kolom. Sebagai gantinya, sistem ini menandai konten yang terpengaruh di penyimpanan kolom sebagai tidak valid, dan kueri direncanakan serta dieksekusi menggunakan data berorientasi kolom dari penyimpanan kolom dan data berorientasi baris dari cache baris dan penyimpanan database.

Seiring waktu, karena semakin banyak blok data yang menjadi tidak valid, peningkatan performa kueri yang diberikan oleh mesin columnar berkurang hingga titik di mana data columnar perlu diperbarui untuk mendapatkan kembali peningkatan performa kueri. Saat nilai minimum refresh ini tercapai, mesin columnar akan menggunakan tugas latar belakang untuk memperbarui data yang tidak valid di penyimpanan kolom. Secara default, mesin columnar menggunakan nilai minimum refresh 50, yang menunjukkan bahwa konten tertentu di penyimpanan kolom ditandai untuk di-refresh jika 50% kontennya menjadi tidak valid. Anda dapat mengubah nilai batas pembaruan ini untuk menyesuaikan biaya overhead pembaruan otomatis dan berpotensi mendapatkan performa kueri berkelanjutan yang lebih baik untuk beban kerja aplikasi Anda.

Selain itu, Anda dapat memuat ulang data tabel secara manual di column store kapan saja. Biasanya, Anda melakukan refresh manual saat ingin perubahan pada tabel ditampilkan di column store sesegera mungkin setelah melakukan perubahan.

Mengubah nilai minimum refresh mesin berbasis kolom

Edit nilai flag database google_columnar_engine.refresh_threshold_percentage untuk mengubah nilai minimum refresh mesin columnar.

    ALTER SYSTEM SET google_columnar_engine.refresh_threshold_percentage=THRESHOLD;

THRESHOLD: nilai bilangan bulat antara 1 dan 100. Nilai ini menentukan persentase blok data dalam konten yang harus menjadi tidak valid agar konten ditandai untuk diperbarui.

Memuat ulang data tabel secara manual di penyimpanan kolom

Jalankan fungsi SQL google_columnar_engine_refresh untuk memuat ulang data tabel secara manual di penyimpanan kolom dalam memori.

SELECT google_columnar_engine_refresh(TABLE_NAME);

TABLE_NAME: string yang berisi nama tabel atau tampilan terwujud. Jika tabel atau tampilan berada dalam skema selain public, tentukan nama skema menggunakan format SCHEMA_NAME.TABLE_NAME—misalnya, myschema.mytable.