Extent (partizioni di dati)
Si applica a: ✅Microsoft Fabric✅Azure Esplora dati
Le tabelle vengono partizionate in extent o partizioni di dati. Ogni extent è un segmento orizzontale della tabella che contiene dati e metadati, ad esempio l'ora di creazione e i tag facoltativi. L'unione di tutti questi extent contiene l'intero set di dati della tabella. Gli extent vengono distribuiti uniformemente tra i nodi del cluster e vengono memorizzati nella cache sia nell'unità SSD locale che nella memoria per ottimizzare le prestazioni.
Gli extent non sono modificabili, ovvero possono essere sottoposti a query, riassegnati a un nodo diverso o eliminati dalla tabella, ma non modificati mai. La modifica dei dati avviene creando nuovi extent e scambiando in modo transazionale gli extent precedenti con quelli nuovi. L'immutabilità degli extent offre vantaggi come l'aumento della robustezza e la facile riversione agli snapshot precedenti.
Gli extent contengono una raccolta di record disposti fisicamente nelle colonne, consentendo una codifica efficiente e la compressione dei dati. Per mantenere l'efficienza delle query, gli extent più piccoli vengono uniti in extent maggiori in base ai criteri di unione configurati e ai criteri di partizionamento orizzontale. L'unione degli extent riduce il sovraccarico di gestione e comporta l'ottimizzazione dell'indice e una compressione migliorata.
Il ciclo di vita dell'extent comune è il seguente:
- L'extent viene creato da un'operazione di inserimento.
- L'extent viene unito ad altri extent.
- L'extent unito (possibilmente uno che tiene traccia della derivazione in altri extent) viene infine eliminato a causa di un criterio di conservazione.
Tempo di creazione dell'extent
Vengono rilevati due valori datetime per extent: MinCreatedOn
e MaxCreatedOn
. Questi valori sono inizialmente uguali, ma possono cambiare quando l'extent viene unito ad altri extent. Quando l'extent viene unito ad altri extent, i nuovi valori sono in base ai valori minimi e massimi originali degli extent uniti.
L'ora di creazione di un extent viene utilizzata per gli scopi seguenti:
- Conservazione: gli extent creati in precedenza vengono eliminati in precedenza.
- Memorizzazione nella cache: gli extent creati di recente vengono mantenuti nella cache ad accesso frequente.
- Campionamento: gli extent recenti sono preferiti quando si usano operazioni di query come take.
Per sovrascrivere il tempo di creazione di un extent, fornire un'alternativa creationTime
nelle proprietà di inserimento dati. Questo può essere utile per scopi di conservazione, ad esempio se si vogliono modificare i dati, ma non si vuole che vengano visualizzati come se fosse arrivato in ritardo.
Nota
Il calcolo per la rimozione di un extent in base al tempo usa l'ora di creazione dell'extent più recente all'interno dell'extent unito.