Extensiones (particiones de datos)

Las tablas se dividen en extensiones o particiones de datos. Cada extensión es un segmento horizontal de la tabla que contiene datos y metadatos, como su tiempo de creación y etiquetas opcionales. La unión de todas estas extensiones contiene todo el conjunto de datos de la tabla. Las extensiones se distribuyen uniformemente entre los nodos del clúster y se almacenan en caché tanto en SSD local como en memoria para optimizar el rendimiento.

Las extensiones son inmutables, lo que significa que se pueden consultar, reasignar a un nodo diferente o quitarse de la tabla, pero nunca modificarse. La modificación de datos se produce mediante la creación de nuevas extensiones y el intercambio transaccional de extensiones antiguas con las nuevas. La inmutabilidad de las extensiones proporciona ventajas como una mayor solidez y una reversión fácil a las instantáneas anteriores.

Las extensiones contienen una colección de registros que están organizados físicamente en columnas, lo que permite una codificación y compresión eficaces de los datos. Para mantener la eficacia de las consultas, las extensiones más pequeñas se combinan en grandes extensiones según la directiva de combinación configurada y la directiva de particionamiento. La combinación de extensiones reduce la sobrecarga de administración y conduce a la optimización de índices y a una compresión mejorada.

El ciclo de vida de la extensión común es el siguiente:

  1. La extensión se crea mediante una operación de ingesta.
  2. La extensión se combina con otras extensiones.
  3. La extensión combinada (posiblemente una que realiza un seguimiento de su linaje en otras extensiones) se elimina finalmente debido a una directiva de retención.

Tiempo de creación de la extensión

Se realiza un seguimiento de dos valores datetime por extensión: MinCreatedOn y MaxCreatedOn. Estos valores son inicialmente iguales, pero pueden cambiar cuando la extensión se combina con otras extensiones. Cuando la extensión se combina con otras extensiones, los nuevos valores son según los valores mínimos y máximos originales de las extensiones combinadas.

El tiempo de creación de una extensión se usa con los siguientes fines:

  • Retención: las extensiones creadas anteriormente se quitan anteriormente.
  • Almacenamiento en caché: las extensiones creadas recientemente se mantienen en caché activa.
  • Muestreo: se prefieren extensiones recientes al usar operaciones de consulta como tomar.

Para sobrescribir el tiempo de creación de una extensión, proporcione una alternativa creationTime en las propiedades de ingesta de datos. Esto puede ser útil para fines de retención, como si desea volver a recuperar los datos, pero no desea que aparezca como si llegara tarde.

Nota

El cálculo para quitar una extensión en función del tiempo usa la hora de creación de la extensión más reciente dentro de la extensión combinada.