Saat pipa data Anda menghubungkan database, sistem log, atau antrian pesan ke MaxCompute, pemuatan batch menimbulkan latensi sehingga data terbaru tidak tersedia untuk kueri. Penulisan inkremental hampir real-time mengatasi masalah ini dengan terus-menerus menulis baris masuk ke tabel delta pada interval tingkat menit, sehingga data yang telah dikomit dapat langsung diakses melalui kueri tanpa perlu menunggu siklus pemuatan penuh.
Pilih mode penulisan
| Write mode | Latency | Use when |
|---|---|---|
| Near-real-time incremental write | Minute-level | Aliran data kontinu; memerlukan latensi rendah dan toleransi kesalahan |
| Full data write | Higher | Pemuatan batch periodik; seluruh set data diganti sekaligus |
Cara kerja
MaxCompute menyediakan plug-in Flink connector sumber terbuka yang terintegrasi dengan Data Integration dari DataWorks dan alat impor data lainnya untuk mendukung penulisan inkremental hampir real-time.

Gambar di atas menunjukkan pemrosesan data bisnis.
Aliran data bekerja sebagai berikut:
Alat impor data menggunakan client SDK dari layanan MaxCompute Tunnel untuk menulis data secara konkuren pada interval tingkat menit ke server Tunnel.
Server Tunnel mendistribusikan proses penulisan tersebut ke beberapa node pekerja, yang menulis data secara paralel ke file data masing-masing bucket.
Ketika alat impor memanggil antarmuka commit, semua data yang telah ditulis hingga titik tersebut dikomit secara atomik ke tabel delta dan langsung dapat diakses melalui kueri.
Kontrol konkurensi
Atur parameter write.bucket.num untuk mengontrol konkurensi penulisan. Jumlah bucket yang lebih tinggi meningkatkan throughput penulisan. Untuk detail tentang bagaimana bucket memengaruhi performa, lihat Table data format.
Operasi yang didukung
Antarmuka tulis Tunnel SDK mendukung operasi berikut:
| Operation | Description |
|---|---|
| UPSERT | Menyisipkan baris baru atau memperbarui baris yang sudah ada |
| DELETE | Menghapus baris dari tabel delta |
Semantik commit dan toleransi kesalahan
Setiap pemanggilan antarmuka commit merepresentasikan komit atomik atas semua data yang ditulis sebelum pemanggilan tersebut. Data yang telah dikomit memenuhi isolasi snapshot baca/tulis.
On success: Data yang dikomit dapat langsung diakses melalui kueri dan memenuhi isolasi snapshot baca/tulis.
On failure: Jika pemanggilan gagal, Anda dapat mencoba menulis ulang data tersebut. Jika kegagalan tersebut bukan disebabkan oleh error yang tidak dapat dipulihkan, seperti korupsi data, percobaan ulang kemungkinan akan berhasil dan Anda tidak perlu menulis ulang data. Jika tidak, Anda harus menulis ulang dan meng-commit ulang data tersebut.
| Failure type | Recovery action |
|---|---|
| Non-unrecoverable (misalnya, tidak disebabkan oleh korupsi data) | Coba ulang commit secara langsung — tidak perlu menulis ulang data |
| Unrecoverable (misalnya, korupsi data atau error permanen) | Tulis ulang data dan commit ulang |
Langkah berikutnya
Table data format — pelajari bagaimana bucket memengaruhi performa penulisan
Flink connector plug-in — siapkan connector sumber terbuka untuk penulisan inkremental