Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
La característica de período de vida (TTL) de Cosmos DB le ayuda a administrar el ciclo de vida de los datos mediante la eliminación automática de elementos después de un período especificado , en segundos. TTL es especialmente útil para escenarios en los que los datos solo son relevantes durante un tiempo limitado, como los datos de sesión, las métricas o los registros. Al habilitar TTL, puede mantener la base de datos magra, reducir los costos de almacenamiento y asegurarse de que solo se conservan los datos pertinentes actuales.
Nota:
Al aplicar una política de TTL a un contenedor. Los elementos expirados a través de TTL se reflejan en los datos reflejados en OneLake.
Funcionamiento de TTL
Cuando TTL está habilitado en un contenedor o en un elemento individual, Cosmos DB realiza un seguimiento de la antigüedad de cada elemento. Una vez que la antigüedad de un elemento supera su valor TTL, el sistema lo marca automáticamente para su eliminación y lo purga. TTL se puede establecer en el nivel de contenedor (se aplica a todos los elementos) o invalidarse en el nivel de elemento para un control más granular.
TTL de nivel de contenedor: Todos los elementos del contenedor heredan el TTL predeterminado a menos que se especifique un TTL a nivel de elemento.
TTL de nivel de elemento: puede establecer un TTL específico para elementos individuales, reemplazando el valor predeterminado del contenedor.
Deshabilitar TTL: al establecer TTL en -1 se deshabilita la eliminación automática del contenedor o elemento.
Los valores de TTL se especifican en segundos. La cuenta atrás comienza desde la hora de última modificación del elemento (o la hora de creación si no se actualiza). Cuando expira el TTL, el elemento es apto para la eliminación automática durante el siguiente ciclo de purga en segundo plano.
Ventajas de usar TTL
Limpieza automatizada de datos: no es necesario scripts de eliminación manual ni trabajos programados.
Ahorro de costos: reduzca los costos de almacenamiento mediante la eliminación de datos obsoletos o irrelevantes.
Rendimiento mejorado: mantenga eficaz la base de datos conservando solo los datos activos.
Configuración de TTL
El valor de TTL se interpreta como un delta, en segundos, desde el momento en que se modificó por última vez un elemento. Las reglas siguientes se aplican al establecer un valor TTL.
El período de vida (TTL) se puede establecer en el nivel de contenedor y elemento, lo que proporciona flexibilidad para administrar la expiración de los datos de la manera deseada.
Esta configuración le permite combinar y ajustar las políticas de expiración para satisfacer sus necesidades de retención de datos, ya sea si desea que todo expire, nada expire o una combinación de ambas opciones.
Aquí se muestra cómo funciona la configuración del TTL en los niveles de contenedor y elemento:
TTL a nivel de contenedor
Si no establece un TTL (o lo establece en
null0), los elementos del contenedor no expiran automáticamente.Si establece el TTL del contenedor en
-1, es como decir "mantén todo para siempre". Los elementos no expiran de forma predeterminada. Matemáticamente, este valor es equivalente a establecer la expiración en infinito.Si establece el TTL del contenedor en un número positivo distinto de cero, cada elemento del contenedor expirará segundos después de su última modificación o actualización. Si el elemento nunca se modificó, la expiración se basa en la hora de creación.
TTL de nivel de elemento
TTL a nivel de elemento solo entra en vigor si la propiedad TTL se establece a nivel de contenedor y NO está establecida con un valor de
null.Si establece un TTL en un elemento, invalida el valor predeterminado del contenedor. Por ejemplo, si el TTL del contenedor es de 1 hora, pero el TTL de un elemento se establece en 10 minutos, ese elemento expirará después de 10 minutos.
Si el TTL de un elemento está establecido en
-1, no expira aunque el contenedor tenga un TTL.Si no se establece el TTL del contenedor, se omite cualquier TTL establecido en los elementos.
Si el TTL del contenedor es
-1, pero el TTL de un elemento es un número positivo, ese elemento expirará después de su propio TTL, mientras que otros elementos del contenedor permanecen indefinidamente.
Sugerencia
En varios kits de desarrollo de software (SDK), el valor de nivel de contenedor se identifica a menudo como la DefaultTimeToLive propiedad del contenedor. En el propio elemento, el valor de nivel de elemento se establece mediante la ttl propiedad .
Configuraciones de TTL de ejemplo
En esta tabla se muestran escenarios de ejemplo con valores TTL diferentes asignados en el nivel de contenedor o elemento.
| Escenario | TTL del contenedor | Tiempo de Vida del Elemento | Comentarios |
|---|---|---|---|
| TTL está deshabilitado | <null> |
Esta configuración es el comportamiento predeterminado donde los elementos nunca expiran. | |
| TTL está deshabilitado | <null> |
-1 |
Los elementos nunca expiran |
| TTL está deshabilitado | <null> |
3600 |
Los elementos nunca expiran |
| TTL está habilitado | -1 |
TTL está habilitado, pero los elementos nunca expiran | |
| TTL está habilitado | -1 |
-1 |
TTL está habilitado, pero los elementos nunca expiran |
| TTL está habilitado | -1 |
3600 |
TTL está habilitado y los elementos específicos expiran después de 1 hora |
| Todos los elementos expiran después de siete días | 604800 |
Cada elemento se elimina siete días después de la creación o la última actualización | |
| Algunos elementos nunca expiran mientras que otros expiran después de siete días | 604800 |
-1 |
Los elementos con TTL -1 nunca se eliminan mientras que otros expiran después de siete días |
| Los elementos expiran después de 1 hora | 3600 |
Todos los elementos se eliminan 1 hora después de la creación o la última actualización | |
| El elemento específico expira después de 30 minutos, mientras que otros expiran después de 1 hora | 3600 |
1800 |
La mayoría de los elementos expiran después de 1 hora, pero los elementos específicos expiran después de 30 minutos |
Nota:
No se admite establecer TTL en NULL en un elemento. El valor TTL del elemento debe ser un entero distinto de cero positivo menor o igual que 2147483647. Como alternativa, puede establecer el TTL en -1, lo que significa que los elementos individuales no expiran. Para usar el TTL predeterminado en un elemento, asegúrese de que la ttl propiedad no está presente.