Bagikan melalui


Time to Live (TTL) di Azure Cosmos DB

BERLAKU UNTUK: NoSQL

Dengan Time to Live atau TTL, Azure Cosmos DB menghapus item secara otomatis dari kontainer setelah periode waktu tertentu. Secara default, Anda dapat mengatur waktu hidup di tingkat kontainer dan mengambil alih nilai berbasis per item. Setelah Anda mengatur TTL di kontainer atau pada tingkat item, Azure Cosmos DB akan secara otomatis menghapus item ini setelah jangka waktu tersebut, sejak waktu terakhir dimodifikasi. Nilai waktu hidup dikonfigurasi dalam hitungan detik. Saat Anda mengonfigurasi TTL, sistem secara otomatis menghapus item yang kedaluwarsa berdasarkan nilai TTL, tanpa memerlukan operasi penghapusan yang dikeluarkan secara eksplisit oleh aplikasi klien. Nilai maksimum untuk TTL adalah 2.147.483.647 detik, perkiraan setara dengan 24.855 hari atau 68 tahun.

Item yang kedaluwarsa dihapus sebagai tugas latar belakang. Item tidak akan lagi muncul dalam respons kueri segera setelah TTL kedaluwarsa, bahkan jika belum dihapus secara permanen dari kontainer. Jika kontainer tidak memiliki unit permintaan (RU) yang cukup untuk melakukan penghapusan, penghapusan data akan tertunda. Data akan dihapus setelah RU yang memadai tersedia untuk menyelesaikan penghapusan.

Untuk akun throughput yang disediakan, penghapusan item yang kedaluwarsa menggunakan RU sisa yang belum digunakan oleh permintaan pengguna.

Untuk akun tanpa server, penghapusan item kedaluwarsa dibebankan dalam RU dengan tarif yang sama dengan operasi hapus item.

Catatan

Konten ini terkait dengan TTL penyimpanan transaksi Azure Cosmos DB. Jika Anda mencari TTL penyimpanan analitik, yang memungkinkan skenario NoETL HTAP melalui Tautan Azure Synapse, klik di sini.

Waktu hidup untuk kontainer dan item

Nilai waktu hidup diatur dalam detik, dan ditafsirkan sebagai delta sejak item terakhir diubah. Anda dapat mengatur waktu hidup pada kontainer atau pada item dalam kontainer:

  1. Time to Live di kontainer (atur menggunakan DefaultTimeToLive):

    • Jika hilang (atau diatur ke null), item tidak kedaluwarsa secara otomatis.

    • Jika ada dan nilai diatur ke "-1", nilainya sama dengan tak terbatas, dan item tidak kedaluwarsa secara default.

    • Jika ada dan nilai diatur ke beberapa angka bukan nol "n," item akan kedaluwarsa "n" detik setelah waktu terakhir diubah.

  2. Time to Live pada item (diatur menggunakan ttl):

    • Properti ini hanya berlaku jika DefaultTimeToLive ada dan tidak diatur ke null untuk kontainer induk.

    • Jika ada, properti tersebut mengambil alih DefaultTimeToLive nilai kontainer induk.

Konfigurasi Time to Live

  • Jika TTL diatur ke "n" pada kontainer, maka item dalam kontainer tersebut akan kedaluwarsa setelah n detik. Jika ada item dalam kontainer yang sama yang memiliki waktu hidup mereka sendiri, atur ke -1 (menunjukkan bahwa item tidak kedaluwarsa). Jika beberapa item mengambil alih pengaturan waktu hidup dengan angka yang berbeda, item ini kedaluwarsa berdasarkan nilai TTL yang dikonfigurasi sendiri.

  • Jika TTL tidak diatur pada kontainer, maka waktu untuk hidup pada item dalam kontainer ini tidak berpengaruh.

  • Jika TTL pada kontainer diatur ke -1, item dalam kontainer ini yang memiliki waktu untuk hidup diatur ke n, akan kedaluwarsa setelah n detik, dan item yang tersisa tidak akan kedaluwarsa.

Contoh

Bagian ini memperlihatkan beberapa contoh dengan nilai waktu hidup yang berbeda yang ditetapkan ke kontainer dan item:

Catatan

Mengatur TTL ke null pada item tidak didukung. Nilai TTL item harus berupa bilangan bulat positif bukan nol kurang dari atau sama dengan 2147483647, atau -1 yang berarti item tidak akan pernah kedaluwarsa. Untuk menggunakan TTL default pada item, pastikan properti TTL tidak ada.

Contoh 1

TTL pada kontainer diatur ke nihil (DefaultTimeToLive = null)

TTL pada item Hasil
properti ttl hilang TTL dinonaktifkan. Item tidak pernah kedaluwarsa (default).
ttl = -1 TTL dinonaktifkan. Item tidak pernah kedaluwarsa.
ttl = 2000 TTL dinonaktifkan. Item tidak pernah kedaluwarsa.

Contoh 2

TTL pada kontainer diatur ke -1 (DefaultTimeToLive = -1)

TTL pada item Hasil
properti ttl hilang TTL diaktifkan. Item tidak pernah kedaluwarsa (default).
ttl = -1 TTL diaktifkan. Item tidak pernah kedaluwarsa.
ttl = 2000 TTL diaktifkan. Item kedaluwarsa setelah 2.000 detik.

Contoh 3

TTL pada kontainer diatur ke 1000 (DefaultTimeToLive = 1000)

TTL pada item Hasil
properti ttl hilang TTL diaktifkan. Item akan kedaluwarsa setelah 1.000 detik (default).
ttl = -1 TTL diaktifkan. Item tidak akan pernah kedaluwarsa.
ttl = 2000 TTL diaktifkan. Item akan kedaluwarsa setelah 2.000 detik.

Langkah berikutnya

Pelajari cara mengonfigurasi Time to Live di artikel berikut: