Backlog kompaksi pada tabel primary key Paimon dapat diam-diam menurunkan performa kueri sebelum menjadi terlihat. Data Lake Formation (DLF) terintegrasi dengan Cloud Monitor untuk menampilkan tiga metrik latensi kompaksi sehingga Anda dapat mengatur aturan peringatan dan mendeteksi backlog sedini mungkin.
Cara pemantauan kompaksi bekerja
DLF menjalankan kompaksi secara otomatis di lapisan penjadwalan. Setelah data dikomit, data tersebut menunggu dalam snapshot yang belum dikompaksi hingga penjadwal mengambilnya. Ketiga metrik berikut mengukur jeda ini dari sudut pandang berbeda—kedalaman antrian penjadwalan, usia file fisik, dan selisih antara kompaksi terbaru dan penulisan terbaru. Pilih metrik yang sesuai dengan workload Anda, atau gabungkan metrik tersebut untuk cakupan yang lebih luas.
Metrik ini hanya berlaku untuk tabel primary key Paimon dengan optimalisasi penyimpanan diaktifkan (write-only=true). Opsi ini aktif secara default dalam layanan DLF fully managed. Saat tidak ada data yang menunggu kompaksi, ketiga metrik ini mengembalikan nilai 0.Metrik latensi kompaksi
Ketiga metrik ini dilaporkan melalui Cloud Monitor dan dapat diterapkan pada dimensi catalog, database, atau table.
| Metric | Apa yang diukur | Paling cocok untuk |
|---|---|---|
compaction_latency_between_latest_compacted_and_uncompacted_commit | Selisih waktu antara commit terkompaksi terbaru dan commit non-kompaksi terbaru | Mengevaluasi apakah kompaksi mampu mengimbangi penulisan berkelanjutan |
compaction_latency_earliest_uncompacted_commit | Berapa lama snapshot tertua yang telah dikomit namun belum dikompaksi berada dalam antrian | Mendiagnosis responsivitas lapisan penjadwalan dan kekurangan sumber daya |
compaction_latency_earliest_uncompacted_file | Usia fisik file data uncompacted tertua, dari waktu pembuatan hingga saat ini | Workload dengan persyaratan ketat terhadap kesegaran data |
compaction_latency_between_latest_compacted_and_uncompacted_commit
Definisi: Selisih waktu antara commit terkompaksi terbaru dan commit non-kompaksi terbaru.
Apa yang diukur: Jeda catchup—seberapa jauh proses kompaksi terbaru tertinggal dari penulisan terbaru. Nilai yang meningkat berarti tugas kompaksi tidak mampu mengimbangi throughput penulisan.
Gunakan saat: Anda ingin mengevaluasi apakah kompaksi mampu mengimbangi penulisan berkelanjutan di tingkat tabel.
Metrik ini tidak mengukur berapa lama data tertentu menunggu. Metrik ini hanya mencerminkan selisih antara dua peristiwa terbaru.
compaction_latency_earliest_uncompacted_commit
Definisi: Latensi yang dihitung dari waktu commit snapshot unmerged tertua dan waktu sistem saat ini.
Apa yang diukur: Jeda lapisan penjadwalan—berapa lama batch data tertua yang telah dikomit berada dalam antrian untuk dikompaksi. Ini merupakan indikator utama apakah sistem penjadwalan responsif dan memiliki sumber daya yang cukup.
Gunakan saat:
Memantau kecepatan respons sistem penjadwalan
Memecahkan masalah kekurangan sumber daya kompaksi
Dalam skenario commit berfrekuensi tinggi, nilai metrik ini mungkin lebih rendah dari yang diharapkan karena tidak memperhitungkan waktu yang dihabiskan untuk menulis data sebelum commit.
compaction_latency_earliest_uncompacted_file
Definisi: Waktu yang berlalu sejak timestamp pembuatan file data uncompacted tertua hingga waktu sistem saat ini.
Apa yang diukur: Usia data end-to-end—dari saat data ditulis secara fisik hingga masih menunggu kompaksi. Ini mencakup waktu penulisan upstream dan interval checkpoint, sehingga nilainya biasanya lebih tinggi daripada compaction_latency_earliest_uncompacted_commit dan lebih akurat mencerminkan usia fisik data tertua.
Gunakan saat:
Workload yang memerlukan pemantauan ketat terhadap kesegaran data
Penulisan aliran (stream writing) dengan jendela panjang atau skenario impor batch besar dengan interval checkpoint yang panjang
Prasyarat
Sebelum memulai, pastikan Anda memiliki:
Catalog DLF dengan setidaknya satu tabel primary key Paimon
Optimalisasi penyimpanan diaktifkan (
write-only=true) pada tabel yang ingin dipantauAkses ke Konsol Cloud Monitor
Tips: Sebelum mengonfigurasi aturan peringatan, verifikasi bahwa kompaksi aktif pada tabel target Anda menggunakan API GetTableCompactionInfo. Hal ini membantu Anda membedakan antara masalah konfigurasi dan masalah ketersediaan data saat peringatan tidak muncul.
Buat aturan peringatan
Setiap aturan peringatan memiliki tiga komponen: kondisi (metrik dan ambang batas mana), cakupan (dimensi yang dipantau), dan frekuensi pemicu (berapa banyak siklus berturut-turut sebelum peringatan muncul). Tentukan hal-hal ini sebelum masuk ke konsol.
Masuk ke Konsol Cloud Monitor.
Di panel navigasi kiri, pilih Alerts > Alert Rule.
Klik Create Alert Rule dan konfigurasikan parameter berikut.
Parameter Deskripsi Product Data Lake Formation (DLF) Resource Range Pilih Instances. Aturan peringatan berlaku untuk satu catalog. Associated Resources Klik Add Instance. Di pojok kiri atas, pilih wilayah tujuan, lalu pilih catalog yang ingin dipantau dan klik OK. Rule Description Klik Add Rule > Simple Metric atau Combined Metrics untuk membuka panel Configure Rule Description.
Deskripsi metrik Cloud Monitor
Compaction latency_latest compact commit to latest non-compact commit
Definisi: Selisih waktu antara latest compact commit dan latest non-compact commit.
Semantik: Mencerminkan rentang waktu data yang belum digabung dalam sistem saat ini.
Skenario:
Mengevaluasi progres catchup data.
Nilai yang lebih besar menunjukkan bahwa tugas kompaksi terbaru semakin tertinggal dari progres penulisan.
Catatan: Metrik ini mengukur seberapa jauh tugas kompaksi tertinggal dari progres penulisan terbaru (jeda catchup). Metrik ini tidak mengukur waktu tunggu untuk data tertentu.
Compaction latency_earliest non-compact commit
Definisi: Latensi yang dihitung dari waktu commit snapshot unmerged tertua dan waktu sistem saat ini.
Semantik: Mencerminkan jeda tugas kompaksi di lapisan penjadwalan. Ini adalah waktu tunggu batch data tertua yang telah dikomit untuk digabung.
Skenario:
Memantau kecepatan respons sistem penjadwalan.
Memecahkan masalah kekurangan sumber daya kompaksi.
Catatan: Dalam skenario commit berfrekuensi tinggi, nilai metrik ini mungkin lebih kecil dari yang diharapkan karena mengabaikan waktu yang dibutuhkan untuk proses penulisan data.
Compaction latency_earliest non-compact file
Definisi: Selisih antara waktu sistem saat ini dan waktu commit snapshot unmerged tertua.
Semantik: Mencerminkan ketepatan waktu end-to-end data, dari saat ditulis secara fisik ke disk hingga menunggu penggabungan.
Skenario:
Skenario yang memerlukan pemantauan ketat terhadap kesegaran data.
Penulisan aliran (stream writing) dengan jendela panjang atau skenario impor batch besar di mana interval checkpoint panjang.
Catatan: Metrik ini mencakup waktu yang dibutuhkan untuk penulisan data upstream dan checkpoint-nya. Biasanya nilainya lebih besar daripada latensi "earliest non-compact commit" dan lebih akurat mencerminkan usia fisik data tertua.
Untuk informasi lebih lanjut, lihat Table merge information.
Saat tidak ada data yang menunggu kompaksi dalam sistem, nilai semua metrik latensi kompaksi adalah 0.
Metrik ini hanya berlaku untuk tabel primary key Paimon. Fitur optimalisasi penyimpanan harus diaktifkan dengan mengatur
write-only=true. Layanan DLF fully managed memiliki opsi ini aktif secara default.
Konfigurasi peringatan berdasarkan skenario
Gunakan konfigurasi ini sebagai titik awal. Sesuaikan ambang batas agar sesuai dengan SLA dan kecepatan kompaksi tipikal Anda.
Memantau tabel primary key yang sering diperbarui
Untuk tabel dengan throughput penulisan tinggi, gunakan Combined Metrics agar peringatan muncul jika salah satu metrik latensi melebihi ambang batas—mendeteksi backlog baik yang berasal dari lapisan penjadwalan maupun usia file fisik.
| Config | Value |
|---|---|
| Metric Type | Combined Metrics (menghasilkan peringatan jika salah satu kondisi terpenuhi) |
| Metrics | compaction_latency_earliest_uncompacted_commit dan compaction_latency_earliest_uncompacted_file |
| Condition | Beri peringatan jika nilai lebih besar dari waktu tertentu dalam detik |
| Select Dimension | Table |
Memantau di tingkat catalog atau database
Untuk gambaran yang lebih luas di beberapa tabel, gunakan Simple Metric pada indikator lapisan penjadwalan.
| Config | Value |
|---|---|
| Metric Type | Simple Metric |
| Metric | compaction_latency_earliest_uncompacted_commit |
| Condition | Beri peringatan jika dipicu lebih dari sekali |
| Select Dimension | Database atau catalog (biarkan kosong untuk catalog) |
Contoh aturan peringatan
Contoh berikut menunjukkan konfigurasi lengkap untuk memantau tabel yang sering diperbarui dengan ambang batas 10 menit pada latensi berbasis commit dan berbasis file.
| Parameter | Contoh |
|---|---|
| Alert Rule | Compaction Latency Alert |
| Metric Type | Combined Metrics |
| Alert Level | Warning (Warn) |
| Multi-metric Alert Condition | compaction_latency_earliest_uncompacted_commit: Metric Value >= 600 s |
compaction_latency_earliest_uncompacted_file: Metric Value >= 600 s | |
| Select Dimension | Table |
| Relationship Between Metrics | Generate alerts if one of the conditions is met |
| Alert Threshold Triggers | 1 Consecutive Cycles (1 Cycle = 1 Minutes) |

Langkah berikutnya
GetTableCompactionInfo — kueri status kompaksi saat ini dari sebuah tabel sebelum menyesuaikan ambang batas peringatan