MaxCompute menyediakan dukungan efisien untuk skenario bisnis tipikal seperti kueri perjalanan waktu dan kueri tambahan pada tabel Delta. Anda dapat menggunakan kueri perjalanan waktu untuk mengakses data versi historis, misalnya melacak balik data bisnis pada titik waktu tertentu atau memulihkan data ke keadaan historis untuk koreksi ketika terjadi kesalahan. Selain itu, Anda dapat langsung menjalankan operasi restore untuk memulihkan data ke versi historis tertentu.
Proses Kueri
Gambar berikut menunjukkan cara mengakses data dari tabel Delta menggunakan fitur perjalanan waktu.

Setelah memasukkan Pernyataan SQL, mesin akan mengidentifikasi versi data yang ingin diakses setelah Penguraian, mencari file dasar terbaru dalam rentang versi tersebut, serta mencari file delta tempat data ditulis setelah file dasar dibuat. Data dari file dasar dan file delta kemudian digabungkan untuk menghasilkan keluaran. File dasar membantu meningkatkan efisiensi kueri dan pembacaan.
Gambar di atas menunjukkan cara mengakses data dalam tabel transaksional bernama src.
Skema tabel terdiri dari kolom pk dan kolom val. Bagian kiri gambar di atas menunjukkan proses perubahan data. Titik waktu t1 hingga t5 mewakili versi waktu transaksi. Lima transaksi penulisan data dilakukan, menghasilkan lima file Delta. Operasi compaction dilakukan pada titik waktu t2 dan t4, menghasilkan dua file dasar, b1 dan b2. Catatan status perantara historis (2,a) dihapus dari file dasar b1, hanya menyisakan catatan status terbaru (2,b).
Sebagai contoh, jika Anda ingin mengakses data historis pada titik waktu t1, MaxCompute cukup membaca file Delta d1 dan menghasilkan keluaran. Jika Anda ingin mengakses data historis pada titik waktu t2, MaxCompute hanya perlu membaca file dasar b1 dan menghasilkan keluaran dengan tiga catatan. Untuk titik waktu t3, MaxCompute menggabungkan data dalam file dasar b1 dan file Delta d3 untuk menghasilkan keluaran. Prinsip yang sama berlaku untuk mengakses data pada titik waktu lainnya. File dasar dapat mempercepat kueri, namun penggunaannya memicu operasi compaction, yang mengonsumsi sejumlah besar sumber daya. Oleh karena itu, pilih kebijakan pemicu yang sesuai berdasarkan skenario bisnis Anda.
Fitur perjalanan waktu memungkinkan Anda mengakses versi transaksi. Dua jenis versi transaksi didukung: versi waktu dan versi ID. Dalam sintaksis SQL, fungsi get_latest_timestamp dan get_latest_version dikembangkan selain konstanta spesifik dan fungsi umum. Parameter kedua dari kedua fungsi ini menunjukkan jumlah kali data terakhir dikomit, membantu Anda mendapatkan versi data internal MaxCompute untuk kueri yang lebih akurat dan meningkatkan pengalaman pengguna.
Periode waktu selama mana data historis dapat ditanyakan
Status historis data hanya dapat diakses menggunakan fitur perjalanan waktu jika status tersebut masih tersimpan. Anda dapat mengonfigurasi properti tabel acid.data.retain.hours untuk menentukan periode retensi data historis. Maksimum periode retensi adalah tujuh hari. Kami menyarankan Anda menetapkan periode retensi yang sesuai dengan kebutuhan bisnis Anda. Periode retensi yang panjang akan meningkatkan biaya penyimpanan. Jika fitur perjalanan waktu tidak diperlukan, kami sarankan Anda mengatur properti acid.data.retain.hours ke 0 untuk menonaktifkan fitur ini, sehingga mengurangi biaya penyimpanan data historis secara signifikan.