Time-to-live (TTL) di Cosmos DB (di Azure dan Fabric)

Fitur time-to-live (TTL) di Cosmos DB (di Azure dan Fabric) membantu Anda mengelola siklus hidup data dengan menghapus item secara otomatis setelah periode tertentu, dalam hitungan detik. TTL sangat berguna untuk skenario di mana data hanya relevan untuk waktu yang terbatas, seperti data sesi, metrik, atau log. Dengan mengaktifkan TTL, Anda dapat menjaga database Anda tetap ramping, mengurangi biaya penyimpanan, dan memastikan bahwa hanya data saat ini yang relevan yang dipertahankan.

Nota

Saat Anda menerapkan kebijakan TTL pada kontainer di Cosmos DB di Microsoft Fabric, item yang kedaluwarsa melalui TTL tercermin dalam data yang dicerminkan di OneLake.

Cara kerja TTL

Saat TTL diaktifkan pada kontainer atau item individual, Cosmos DB melacak usia setiap item. Setelah usia item melebihi nilai TTL-nya, sistem secara otomatis menandainya untuk dihapus dan membersihkannya. TTL dapat diatur pada tingkat kontainer (berlaku untuk semua item) dan/atau diganti pada tingkat item untuk memberikan kontrol yang lebih terperinci.

  • TTL tingkat kontainer: Semua item dalam kontainer mewarisi TTL default kecuali TTL tingkat item ditentukan.

  • TTL tingkat item: Anda dapat mengatur TTL tertentu untuk setiap item, menggantikan pengaturan default kontainer.

  • Menonaktifkan TTL: Mengatur TTL ke -1 menonaktifkan penghapusan otomatis untuk kontainer atau item.

Nilai TTL ditentukan dalam hitungan detik. Hitung mundur dimulai dari waktu terakhir item yang dimodifikasi (atau waktu pembuatan jika tidak diperbarui). Ketika TTL kedaluwarsa, item memenuhi syarat untuk penghapusan otomatis selama siklus pembersihan latar belakang berikutnya.

Manfaat menggunakan TTL

  • Pembersihan data otomatis: Tidak perlu menghapus skrip manual atau pekerjaan terjadwal.

  • Penghematan biaya: Kurangi biaya penyimpanan dengan menghapus data kedaluwarsa atau tidak relevan.

  • Peningkatan performa: Jaga database Anda tetap efisien dengan hanya menyimpan data aktif.

Mengonfigurasi TTL

Nilai TTL ditafsirkan sebagai delta, dalam hitungan detik, sejak item terakhir diubah. Aturan berikut berlaku saat mengatur nilai TTL.

Time to live (TTL) dapat diatur pada tingkat kontainer dan item, memberi Anda fleksibilitas untuk mengelola kedaluwarsa data sesuai keinginan Anda.

Penyiapan ini memungkinkan Anda mencampur dan mencocokkan kebijakan kedaluwarsa agar sesuai dengan kebutuhan retensi data Anda, apakah Anda ingin semuanya kedaluwarsa, tidak ada yang kedaluwarsa, atau sedikit dari keduanya.

Berikut cara kerja konfigurasi TTL di tingkat kontainer dan item:

  • TTL pada tingkat kontainer

    • Jika Anda tidak mengatur TTL (atau mengaturnya ke null), item dalam kontainer tidak kedaluwarsa secara otomatis.

    • Jika Anda mengatur TTL kontainer ke -1, itu seperti mengatakan "simpan semuanya selamanya." Item tidak kedaluwarsa secara default. Secara matematis, pengaturan ini setara dengan mengatur kedaluwarsa ke tak terbatas.

    • Jika Anda mengatur TTL kontainer ke angka n positif , setiap item dalam kontainer akan kedaluwarsa n detik setelah modifikasi terakhirnya, perbarui. Jika item tidak pernah dimodifikasi, kedaluwarsa didasarkan pada waktu pembuatan.

  • TTL tingkat item

    • TTL tingkat item hanya berlaku jika properti TTL diatur pada tingkat kontainer dan TIDAK diatur ke null.

    • Jika Anda mengatur TTL pada item, itu akan menggantikan pengaturan bawaan kontainer. Misalnya, jika TTL kontainer adalah 1 jam, tetapi TTL item diatur ke 10 menit, item tersebut akan kedaluwarsa setelah 10 menit.

    • Jika TTL item diatur ke -1, item tersebut tidak akan kedaluwarsa meskipun kontainer memiliki TTL.

    • Jika TTL kontainer tidak diatur, setiap TTL yang diatur pada item diabaikan.

    • Jika TTL kontainer adalah -1, tetapi TTL item adalah angka positif, item tersebut akan kedaluwarsa setelah TTL-nya sendiri, sementara item lain dalam kontainer tetap tanpa batas waktu.

Petunjuk / Saran

Dalam berbagai kit pengembangan perangkat lunak (SDK), nilai tingkat kontainer sering diidentifikasi sebagai DefaultTimeToLive properti kontainer. Dalam item itu sendiri, nilai tingkat item diatur menggunakan properti ttl.

Contoh konfigurasi TTL

Tabel ini menggambarkan contoh skenario dengan nilai TTL berbeda yang ditetapkan di tingkat kontainer atau item.

Scenario TTL Kontainer Item TTL Komentar
TTL dinonaktifkan <null> Konfigurasi ini adalah perilaku default di mana item tidak pernah kedaluwarsa
TTL dinonaktifkan <null> -1 Item tidak pernah kedaluwarsa
TTL dinonaktifkan <null> 3600 Item tidak pernah kedaluwarsa
TTL diaktifkan -1 TTL diaktifkan tetapi item tidak pernah kedaluwarsa
TTL diaktifkan -1 -1 TTL diaktifkan tetapi item tidak pernah kedaluwarsa
TTL diaktifkan -1 3600 TTL diaktifkan dan item tertentu kedaluwarsa setelah 1 jam
Semua item kedaluwarsa setelah tujuh hari 604800 Setiap item dihapus tujuh hari setelah pembuatan atau pembaruan terakhir
Beberapa item tidak pernah kedaluwarsa sementara yang lain kedaluwarsa setelah tujuh hari 604800 -1 Item dengan -1 TTL tidak pernah dihapus sementara yang lain kedaluwarsa setelah tujuh hari
Item kedaluwarsa setelah 1 jam 3600 Semua item dihapus 1 jam setelah pembuatan atau pembaruan terakhir
Item tertentu kedaluwarsa setelah 30 menit sementara yang lain kedaluwarsa setelah 1 jam 3600 1800 Sebagian besar item kedaluwarsa setelah 1 jam, tetapi item tertentu kedaluwarsa setelah 30 menit

Nota

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, Anda dapat mengatur TTL ke -1, yang berarti item individual tidak kedaluwarsa. Untuk menggunakan TTL default pada item, pastikan ttl properti tidak ada.