Anda dapat menggunakan versi data dan waktu hidup (TTL) untuk mengelola data secara efisien serta meminimalkan penggunaan penyimpanan dan biaya penyimpanan.
Maks Versi
Nilai maks versi menentukan jumlah maksimum versi yang dapat disimpan untuk data dalam kolom atribut. Jika jumlah versi data di kolom atribut melebihi maks versi, sistem secara otomatis menghapus data dari versi sebelumnya dalam mode asinkron.
Tablestore tidak memberlakukan batasan pada Maks Versi. Namun, kami menyarankan Anda untuk menetapkan Maks Versi ke nilai yang tidak lebih besar dari 500 demi performa optimal dan kemudahan penggunaan.
Jika Anda tidak menentukan nilai untuk Maks Versi saat membuat tabel data, nilai default 1 akan digunakan. Anda juga dapat menentukan nilai kustom untuk Maks Versi untuk data di kolom atribut. Setelah Anda membuat tabel data, Anda dapat memanggil operasi UpdateTable untuk memodifikasi nilai Maks Versi untuk tabel data tersebut.
Jika jumlah versi melebihi nilai maks versi yang Anda tentukan, data dari versi sebelumnya menjadi tidak valid dan Anda tidak dapat membaca data tersebut meskipun data belum dihapus oleh Tablestore.
Saat Anda menurunkan nilai maks versi, Tablestore secara asinkron menghapus data dari versi sebelumnya jika jumlah versi data melebihi nilai baru dari maks versi.
Saat Anda menaikkan nilai maks versi, Anda dapat membaca data dari versi tertentu jika Tablestore belum menghapus data dari versi tersebut dan versi tersebut berada dalam rentang versi baru.
Nomor Versi
Setelah Anda mengonfigurasi Maks Versi untuk tabel data, setiap kali Anda memperbarui nilai di kolom atribut, Tablestore menghasilkan versi baru untuk nilai tersebut. Nomor versi adalah cap waktu dalam milidetik.
Saat Anda menulis data ke kolom atribut, Anda dapat menentukan nomor versi. Jika Anda tidak menentukan nomor versi, Tablestore secara otomatis menghasilkan nomor versi. Nomor versi adalah cap waktu dalam milidetik. Jika Anda ingin membandingkan nomor versi dengan nilai TTL atau menghitung offset versi maks, Anda harus membagi nomor versi dengan 1.000.
Secara default, nomor versi yang dihasilkan oleh Tablestore adalah cap waktu saat ini, yaitu jumlah milidetik yang telah berlalu sejak
00:00:00 UTC pada 1 Januari 1970.Jika Anda menentukan nomor versi untuk kolom atribut, pastikan bahwa nomor versi adalah timestamp 64-bit yang akurat hingga milidetik dan berada dalam rentang versi yang valid.
Anda dapat menggunakan nomor versi untuk mengimplementasikan fitur-fitur berikut:
TTL
Anda dapat menentukan TTL nilai kolom atribut dalam tabel data berdasarkan nomor versi. Saat data dari versi tertentu di kolom atribut disimpan selama periode waktu yang melebihi nilai TTL, Tablestore secara otomatis menghapus data dari versi tertentu tersebut dalam mode asinkron.
Sebagai contoh, nomor versi data di kolom atribut adalah 1.468.944.000.000, yang sama dengan
00:00:00 UTC+8 pada 20 Juli 2016. Jika Anda menetapkan nilai TTL menjadi 86.400 detik (satu hari), data dari versi ini kedaluwarsa pada00:00:00 UTC+8 pada 21 Juli 2016. Tablestore secara otomatis menghapus data dalam mode asinkron setelah data kedaluwarsa.Jumlah maksimum versi atau rentang nomor versi yang ingin dibaca oleh Tablestore dari setiap kolom atribut
Saat Tablestore membaca baris data, Anda dapat menentukan jumlah maksimum versi atau rentang nomor versi yang ingin dibaca oleh Tablestore dari setiap kolom atribut. Untuk informasi lebih lanjut, lihat Baca data.
TTL
TTL menentukan periode validitas data dalam tabel data dalam detik. Saat data dari versi tertentu di kolom atribut disimpan selama periode waktu yang melebihi nilai TTL, Tablestore secara otomatis menghapus data dari versi tertentu tersebut dalam mode asinkron dari kolom atribut. Jika data di semua kolom atribut dari sebuah baris disimpan selama periode waktu yang melebihi nilai TTL, Tablestore secara otomatis menghapus baris tersebut dalam mode asinkron.
Sebagai contoh, Anda menetapkan TTL data dalam tabel data menjadi 86.400 detik (satu hari). Pada 00:00:00 UTC+8 pada 21 Juli 2016, data yang memiliki nomor versi lebih kecil dari 1.468.944.000.000 kedaluwarsa. Nomor versi 1.468.944.000.000 sama dengan 00:00:00 UTC+8 pada 20 Juli 2016 setelah dibagi 1.000 untuk dikonversi ke detik. Tablestore secara otomatis menghapus data yang kedaluwarsa dalam mode asinkron.
Jika Anda tidak menentukan nilai untuk TTL saat membuat tabel data, nilai default -1 akan digunakan. Nilai -1 menunjukkan bahwa data dalam tabel data tidak pernah kedaluwarsa. Anda juga dapat menentukan nilai TTL kustom. Setelah Anda membuat tabel data, Anda dapat memanggil operasi UpdateTable untuk memodifikasi nilai TTL untuk data dalam tabel data.
Jika data disimpan selama periode waktu yang melebihi nilai TTL, data menjadi tidak valid dan Anda tidak dapat membaca data tersebut meskipun data belum dihapus oleh Tablestore.
TTL tabel data bersifat independen dan harus lebih besar dari atau sama dengan TTL indeks sekunder yang dibuat untuk tabel data. Jika indeks sekunder dibuat untuk tabel data dan Anda ingin memodifikasi TTL tabel data, lakukan operasi berdasarkan situasi aktual.
Jika TTL baru tabel data lebih kecil dari TTL indeks sekunder, ubah TTL indeks sekunder menjadi nilai yang lebih kecil dari atau sama dengan TTL baru tabel data dengan menggunakan SDK untuk memanggil operasi UpdateTable, lalu ubah TTL tabel data menjadi nilai baru.
Jika TTL baru tabel data lebih besar dari atau sama dengan TTL indeks sekunder, ubah TTL tabel data menjadi nilai baru.
Saat Anda menurunkan nilai TTL, Tablestore secara asinkron menghapus data yang disimpan selama periode waktu yang melebihi nilai TTL baru.
Saat Anda menaikkan nilai TTL, Anda dapat membaca data dari versi tertentu jika Tablestore belum menghapus data tersebut dan data dari versi tersebut disimpan selama periode waktu yang berada dalam nilai TTL baru.
Offset Versi Maks
Jika selisih antara waktu saat ini dan cap waktu versi yang Anda tentukan melebihi nilai TTL yang Anda tentukan untuk tabel data, data yang ditulis langsung kedaluwarsa. Untuk mengatasi masalah ini, Tablestore memungkinkan Anda mengonfigurasi offset versi maks.
Offset versi maks menentukan selisih maksimum antara waktu sistem saat ini dan nomor versi yang ditentukan dalam detik. Nilai offset versi maks adalah bilangan bulat positif yang dapat lebih besar dari jumlah detik yang telah berlalu sejak 00:00:00 UTC pada 1 Januari 1970.
Saat Anda menulis data ke kolom atribut, Tablestore memeriksa nomor versi data. Rentang versi valid data dalam kolom atribut dihitung dengan menggunakan rumus berikut: Rentang versi valid = [max{Waktu penulisan data - Offset versi maks, Waktu penulisan data - Nilai TTL}, Waktu penulisan data + Offset versi maks). Anda hanya dapat menulis data ke kolom atribut jika nomor versi data (dikonversi ke detik dengan membagi 1.000) berada dalam rentang versi valid.
Sebagai contoh, Anda menetapkan offset versi maks data di setiap kolom atribut tabel data menjadi 86.400 detik (satu hari). Pada 00:00:00 UTC pada 21 Juli 2016, hanya data yang memiliki rentang versi antara 1.468.944.000.000 (00:00:00 UTC+8 pada 20 Juli 2016) dan 1.469.116.800.000 (00:00:00 UTC+8 pada 22 Juli 2016) yang dapat ditulis. Jika Anda mencoba menulis baris data di mana nomor versi data di kolom atribut adalah 1.468.943.999.000 (23:59:59 UTC+8 pada 19 Juli 2016), baris gagal ditulis.
Jika Anda tidak menentukan nilai untuk offset versi maks saat membuat tabel data, nilai default 86.400 akan digunakan. Anda juga dapat menentukan offset versi maks kustom untuk data dalam tabel data. Setelah Anda membuat tabel data, Anda dapat memanggil operasi UpdateTable untuk memodifikasi offset versi maks untuk data dalam tabel data.
Cara Menggunakan
Saat Anda membuat tabel data, Anda dapat mengonfigurasi parameter seperti maks versi dan TTL. Anda juga dapat memodifikasi parameter seperti maks versi dan TTL setelah Anda membuat tabel data. Bagian ini menjelaskan cara memodifikasi konfigurasi tabel data setelah tabel data dibuat.
Untuk informasi lebih lanjut tentang cara mengonfigurasi versi data dan TTL saat Anda membuat tabel data, lihat Operasi pada tabel.
Gunakan Konsol Tablestore
Gunakan CLI Tablestore
Gunakan SDK Tablestore
Penagihan
Saat Anda menggunakan fitur maks versi, Anda dikenakan biaya untuk penggunaan penyimpanan nomor versi dan data dengan berbagai nomor versi.
Saat Anda mengonfigurasi TTL untuk menghapus data, Anda tidak dikenakan biaya untuk operasi penghapusan yang dilakukan oleh Tablestore. Saat Anda mengaktifkan fitur TTL, Tablestore menambahkan cap waktu ke setiap kolom atribut sebagai nomor versi. Anda dikenakan biaya untuk penggunaan penyimpanan nomor versi dan data dengan berbagai nomor versi.
Untuk informasi lebih lanjut, lihat Penggunaan Penyimpanan.