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 in tutte le 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 compatibile con Iceberg per le analisi e le operazioni di viaggio nel tempo.
Quando configuri la replica per una tabella, S3 Tables:
-
Crea una tabella di replica di sola lettura in ogni bucket di tabella di destinazione con lo stesso nome e spazio dei nomi della tabella di origine.
-
Riempie la replica con lo stato più recente della tabella di origine
-
Monitora la tabella dei sorgenti per verificare la presenza di nuovi aggiornamenti
-
Esegue 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 delle tabelle: tutte le istantanee, incluse le istantanee compattate, vengono replicate in ordine cronologico, mantenendo le relazioni padre-figlio e i numeri di sequenza dalla 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 delle tabelle vengono replicati nella regione di destinazione. Questo include:
-
File di metadati: file metadata.json di tabella, manifesti, elenchi manifest, statistiche sulle partizioni e statistiche sulle tabelle.
-
Elimina file: tutti i file eliminati vengono replicati per mantenere l'accuratezza dei dati nelle tabelle di replica.
-
File di dati: tutti i file di dati a cui fanno riferimento i manifesti vengono replicati.
-
-
Metadati delle tabelle: replica completa dei metadati, comprese le informazioni sullo schema (attuale e storico), 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 interrogazioni 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 con viaggi nel tempo di funzionare correttamente sulle tabelle di replica.
-
Specifiche delle partizioni: 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 l'ottimizzazione 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 dalla tabella di origine agli array della tabella di replica per i seguenti campi:
-
snapshots— Unisce tutte le istantanee dalla tabella di origine all'array di snapshot della tabella di replica tramite 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 dei criteri di ordinamento dalla tabella di origine all'array di ordinamento della tabella di replica per order-id. -
partition-specs— Unisce le specifiche delle partizioni dalla tabella di origine all'array partition-specs della tabella di replica tramite spec-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)
Stato specifico della replica
I seguenti campi vengono calcolati a partire 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, garantendo 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 file di metadati corrente. -
Tutti i percorsi dei file vengono modificati in modo che puntino alle posizioni della tabella di replica.
Replica di istantanee
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 conservate 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 degli snapshot 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 scattato istantanee scadute di febbraio nella tabella di origine utilizzando una procedura Spark, puoi comunque viaggiare nel tempo verso le istantanee nella tabella di replica.
Considerazioni e limitazioni
Le seguenti considerazioni si applicano alle tabelle replicate:
-
S3 Tables replica sia le tabelle Iceberg V2 che 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 AWS altre tabelle di sistema generate.
-
Tutte le istantanee delle tabelle, incluse le istantanee compattate, vengono replicate dalla tabella di origine. Di conseguenza, la compattazione non è supportata sulle tabelle di replica.