Manutenzione per tavoli - Amazon Simple Storage Service

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Manutenzione per tavoli

S3 Tables offre operazioni di manutenzione per migliorare la gestione e le prestazioni delle singole tabelle. Le seguenti opzioni sono abilitate di default per tutte le tabelle nei table bucket. È possibile modificarle o disattivarle specificando i file di configurazione della manutenzione per la tabella S3.

Per modificare questa configurazione sono necessarie le autorizzazioni s3tables:GetTableMaintenanceConfiguration e s3tables:PutTableMaintenanceConfiguration.

Compattazione

La compattazione è configurata a livello di tabella e combina più oggetti più piccoli in un numero inferiore di oggetti più grandi per migliorare le prestazioni delle Apache Iceberg query. Quando si combinano oggetti, la compattazione applica anche gli effetti delle eliminazioni a livello di riga nella tabella.

La compattazione è abilitata per impostazione predefinita per tutte le tabelle, con una dimensione del file di destinazione predefinita di 512 MB o un valore personalizzato specificato tra 64 MB e 512 MB. I file compattati vengono scritti come la snapshot più recente della tabella.

Strategie di compattazione

È possibile scegliere tra diverse strategie di compattazione che possono aumentare ulteriormente le prestazioni delle query a seconda dei modelli di query e dell'ordinamento delle tabelle.

S3 Tables supporta le seguenti strategie di compattazione per le tabelle:

  • Automatico (impostazione predefinita)

    • Amazon S3 seleziona la migliore strategia di compattazione in base all'ordinamento delle tabelle. Questa è la strategia di compattazione predefinita per tutte le tabelle.

    • Per le tabelle con un ordinamento definito nei metadati, auto sort applicherà automaticamente la compattazione.

    • Per le tabelle senza un criterio di ordinamento, per impostazione predefinita auto binpack utilizzerà la compattazione.

  • Binpack

    • Combina file di piccole dimensioni in file più grandi, in genere con dimensioni superiori a 100 MB, applicando eventuali eliminazioni in sospeso. Questa è la strategia di compattazione predefinita per le tabelle non ordinate.

  • Ordina

    • Organizza i dati in base a colonne specifiche che vengono ordinate automaticamente per gerarchia durante la compattazione, migliorando le prestazioni delle query per le operazioni filtrate. Questa strategia è consigliata quando le query vengono spesso filtrate in base a colonne specifiche. Quando si utilizza questa strategia, S3 Tables applica automaticamente l'ordinamento gerarchico alle colonne quando a sort_order è definito nelle proprietà della tabella.

  • Ordine Z

    • Ottimizza l'organizzazione dei dati fondendo più attributi in un unico valore scalare che può essere utilizzato per l'ordinamento, permettendo di eseguire interrogazioni efficienti su più dimensioni. Questa strategia è consigliata quando è necessario interrogare i dati su più dimensioni contemporaneamente. Questa strategia richiede la definizione di un ordinamento nelle proprietà della tabella Iceberg utilizzando la proprietà sort_order table.

La compattazione comporterà costi aggiuntivi. Per ulteriori informazioni, consulta i prezzi in Prezzi di Amazon S3.

Esempi di compattazione

Gli esempi seguenti mostrano le configurazioni per la compattazione delle tabelle.

Per configurare la dimensione del file di destinazione della compattazione utilizzando AWS CLI

La dimensione minima del file di compattazione di destinazione è 64 MB, la massima è 512 MB.

Il seguente esempio cambierà la dimensione del file di destinazione in 256 MB utilizzando l'API PutTableMaintenanceConfiguration.

aws s3tables put-table-maintenance-configuration \ --table-bucket-arn arn:aws:s3tables:us-east-1:111122223333:bucket/amzn-s3-demo-bucket1 \ --type icebergCompaction \ --namespace mynamespace \ --name testtable \ --value='{"status":"enabled","settings":{"icebergCompaction":{"targetFileSizeMB":256}}}'

Per ulteriori informazioni, consulta la sezione put-table-maintenance-configuration nella Documentazione di riferimento della AWS CLI .

Per configurare la strategia di compattazione utilizzando AWS CLI

L'esempio seguente cambierà la strategia di compattazione sort utilizzando l'PutTableMaintenanceConfigurationAPI. Quando si imposta la compattazione, è possibile scegliere tra le seguenti strategie di compattazione:auto,, o binpack sort z-order

Nota

Per impostare la strategia di compattazione sort o sono necessari z-order i seguenti prerequisiti:

  • Un criterio di ordinamento definito nelle proprietà della Iceberg tabella.

  • L's3tables:GetTableDataautorizzazione.

aws s3tables put-table-maintenance-configuration \ --table-bucket-arn arn:aws:s3tables:us-east-1:111122223333:bucket/amzn-s3-demo-table-bucket \ --type icebergCompaction \ --namespace mynamespace \ --name testtable \ --value='{"status":"enabled","settings":{"icebergCompaction":{"strategy":"sort"}}}'

