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 \ --namespacemynamespace
\ --nametesttable
\ --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'PutTableMaintenanceConfiguration
API. Quando si imposta la compattazione, è possibile scegliere tra le seguenti strategie di compattazione:auto
,, obinpack
sort
z-order
Nota
Per impostare la strategia di compattazione
sort
o sono necessariz-order
i seguenti prerequisiti:Un criterio di ordinamento definito nelle proprietà della Iceberg tabella.
L'
s3tables:GetTableData
autorizzazione.
aws s3tables put-table-maintenance-configuration \ --table-bucket-arn arn:aws:s3tables:
us-east-1
:111122223333
:bucket/amzn-s3-demo-table-bucket \ --type icebergCompaction \ --namespacemynamespace
\ --nametesttable
\ --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 \ --namespacemynamespace
\ --nametesttable
\ --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
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 eMaximumSnapshotAge
su 2.500 ore utilizzando l'APIPutTableMaintenanceConfiguration
.aws s3tables put-table-maintenance-configuration \ --table-bucket-arn arn:aws:s3tables:
us-east-1
:111122223333
:bucket/amzn-s3-demo-table-bucket \ --namespacemy_namespace
\ --namemy_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'
PutTableMaintenanceConfiguration
API.aws s3tables put-table-maintenance-configuration \ --table-bucket-arn arn:aws:s3tables:
us-east-1
:111122223333
:bucket/amzn-s3-demo-table-bucket \ --namespacemy_namespace
\ --namemy_table
\ --type icebergSnapshotManagement \ --value '{"status":"disabled","settings":{"icebergSnapshotManagement":{"minSnapshotsToKeep":1,"maxSnapshotAgeHours":120}}}'
Per ulteriori informazioni, consulta la sezione put-table-maintenance-configuration
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.