Topik ini menjelaskan latensi data dan konsistensi di Apache Paimon (Paimon).
File snapshot
File snapshot memberikan akses ke data dalam tabel Paimon. File ini menangkap data pada titik waktu tertentu. Anda dapat menggunakan file snapshot yang dihasilkan pada waktu berbeda untuk mengubah offset konsumen dalam mode streaming dan mengimplementasikan fitur perjalanan waktu dalam mode batch.
Untuk informasi tentang cara menanyakan file snapshot dari tabel Paimon beserta waktu pembuatannya, lihat tabel Snapshots.
File snapshot digunakan untuk mengonsumsi data dari tabel Paimon. Secara default, file snapshot disimpan selama 1 jam sebelum dihapus. Jika periode penyimpanan terlalu singkat atau kecepatan konsumsi rendah, file snapshot mungkin dihapus saat masih digunakan, sehingga menyebabkan kesalahan. Untuk menyelesaikan masalah tersebut, Anda dapat mengubah periode penyimpanan file snapshot, menentukan ID konsumen, atau mengoptimalkan performa tabel Paimon.
Latensi
Saat data ditulis ke tabel Paimon, penulis menyimpan data di memori dan file sementara. Setelah penyebaran Flink memicu checkpoint, penulis melakukan commit data untuk menghasilkan file snapshot. Dalam mode streaming, konsumen hilir mendengarkan daftar file snapshot dan hanya membaca data dari file snapshot terbaru yang terdeteksi.
Latensi data mengacu pada jeda antara penulisan data dan konsumsi data. Latensi ini bervariasi berdasarkan frekuensi pembuatan file snapshot. Jika tidak ada tekanan balik yang terjadi dalam penyebaran Flink, file snapshot dihasilkan pada setiap checkpoint. Ini berarti latensi data tabel Paimon sama dengan interval checkpoint. Perlu diperhatikan bahwa jika interval checkpoint terlalu kecil, performa penyebaran Flink mungkin terpengaruh. Kami merekomendasikan Anda mengatur interval checkpoint ke nilai antara 1 hingga 10 menit. Anda dapat meningkatkan interval dalam rentang tersebut untuk meningkatkan efisiensi baca dan tulis sesuai kebutuhan bisnis Anda.
Konsistensi
Paimon menggunakan protokol komit dua fase untuk secara atomik melakukan commit data. Jika Anda menggunakan dua penyebaran Flink untuk menulis data secara bersamaan ke tabel Paimon, perhatikan poin-poin berikut:
Kami merekomendasikan agar Anda tidak memodifikasi bucket yang sama. Hal ini memungkinkan commit bersamaan dalam kedua penyebaran dan memastikan konsistensi berurutan.
Jika Anda memodifikasi bucket yang sama, Paimon memicu failover untuk menyelesaikan konflik data dan memastikan hanya isolasi snapshot. Ini memastikan bahwa tidak ada perubahan data yang hilang, tetapi status akhir tabel Paimon mungkin berisi commit dari kedua penyebaran.