Per ulteriori informazioni, consulta la sezione put-table-maintenance-configuration nella Documentazione di riferimento della AWS CLI .

Per disabilitare la compattazione utilizzando AWS CLI

Il seguente esempio disattiverà la compattazione utilizzando l'API PutTableMaintenanceConfiguration.

aws s3tables put-table-maintenance-configuration \ --table-bucket-arn arn:aws:s3tables:us-east-1:111122223333:bucket/amzn-s3-demo-table-bucket \ --type icebergCompaction \ --namespace mynamespace \ --name testtable \ --value='{"status":"disabled","settings":{"icebergCompaction":{"targetFileSizeMB":256}}}'

Per ulteriori informazioni, consulta la sezione put-table-maintenance-configuration nella Documentazione di riferimento della AWS CLI .

Gestione degli snapshot

La gestione degli snapshot determina il numero di snapshot attivi per la tabella. Si basa su MinimumSnapshots (1 per impostazione predefinita) e MaximumSnapshotAge (120 ore per impostazione predefinita). La gestione degli snapshot scade e rimuove gli snapshot delle tabelle in base a queste configurazioni.

Quando uno snapshot scade, Amazon S3 contrassegna come non correnti tutti gli oggetti a cui fa riferimento tale snapshot. Tali oggetti non correnti vengono eliminati dopo il numero di giorni specificato dalla proprietà NoncurrentDays nella policy di rimozione dei file senza riferimenti.

Nota

L'eliminazione di oggetti non correnti è permanente, pertanto gli oggetti non possono essere recuperati.

Per visualizzare o recuperare oggetti contrassegnati come non correnti, è necessario contattare Supporto AWS. Per informazioni su come contattare Supporto AWS, vedere Contatti AWS o la Supporto AWS documentazione.

La gestione delle istantanee determina gli oggetti da eliminare dalla tabella con riferimenti solo a quella tabella. I riferimenti a questi oggetti dall'esterno della tabella non impediranno alla gestione delle istantanee di eliminarli.

Nota

La gestione degli snapshot non supporta i valori di conservazione configurati come proprietà della tabella Iceberg nel file metadata.json o tramite un comando SQL ALTER TABLE SET TBLPROPERTIES, inclusa la conservazione basata su ramo o tag. La gestione degli snapshot viene disattivata quando si configura una policy di conservazione basata su ramo o tag oppure quando si configura una policy di conservazione sul file metadata.json più lunga dei valori configurati tramite l'API PutTableMaintenanceConfiguration. In questi casi S3 non scadrà né rimuoverà gli snapshot e sarà necessario eliminare manualmente gli snapshot o rimuovere le proprietà dalla tabella Iceberg per evitare costi di archiviazione.

È possibile configurare la gestione degli snapshot solo a livello di tabella. Per ulteriori informazioni, consulta i prezzi in Prezzi di Amazon S3.

Esempi di gestione delle istantanee

Gli esempi seguenti mostrano le configurazioni per la gestione delle istantanee delle tabelle.

Per configurare la gestione delle istantanee utilizzando AWS CLI

Il seguente esempio imposterà MinimumSnapshots su 10 e MaximumSnapshotAge su 2.500 ore utilizzando l'API PutTableMaintenanceConfiguration.

aws s3tables put-table-maintenance-configuration \ --table-bucket-arn arn:aws:s3tables:us-east-1:111122223333:bucket/amzn-s3-demo-table-bucket \ --namespace my_namespace \ --name my_table \ --type icebergSnapshotManagement \ --value '{"status":"enabled","settings":{"icebergSnapshotManagement":{"minSnapshotsToKeep":10,"maxSnapshotAgeHours":2500}}}'
Per disabilitare la gestione delle istantanee utilizzando il AWS CLI

L'esempio seguente disabiliterà la gestione delle istantanee tramite l'PutTableMaintenanceConfigurationAPI.

aws s3tables put-table-maintenance-configuration \ --table-bucket-arn arn:aws:s3tables:us-east-1:111122223333:bucket/amzn-s3-demo-table-bucket \ --namespace my_namespace \ --name my_table \ --type icebergSnapshotManagement \ --value '{"status":"disabled","settings":{"icebergSnapshotManagement":{"minSnapshotsToKeep":1,"maxSnapshotAgeHours":120}}}'

Per ulteriori informazioni, consulta la sezione put-table-maintenance-configuration nella Documentazione di riferimento della AWS CLI .

Considerazioni e limitazioni

Per ulteriori informazioni su considerazioni e limitazioni aggiuntive relative alla compattazione e alla gestione degli snapshot, consulta Considerazioni e limitazioni per i processi di manutenzione.

Nota

S3 Tables applica la row-group-default dimensione del parquet di 128 MB.