Élettartam (TTL) az Azure Cosmos DB-ben

A KÖVETKEZŐRE VONATKOZIK: NoSQL

Az Élettartam vagy a TTL használatával az Azure Cosmos DB bizonyos idő elteltével automatikusan törli az elemeket egy tárolóból. Alapértelmezés szerint beállíthatja a tároló szintjén való élettartamot, és elemenként felülbírálhatja az értéket. Miután beállította a TTL-t egy tárolóban vagy elemszinten, az Azure Cosmos DB automatikusan eltávolítja ezeket az elemeket az időszak után, a legutóbbi módosításuk óta. Az élettartam másodpercben van konfigurálva. A TTL konfigurálásakor a rendszer automatikusan törli a lejárt elemeket a TTL-érték alapján anélkül, hogy az ügyfélalkalmazás kifejezetten kiadott törlési műveletet kellene végrehajtania. A TTL maximális értéke 2147483647 másodperc, körülbelül 24 855 nap vagy 68 év.

A lejárt elemek törlése olyan háttérfeladat, amely a felhasználói kérések által nem felhasznált, hátrahagyott kérelemegységeket használja fel. Még a TTL lejárta után is, ha a tároló túlterhelt a kérésekkel, és nem áll rendelkezésre elegendő kérelemegység, az adattörlés késik. Az adatok akkor törlődnek, ha elegendő kérelemegység áll rendelkezésre a törlési művelet végrehajtásához. Bár az adattörlés késik, a TTL lejárta után a lekérdezések (bármely API) nem ad vissza adatokat.

Megjegyzés:

Ez a tartalom az Azure Cosmos DB tranzakciós tár TTL-jével kapcsolatos. Ha olyan elemzési tár TTL-t keres, amely engedélyezi a NoETL HTAP-forgatókönyveket az Azure Synapse Linken keresztül, kattintson ide.

A tárolók és elemek élettartamának ideje

Az élő érték másodpercben van beállítva, és az elem utolsó módosításának időpontjától való eltérésként van értelmezve. Beállíthat egy tárolón vagy egy elemen belüli élettartamot:

  1. Élettartam tárolón (beállítás: DefaultTimeToLive):

    • Ha hiányzik (vagy null értékre van állítva), az elemek nem lépnek érvénybe automatikusan.

    • Ha jelen van, és az érték "-1" értékre van állítva, az egyenlő a végtelenséggel, és az elemek alapértelmezés szerint nem járnak le.

    • Ha jelen van, és az érték egy "n" nemzero számra van állítva– az elemek az utolsó módosítás után másodperccel lejárnak.

  2. Élettartam egy elemen (beállítás: ttl):

    • Ez a tulajdonság csak akkor alkalmazható, ha DefaultTimeToLive jelen van, és nincs null értékre állítva a szülőtárolóhoz.

    • Ha be van állítva, felülbírálja a szülőtároló DefaultTimeToLive értékét.

Élettartam-konfigurációk

  • Ha a TTL értéke "n" egy tárolón, akkor a tárolóban lévő elemek n másodperc elteltével lejárnak. Ha ugyanabban a tárolóban vannak olyan elemek, amelyeknek van saját ideje élni, állítsa a -1 értékre (jelezve, hogy nem járnak le). Ha egyes elemek eltérő számmal felülbírálják az élettartam-beállítást, ezek az elemek a saját konfigurált TTL-értékük alapján lejárnak.

  • Ha a TTL nincs beállítva egy tárolón, akkor a tárolóban lévő elemen való élettartamnak nincs hatása.

  • Ha egy tároló TTL-értéke -1, akkor a tároló egy olyan eleme, amelynek az élettartamát n értékre állítja, n másodperc elteltével lejár, a fennmaradó elemek pedig nem járnak le.

Példák

Ez a szakasz példákat mutat be a tárolóhoz és elemekhez rendelt élő értékek eltérő időértékeivel:

Megjegyzés:

A TTL beállítása egy elemen null értékre nem támogatott. Az elem TTL-értékének olyan nem pozitív egész számnak kell lennie, amely kisebb vagy egyenlő 2147483647 vagy -1 értéknél, ami azt jelenti, hogy az elem soha nem jár le. Ha egy elemen az alapértelmezett TTL-t szeretné használni, győződjön meg arról, hogy a TTL tulajdonság nincs jelen.

1\. példa

A tároló TTL értéke null (DefaultTimeToLive = null)

TTL az elemen Eredmény
hiányzik a ttl tulajdonság A TTL le van tiltva. Az elem soha nem jár le (alapértelmezett).
ttl = -1 A TTL le van tiltva. Az elem soha nem jár le.
ttl = 2000 A TTL le van tiltva. Az elem soha nem jár le.

2\. példa

A tároló TTL-értéke -1 (DefaultTimeToLive = -1)

TTL az elemen Eredmény
hiányzik a ttl tulajdonság A TTL engedélyezve van. Az elem soha nem jár le (alapértelmezett).
ttl = -1 A TTL engedélyezve van. Az elem soha nem jár le.
ttl = 2000 A TTL engedélyezve van. Az elem 2000 másodperc után lejár.

3. példa

A tároló TTL értéke 1000 (DefaultTimeToLive = 1000)

TTL az elemen Eredmény
hiányzik a ttl tulajdonság A TTL engedélyezve van. Az elem 1000 másodperc után lejár (alapértelmezés szerint).
ttl = -1 A TTL engedélyezve van. Az elem soha nem jár le.
ttl = 2000 A TTL engedélyezve van. Az elem 2000 másodperc után lejár.

Következő lépések

Az alábbi cikkekből megtudhatja, hogyan konfigurálhatja az élettartamot: