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 2.147.483.647 saniyedir ve yaklaşık eşdeğeri 24.855 gün veya 68 yıldır.
Süresi dolan öğeler arka plan görevi olarak silinir. Henüz kapsayıcıdan kalıcı olarak silinmemiş olsa bile TTL'nin süresi dolduktan hemen sonra sorgu yanıtlarında bir öğe görüntülenmez. Kapsayıcıda silme işlemini gerçekleştirmek için yeterli istek birimi (RU) yoksa, veri silme işlemi geciktirilir. Silme işlemini tamamlamak için yeterli RU kullanılabilir olduğunda veriler silinir.
Sağlanan aktarım hızı hesapları için süresi dolan öğelerin silinmesi, kullanıcı istekleri tarafından kullanılmamış kalan RU'ları kullanır.
Sunucusuz hesaplar için süresi dolan öğelerin silinmesi, RU'larda öğe silme işlemleriyle aynı oranda ücretlendirilir.
Not
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:
Bir kapsayıcıda Yaşam Süresi (kullanarak
DefaultTimeToLive
ayarlayın):Eksikse (veya null olarak ayarlanırsa), öğelerin süresi otomatik olarak dolmaz.
Varsa ve değer "-1" olarak ayarlanırsa, sonsuza 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 son değiştirme zamanından "n" saniye sonra süresi dolar.
Bir öğede Yaşam Süresi (kullanarak
ttl
ayarlayı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:
Not
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 2.000 saniye sonra dolar. |
Ö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 1.000 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 2.000 saniye sonra dolacak. |
Sonraki adımlar
Yaşam Süresi'ni yapılandırmayı aşağıdaki makalelerde öğrenin: