Heatmap di Database Autonomy Service (DAS) memvisualisasikan aktivitas kueri dan distribusi data di seluruh partisi dalam database PolarDB-X. Fitur ini membantu mengidentifikasi partisi yang panas (hot partitions) serta distribusi data yang tidak merata di antara node fisik.
Prasyarat
PolarDB-X versi V5.4.14 atau lebih baru
Database menggunakan mode partisi otomatis (AUTO mode). Hanya database dalam mode AUTO pada instance saat ini yang ditampilkan di heatmap—database dengan mode partisi lain tetap ada tetapi tidak muncul.
Cara kerja
Heatmap mengumpulkan statistik jumlah baris data yang dikueri per partisi dalam interval waktu tertentu. Setiap sel di tengah heatmap merepresentasikan satu partisi pada suatu titik waktu. Kecerahan warna menunjukkan frekuensi kueri: kuning terang menandakan frekuensi tertinggi, sedangkan hitam menandakan frekuensi terendah.
Tiga histogram di sekitar heatmap pusat memungkinkan analisis data dari berbagai sudut pandang:
Histogram sisi kiri — berdasarkan database logis, tabel, atau partisi (dan berdasarkan node penyimpanan saat Data Node View diaktifkan)
Histogram bawah — berdasarkan waktu
Histogram sisi kanan — berdasarkan partisi
Aktifkan Data Node View untuk mengatur ulang data berdasarkan node penyimpanan fisik. Hal ini mempermudah penilaian apakah beban kueri tersebar merata di seluruh node.
Batasan
| Kendala | Ambang batas default | Cara meningkatkan batas |
|---|---|---|
| Jumlah partisi per database logis | 8.000 — melebihi ambang batas ini menyebabkan sistem melewati pengumpulan statistik untuk database tersebut | Sesuaikan PARTITIONS_HEATMAP_COLLECTION_MAX_SINGLE_LOGIC_SCHEMA_COUNT dalam konfigurasi kernel PolarDB-X |
| Jumlah partisi per tugas pengumpulan | 8.000 — melebihi ambang batas ini menyebabkan sistem hanya mengumpulkan statistik untuk 8.000 partisi | Sesuaikan PARTITIONS_HEATMAP_COLLECTION_MAX_SCAN dalam konfigurasi kernel PolarDB-X |
Lihat heatmap
Masuk ke Konsol DAS.
Di panel navigasi sebelah kiri, klik Instance Monitoring.
Temukan instance dan klik ID-nya untuk membuka halaman detail instance.
Di panel navigasi sebelah kiri, klik Heatmap.
Baca heatmap
Area heatmap
| Area | Yang ditampilkan |
|---|---|
| Histogram sisi kiri | Database logis, tabel logis, dan partisi logis dalam instans. Dalam Data Node View, node penyimpanan juga ditampilkan. Panjang persegi panjang menunjukkan volume data — semakin panjang, semakin banyak datanya. |
| Histogram bawah | Total baris data yang dikueri dijumlahkan berdasarkan waktu. Klik suatu titik waktu untuk melihat total baris yang dikueri di seluruh partisi pada saat itu. |
| Histogram sisi kanan | Total baris data yang dikueri dijumlahkan berdasarkan partisi. Klik suatu partisi untuk melihat berapa banyak baris yang telah dilayaninya secara total. |
| Heatmap pusat | Kecerahan warna menunjukkan frekuensi kueri per partisi per interval waktu. Kuning terang menandakan frekuensi tertinggi; hitam menandakan frekuensi terendah. |
Indikator status
| Status | Makna |
|---|---|
| NO DATA | Belum ada statistik yang dikumpulkan. |
| TOO BIG | Jumlah partisi yang ditampilkan melebihi 3.200. Saat total partisi asli yang dipindai melebihi 1.600, sistem menggabungkan statistik dari partisi-partisi dalam tabel logis yang sama pada node data yang sama. Jika jumlah partisi tetap melebihi 3.200 setelah penggabungan, status TOO BIG akan ditampilkan. |
Detail saat mengarahkan kursor
Arahkan penunjuk ke sel mana pun di heatmap untuk melihat detail berikut:
| Field | Deskripsi |
|---|---|
| Kotak berwarna | Warna yang sesuai dengan sel heatmap; menunjukkan jumlah baris data yang dikueri per menit selama periode pengumpulan. |
| Started At | Waktu mulai periode pengumpulan. |
| Ended At | Waktu akhir periode pengumpulan. |
| Current Number of Rows | Jumlah baris data dalam partisi saat heatmap dibuka. Nilai ini mencerminkan kondisi pada saat pembukaan, bukan periode Started At–Ended At. |
| Data Node | Node data tempat partisi berada. Tanda hubung (-) berarti partisi tersebut tidak lagi ada, biasanya karena operasi DDL atau penggabungan selama pengumpulan. |
| Database | Database logis tempat partisi tersebut berada. |
| Table | Tabel logis tempat partisi tersebut berada. |
| Partition | Nama partisi logis. |
Konfigurasi pengumpulan data
Gunakan perintah SQL berikut di PolarDB-X untuk mengontrol cara heatmap mengumpulkan data.
Setiap perintah harus didahului dengan set ENABLE_SET_GLOBAL = true;.Nonaktifkan pengumpulan data
set ENABLE_SET_GLOBAL = true;
set global ENABLE_PARTITIONS_HEATMAP_COLLECTION = false;Statistik yang telah dikumpulkan sebelum Anda menonaktifkan fitur ini tetap terlihat di heatmap.
Batasi pengumpulan hanya untuk database atau tabel tertentu
Gunakan PARTITIONS_HEATMAP_COLLECTION_ONLY untuk menargetkan database dan tabel tertentu. Sintaksnya adalah:
{database}#{table1}&{table2},{database2}#{table1}| Tujuan | Perintah |
|---|---|
Kumpulkan statistik untuk tabel customer dan order di tpcc, serta tabel nation di tpch | set global PARTITIONS_HEATMAP_COLLECTION_ONLY = 'tpcc#customer&order,tpch#nation'; |
Kumpulkan statistik untuk semua tabel di tpcc dan tpch | set global PARTITIONS_HEATMAP_COLLECTION_ONLY = 'tpcc,tpch'; |
Kumpulkan statistik untuk tabel customer dan order di seluruh database logis | set global PARTITIONS_HEATMAP_COLLECTION_ONLY = '#customer,#order'; atau set global PARTITIONS_HEATMAP_COLLECTION_ONLY = '#customer&order'; |
| Kumpulkan statistik untuk semua tabel di semua database logis (kembalikan ke nilai default) | set global PARTITIONS_HEATMAP_COLLECTION_ONLY = ''; |
Langkah selanjutnya
Setelah mengidentifikasi partisi yang panas di heatmap, pertimbangkan tindakan berikut:
Tinjau desain kunci partisi pada tabel yang terdampak untuk memperbaiki distribusi data.
Sesuaikan cakupan pengumpulan menggunakan
PARTITIONS_HEATMAP_COLLECTION_ONLYagar fokus pada database atau tabel yang perlu dipantau.