Azure Cosmos DB'de Yaşam Süresi (TTL)

UYGULANANLAR: NoSQL

Yaşam Süresi veya TTL ile Azure Cosmos DB belirli bir zaman aralığından sonra kapsayıcıdaki öğeleri otomatik olarak siler. Varsayılan olarak, kapsayıcı düzeyinde yaşam süresi ayarlayabilir ve öğe başına değeri geçersiz kılabilirsiniz. TTL'yi bir kapsayıcıda veya öğe düzeyinde ayarladıktan sonra, Azure Cosmos DB bu öğeleri en son değiştirildikleri zamandan itibaren zaman aralığından sonra otomatik olarak kaldırır. Yaşam süresi değeri saniyeler içinde yapılandırılır. TTL'yi yapılandırdığınızda sistem, süresi dolan öğeleri istemci uygulaması tarafından açıkça verilen silme işlemine gerek kalmadan TTL değerine göre otomatik olarak siler. TTL için en yüksek değer, yaklaşık 24.855 gün veya 68 yıl eşdeğeri olan 2147483647 saniyedir.

Süresi dolan öğelerin silinmesi, kullanıcı istekleri tarafından kullanılmayan kalan İstek Birimlerini kullanan bir arka plan görevidir. TTL'nin süresi dolduktan sonra bile kapsayıcı isteklerle aşırı yüklenmişse ve yeterli RU yoksa veri silme işlemi gecikir. Silme işlemini gerçekleştirmek için yeterli RU olduğunda veriler silinir. Veri silme işlemi gecikse de, TTL süresi dolduktan sonra veriler hiçbir sorgu (API tarafından) tarafından döndürülemez.

Dekont

Bu içerik Azure Cosmos DB işlem deposu TTL ile ilgilidir. Azure Synapse Link aracılığıyla NoETL HTAP senaryolarını etkinleştiren analiz deposu TTL'yi arıyorsanız lütfen buraya tıklayın.

Kapsayıcılar ve öğeler için yaşam süresi

Yaşam süresi değeri saniye olarak ayarlanır ve bir öğenin en son değiştirildiği zamandan bir değişim olarak yorumlanır. Bir kapsayıcıda veya kapsayıcı içindeki bir öğede yaşam süresi ayarlayabilirsiniz:

  1. Bir kapsayıcıda Yaşam Süresi (kullanarak DefaultTimeToLiveayarlayın):

    • Eksikse (veya null olarak ayarlanırsa), öğelerin süresi otomatik olarak dolmaz.

    • Varsa ve değer "-1" olarak ayarlanırsa, sonsuzluğa eşittir ve öğelerin süresi varsayılan olarak dolmaz.

    • Varsa ve değer sıfır olmayan bir "n" sayısına ayarlanırsa, öğelerin süresi son değiştirilme zamanından "n" saniye sonra dolar.

  2. Bir öğede Yaşam Süresi (kullanarak ttlayarlayın):

    • Bu Özellik yalnızca DefaultTimeToLive varsa geçerlidir ve üst kapsayıcı için null olarak ayarlanmadı.

    • Mevcutsa, üst kapsayıcının DefaultTimeToLive değerini geçersiz kılar.

Yaşam Süresi yapılandırmaları

  • TTL bir kapsayıcıda "n" olarak ayarlanırsa, bu kapsayıcıdaki öğelerin süresi n saniye sonra dolar. Aynı kapsayıcıda yaşamak için kendi zamanı olan öğeler varsa , -1 olarak ayarlayın (sürelerinin dolmadığını gösterir). Bazı öğeler farklı bir sayı ile yaşam süresi ayarını geçersiz kılarsa, bu öğelerin süresi kendi yapılandırılmış TTL değerine göre dolar.

  • TTL bir kapsayıcıda ayarlı değilse, bu kapsayıcıdaki bir öğe üzerinde yaşama süresinin hiçbir etkisi olmaz.

  • Bir kapsayıcıdaki TTL -1 olarak ayarlanırsa, bu kapsayıcıda yaşam süresi n olarak ayarlanmış bir öğenin süresi n saniye sonra dolar ve kalan öğelerin süresi dolmaz.

Örnekler

Bu bölümde, kapsayıcıya ve öğelere atanan farklı yaşam süresi değerlerine sahip bazı örnekler gösterilir:

Dekont

Bir öğede TTL'yi null olarak ayarlamak desteklenmez. Öğe TTL değeri, 2147483647 küçük veya buna eşit sıfır olmayan pozitif bir tamsayı veya -1 olmalıdır; bu da öğenin süresinin hiç dolamayacağı anlamına gelir. Bir öğede varsayılan TTL'yi kullanmak için TTL özelliğinin mevcut olmadığından emin olun.

Örnek 1

Kapsayıcıdaki TTL null olarak ayarlandı (DefaultTimeToLive = null)

Öğe üzerinde TTL Sonuç
ttl özelliği eksik TTL devre dışı bırakıldı. Öğenin süresi hiçbir zaman dolmaz (varsayılan).
ttl = -1 TTL devre dışı bırakıldı. Öğenin süresi hiçbir zaman dolmaz.
ttl = 2000 TTL devre dışı bırakıldı. Öğenin süresi hiçbir zaman dolmaz.

Örnek 2

Kapsayıcıdaki TTL değeri -1 olarak ayarlanmıştır (DefaultTimeToLive = -1)

Öğe üzerinde TTL Sonuç
ttl özelliği eksik TTL etkinleştirildi. Öğenin süresi hiçbir zaman dolmaz (varsayılan).
ttl = -1 TTL etkinleştirildi. Öğenin süresi hiçbir zaman dolmaz.
ttl = 2000 TTL etkinleştirildi. Öğenin süresi 2000 saniye sonra dolacak.

Örnek 3

Kapsayıcıdaki TTL değeri 1000 olarak ayarlanmıştır (DefaultTimeToLive = 1000)

Öğe üzerinde TTL Sonuç
ttl özelliği eksik TTL etkinleştirildi. Öğenin süresi 1000 saniye sonra dolacak (varsayılan).
ttl = -1 TTL etkinleştirildi. Öğenin süresi hiçbir zaman dolmaz.
ttl = 2000 TTL etkinleştirildi. Öğenin süresi 2000 saniye sonra dolacak.

Sonraki adımlar

Yaşam Süresi'ni yapılandırmayı aşağıdaki makalelerde öğrenin: