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à.
Come funziona la replica di S3 Tables
La replica di S3 Tables crea repliche in sola lettura delle tabelle Apache Iceberg tra regioni e. Account AWS Le tabelle di replica vengono gestite automaticamente dal servizio S3 Tables e contengono i dati completi, i metadati e la cronologia delle istantanee della tabella di origine, rendendole interrogabili utilizzando qualsiasi motore per analisi e operazioni di viaggio nel tempo. Iceberg-compatible
Quando si configura la replica per una tabella, S3 Tables:
-
Crea una tabella di replica di sola lettura in ogni bucket della tabella di destinazione con lo stesso nome e namespace della tabella di origine.
-
Riempie la replica con lo stato più recente della tabella di origine
-
Monitora la tabella di origine per verificare la presenza di nuovi aggiornamenti
-
Effettua il commit di tutti gli aggiornamenti nelle repliche nello stesso ordine dell'origine per mantenere la coerenza
Per ulteriori informazioni, consultare le sezioni indicate di seguito.
Argomenti
Cosa viene replicato
Vengono replicati i seguenti componenti della tabella:
-
Istantanee della tabella: tutte le istantanee, incluse le istantanee compatte, vengono replicate in ordine cronologico, mantenendo le relazioni padre-figlio e i numeri di sequenza della tabella di origine. Ciò garantisce che le tabelle di replica offrano le stesse funzionalità di viaggio nel tempo delle tabelle di origine.
-
Dati della tabella: tutti i file di dati a cui fanno riferimento le istantanee della tabella vengono replicati nella regione di destinazione. Questo include:
-
File di metadati: file metadata.json della tabella, manifesti, elenchi di manifesti, statistiche delle partizioni e statistiche delle tabelle.
-
Elimina file: tutti i file eliminati vengono replicati per mantenere la precisione dei dati nelle tabelle di replica.
-
File di dati: tutti i file di dati a cui fanno riferimento i manifesti vengono replicati.
-
-
Metadati della tabella: replica completa dei metadati, incluse le informazioni sullo schema (attuali e cronologiche), le specifiche delle partizioni, i criteri di ordinamento e le proprietà delle tabelle.
-
Informazioni sullo schema: tutti gli schemi delle tabelle vengono replicati, inclusi lo schema corrente e le versioni storiche dello schema. Ciò garantisce che le query sulle tabelle di replica utilizzino le definizioni di colonna, i tipi di dati e le mappature dei campi corretti. Il processo di replica mantiene la cronologia dell'evoluzione dello schema, consentendo alle query relative ai viaggi nel tempo di funzionare correttamente sulle tabelle di replica.
-
Specifiche di partizione: le specifiche di partizione attuali e storiche vengono replicate, garantendo che le tabelle di replica mantengano la stessa strategia di partizionamento delle tabelle di origine.
-
Ordini di ordinamento: gli ordinamenti delle tabelle vengono replicati per mantenere le ottimizzazioni delle prestazioni delle query.
-
Come vengono replicati i dati
La replica determina uno stato valido per le tabelle di replica confrontando i metadati delle tabelle Apache Iceberg tra le tabelle di origine e di replica. La replica elabora i metadati in tre categorie per aggiornare la tabella di replica.
Per i metadati delle tabelle
Per i campi di metadati con versione, la replica unisce i valori della tabella di origine negli array della tabella di replica per i seguenti campi:
-
snapshots— Unisce tutte le istantanee dalla tabella di origine all'array di istantanee della tabella di replica per snapshot-id. -
snapshot-log— Unisce i log delle istantanee dalla tabella di origine all'array snapshot-log della tabella di replica, ordinati per timestamp e snapshot-id. -
sort-orders— Unisce le definizioni degli ordinamenti dalla tabella di origine all'array di ordinamenti della tabella di replica per order-id. -
partition-specs— Unisce le specifiche di partizione dalla tabella di origine all'array delle specifiche delle partizioni della tabella di replica per spec-id. -
schemas— Unisce le definizioni dello schema dalla tabella di origine all'array degli schemi della tabella di replica per schema-id.
Per la configurazione della tabella
Per i campi che rappresentano la configurazione della tabella, la replica copia i valori direttamente dalla tabella di origine:
-
properties -
partition-statistics -
statistics
Lo stato corrente della tabella viene trasferito anche dalla tabella di origine:
-
current-snapshot-id -
current-schema-id -
last-column-id -
last-partition-id -
last-sequence-number -
default-sort-order-id -
next-row-id(Iceberg V3) -
encryption-keys(Iceberg V3)
Replica-specific stato
I seguenti campi vengono calcolati dai dati uniti e aggiornati per la tabella di replica:
-
locationviene aggiornato durante la replica in modo che punti alla posizione corretta del file nel bucket della tabella di replica, assicurando che tutti i riferimenti ai file siano validi nell'ambiente di destinazione. -
metadata-logcontiene tutti i nomi di file di metadati di destinazione e viene aggiornato dopo ogni replica riuscita con il nome di file di metadati corrente. -
Tutti i percorsi dei file vengono modificati in modo da puntare alle posizioni della tabella di replica.
Replica istantanea
La replica di S3 Tables mantiene la cronologia completa delle istantanee tra le regioni replicando tutte le istantanee delle tabelle nello stesso ordine di commit della tabella di origine. Le relazioni padre-figlio della tabella di origine vengono mantenute nella tabella di replica.
Conservazione degli snapshot
È possibile configurare un periodo di conservazione delle istantanee personalizzato per le tabelle replicate diverso dal periodo di conservazione dell'origine. Ciò significa che anche se le istantanee sono scadute e non sono più disponibili nella tabella di origine, possono essere conservate nelle repliche.
Ad esempio, se la tabella di origine ha un periodo di conservazione delle istantanee di 30 giorni ma la tabella di replica è configurata con un periodo di conservazione di 90 giorni, la replica manterrà le istantanee dei due mesi precedenti che non sono più disponibili nella tabella di origine.
Le istantanee scadute manualmente nella tabella di origine vengono conservate anche nella tabella di replica. Ad esempio, se hai fatto scadere le istantanee nella tabella di origine a partire da febbraio utilizzando una procedura Spark, puoi comunque viaggiare nel tempo fino alle istantanee nella tabella di replica.
Considerazioni e limitazioni
Le seguenti considerazioni si applicano alle tabelle replicate:
-
S3 Tables replica le tabelle Iceberg V2 e V3. Tuttavia, la replica delle tabelle aggiornate (V2 → V3) non è supportata.
-
I file di metadati di dimensioni superiori a 500 MB non sono supportati.
-
Sebbene gli aggiornamenti delle tabelle vengano in genere replicati in pochi minuti, la replica può richiedere più tempo a seconda delle dimensioni dell'aggiornamento della tabella da replicare, ad esempio, quando la replica inizia il backfill.
-
Le tabelle con tag o rami non sono supportate.
-
La replica non è supportata per le tabelle di metadati di Amazon S3 o altre AWS tabelle di sistema generate.
-
Tutte le istantanee delle tabelle, incluse le istantanee compatte, vengono replicate dalla tabella di origine. Di conseguenza, la compattazione non è supportata nelle tabelle di replica.