Topik ini menjelaskan status LOADING_NCI dari indeks kolom dalam memori (IMCI) pada node penyimpanan kolom serta dampaknya terhadap konsistensi baca data berorientasi kolom.
Setelah node penyimpanan kolom di-restart, beberapa IMCI mungkin berada dalam status LOADING_NCI selama periode tertentu. Hal ini dapat diperiksa melalui tabel INFORMATION_SCHEMA.IMCI_INDEXES. Status LOADING_NCI menunjukkan bahwa pemetaan antara IMCI dan data berorientasi baris sedang dibangun ulang. Pemetaan ini memastikan kemampuan pembaruan data real-time dengan konkurensi tinggi untuk layanan pemrosesan transaksi/analitik hibrida (HTAP). Durasi status LOADING_NCI bervariasi dari beberapa detik hingga beberapa jam, bergantung pada jumlah data berorientasi kolom dan spesifikasi kluster.
Dampak pada pembaruan transaksional
Data dalam IMCI yang berstatus LOADING_NCI tetap dapat diperbarui secara real-time. Namun, pembaruan hanya disimpan sementara di IMCI, dan data terbaru tidak dapat diakses secara real-time karena pemetaan antara IMCI dan data berorientasi baris belum selesai.
Dampak pada konsistensi baca
Data dalam IMCI yang berstatus LOADING_NCI tetap dapat dibaca. IMCI menyediakan layanan baca pada tingkat konsistensi berbeda sesuai pengaturan parameter Anda, seperti yang dijelaskan dalam tabel berikut.
Status Indeks | Pengaturan Parameter | Keterbacaan (konsistensi baca) |
LOADING_NCI | imci_enable_read_during_load_nci=ON | Data dapat dibaca dan snapshot data dibaca. Jika ada IMCI dalam status LOADING_NCI, semua IMCI menyediakan layanan pembacaan snapshot. |
imci_enable_read_during_load_nci=OFF | Untuk IMCI yang datanya ditambahkan, dihapus, atau dimodifikasi sejak snapshot terakhir, data tidak dapat dibaca. Untuk IMCI yang datanya tidak ditambahkan, dihapus, atau dimodifikasi sejak snapshot terakhir, data dapat dibaca. | |
COMMITTED | Tidak Berlaku | Data terbaru dapat dibaca secara real-time. |
Status Lainnya | Tidak Berlaku | Data tidak dapat dibaca. |
Pengaturan Parameter
Secara default, jika parameter
imci_enable_read_during_load_ncidiatur ke ON, IMCI menyediakan layanan pembacaan snapshot sebelum semua IMCI mencapai status COMMITTED. Versi data yang dibaca adalah snapshot lengkap terakhir sebelum node penyimpanan kolom gagal. Dalam hal ini, IMCI dapat digunakan untuk mempercepat query kompleks tanpa memedulikan apakah IMCI berstatus LOADING_NCI atau COMMITTED.CatatanJika parameter
imci_enable_read_during_load_ncidiatur ke ON dan satu IMCI berstatus LOADING_NCI, semua IMCI menyediakan layanan pembacaan snapshot.Jika parameter
imci_enable_read_during_load_ncidiatur ke OFF, IMCI menyediakan layanan baca pada tingkat konsistensi yang lebih ketat.Untuk IMCI dalam status COMMITTED, data berorientasi kolom digunakan untuk mempercepat query kompleks, dan data kolom terbaru dapat dibaca.
Untuk IMCI dalam status LOADING_NCI, data real-time tidak dapat dibaca. Oleh karena itu, untuk IMCI yang datanya tidak ditambahkan, dihapus, atau dimodifikasi sejak snapshot terakhir (setara dengan status COMMITTED), data tersebut tetap dapat dibaca. Anda dapat mengaktifkan atau menonaktifkan layanan pembacaan snapshot untuk IMCI dalam status LOADING_NCI pada node penyimpanan kolom sesuai kebutuhan bisnis.
Ruang Lingkup Parameter dan Nilai Default
Jika versi kluster PolarDB for MySQL Enterprise Edition berada dalam rentang V8.0.1.1.29 hingga V8.0.1.1.36, parameter
imci_enable_read_during_load_nciberlaku secara global. Secara default, parameter ini diatur ke OFF. Namun, nilai default parameter ini mungkin ON untuk beberapa kluster yang sudah ada. Setelah mengubah nilai parameter ini untuk sebuah kluster, Anda harus me-restart kluster agar perubahan berlaku.Jika versi kluster PolarDB for MySQL Enterprise Edition adalah V8.0.1.1.37 atau lebih baru, parameter
imci_enable_read_during_load_nciberlaku pada tingkat sesi. Secara default, parameter ini diatur ke OFF.