Extensões (fragmentos de dados)

As tabelas são particionadas em extensões ou fragmentos de dados. Cada extensão é um segmento horizontal da tabela que contém dados e metadados, como seu tempo de criação e marcas opcionais. A união de todas essas extensões contém todo o conjunto de dados da tabela. As extensões são distribuídas uniformemente entre nós no cluster e são armazenadas em cache no SSD local e na memória para desempenho otimizado.

As extensões são imutáveis, o que significa que podem ser consultadas, reatribuídas a um nó diferente ou removidas da tabela, mas nunca modificadas. A modificação de dados ocorre criando novas extensões e trocando transacionalmente extensões antigas pelas novas. A imutabilidade de extensões oferece benefícios como maior robustez e fácil reversão para instantâneos anteriores.

As extensões contêm uma coleção de registros fisicamente organizados em colunas, permitindo codificação e compactação eficientes dos dados. Para manter a eficiência da consulta, extensões menores são mescladas em extensões maiores de acordo com a política de mesclagem configurada e a política de fragmentação. A mesclagem de extensões reduz a sobrecarga de gerenciamento e leva à otimização do índice e à compactação aprimorada.

O ciclo de vida de extensão comum é o seguinte:

  1. A extensão é criada por uma operação de ingestão.
  2. A extensão é mesclada com outras extensões.
  3. A extensão mesclada (possivelmente uma que rastreia sua linhagem em outras extensões) é eventualmente descartada devido a uma política de retenção.

Tempo de criação de extensão

Dois valores de datetime são rastreados por extensão: MinCreatedOn e MaxCreatedOn. Esses valores são inicialmente os mesmos, mas podem ser alterados quando a extensão é mesclada com outras extensões. Quando a extensão é mesclada com outras extensões, os novos valores são de acordo com os valores mínimos e máximos originais das extensões mescladas.

O tempo de criação de uma extensão é usado para as seguintes finalidades:

  • Retenção: as extensões criadas anteriormente são descartadas anteriormente.
  • Cache: as extensões criadas recentemente são mantidas em cache frequente.
  • Amostragem: as extensões recentes são preferenciais ao usar operações de consulta como take.

Para substituir o tempo de criação de uma extensão, forneça uma alternativa creationTime nas propriedades de ingestão de dados. Isso pode ser útil para fins de retenção, como se você quisesse reingressar os dados, mas não quiser que eles apareçam como se eles chegassem atrasados.

Observação

O cálculo para remover uma extensão com base no tempo usa o tempo de criação da extensão mais recente dentro da extensão mesclada.