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à.
Filtraggio dei dati per le integrazioni zero-ETL di con Amazon Redshift
Le integrazioni Zero-ETL di Aurora supportano il filtraggio dei dati, che consente di controllare quali dati vengono replicati dal database Amazon Redshift di destinazione. Invece di replicare l'intero database, puoi applicare uno o più filtri per includere o escludere selettivamente tabelle specifiche. Ciò consente di ottimizzare le prestazioni di archiviazione e di interrogazione assicurando che vengano trasferiti solo i dati pertinenti. Attualmente, il filtraggio è limitato ai livelli di database e tabella. Il filtraggio a livello di colonna e riga non è supportato.
Il filtraggio dei dati può essere utile quando si desidera:
-
Unisci determinate tabelle da due o più cluster di di origine diversi e non avrai bisogno di dati completi da nessuno dei due cluster di .
-
Risparmia sui costi eseguendo analisi utilizzando solo un sottoinsieme di tabelle anziché un'intera flotta di database.
-
Filtra le informazioni sensibili, come numeri di telefono, indirizzi o dettagli delle carte di credito, da determinate tabelle.
Puoi aggiungere filtri di dati a un'integrazione zero-ETL utilizzando AWS Management Console, the AWS Command Line Interface (AWS CLI) o l'API Amazon RDS.
Se l'integrazione ha come destinazione un cluster Amazon Redshift fornito, il cluster deve essere sulla patch 180 o successiva per utilizzare il filtraggio dei dati.
Argomenti
Formato di un filtro dati
È possibile definire più filtri per una singola integrazione. Ogni filtro include o esclude tutte le tabelle di database esistenti e future che corrispondono a uno dei modelli nell'espressione del filtro. Le integrazioni Zero-ETL di Aurora utilizzano
Ogni filtro ha i seguenti elementi:
Elemento | Descrizione |
---|---|
Tipo di filtro |
Un tipo di |
Espressione filtro |
Un elenco di modelli separati da virgole. Le espressioni devono utilizzare la sintassi del filtro Maxwell |
Pattern |
Un pattern di filtro nel formato NotaPer Aurora MySQL, le espressioni regolari sono supportate sia nel database che nel nome della tabella. Per Aurora PostgreSQL, le espressioni regolari sono supportate solo nel nome dello schema e della tabella, non nel nome del database. Non è possibile includere filtri o denylist a livello di colonna. Una singola integrazione può avere un massimo di 99 pattern totali. Nella console, è possibile inserire modelli all'interno di una singola espressione di filtro o distribuirli tra più espressioni. Un singolo pattern non può superare i 256 caratteri di lunghezza. |
Importante
Se si seleziona un cluster DB di origine Aurora PostgreSQL, è necessario specificare almeno un modello di filtro dei dati. Come minimo, il modello deve includere un singolo database (
) per la replica su Amazon Redshift.database-name
.*.*
L'immagine seguente mostra la struttura dei filtri dati MySQL di Aurora nella console:

Importante
Non includere informazioni di identificazione personale, riservate o sensibili nei modelli di filtro.
Filtri di dati in AWS CLI
Quando si utilizza AWS CLI per aggiungere un filtro dati, la sintassi è leggermente diversa da quella della console. È necessario assegnare un tipo di filtro (Include
oExclude
) a ciascun pattern singolarmente, in modo da non poter raggruppare più pattern in un unico tipo di filtro.
Ad esempio, nella console è possibile raggruppare i seguenti modelli separati da virgole in un'unica istruzione: Include
Aurora MySQL
mydb
.mytable
,mydb
./table_\d+/
Aurora PostgreSQL
mydb
.myschema
.mytable
,mydb
.myschema
./table_\d+/
Tuttavia, quando si utilizza il AWS CLI, lo stesso filtro dati deve avere il seguente formato:
Aurora MySQL
'include:
mydb.mytable
, include:mydb./table_\d+/
'
Aurora PostgreSQL
'include:
mydb.myschema.mytable
, include:mydb.myschema./table_\d+/
'
Logica dei filtri
Se non specifichi alcun filtro di dati nella tua integrazione, Aurora presuppone un filtro predefinito include:*.*
di, che replica tutte le tabelle nel data warehouse di destinazione. Tuttavia, se aggiungi almeno un filtro, la logica predefinita passa aexclude:*.*
, che esclude tutte le tabelle per impostazione predefinita. Ciò consente di definire in modo esplicito quali database e tabelle includere nella replica.
Ad esempio, se si definisce il seguente filtro:
'include: db.table1, include: db.table2'
Aurora valuta il filtro come segue:
'exclude:*.*, include: db.table1, include: db.table2'
Pertanto, Aurora esegue solo table1
table2
repliche dal database db
denominato al data warehouse di destinazione.
Precedenza dei filtri
Aurora valuta i filtri di dati nell'ordine specificato. In AWS Management Console, elabora le espressioni di filtro da sinistra a destra e dall'alto verso il basso. Un secondo filtro o un modello individuale che segue il primo può sostituirlo.
Ad esempio, se il primo filtro èInclude books.stephenking
, include solo la stephenking
tabella del books
database. Tuttavia, se si aggiunge un secondo filtroExclude books.*
, questo sostituisce il primo filtro. Ciò impedisce la replica di tutte le tabelle books
dell'indice su Amazon Redshift.
Quando si specifica almeno un filtro, la logica parte dal presupposto predefinito che esclude automaticamente tutte le tabelle exclude:*.*
dalla replica. Come procedura ottimale, definisci i filtri dal più ampio al più specifico. Inizia con una o più Include
istruzioni per specificare i dati da replicare, quindi aggiungi Exclude
filtri per rimuovere selettivamente determinate tabelle.
Lo stesso principio si applica ai filtri definiti utilizzando. AWS CLI Aurora valuta questi modelli di filtro nell'ordine in cui li specifichi, quindi un modello potrebbe sovrascrivere quello specificato in precedenza.
I seguenti esempi dimostrano come funziona il filtraggio dei dati per le integrazioni Aurora MySQL Zero-ETL:
-
Includi tutti i database e tutte le tabelle:
'include: *.*'
-
Includi tutte le tabelle all'interno del
books
database:'include: books.*'
-
Escludi tutte le tabelle denominate
mystery
:'include: *.*, exclude: *.mystery'
-
Includi due tabelle specifiche all'interno del
books
database:'include: books.stephen_king, include: books.carolyn_keene'
-
Includi tutte le tabelle del
books
database, ad eccezione di quelle contenenti la sottostringamystery
:'include: books.*, exclude: books./.*mystery.*/'
-
Include tutte le tabelle del
books
database, ad eccezione di quelle che iniziano conmystery
:'include: books.*, exclude: books./mystery.*/'
-
Include tutte le tabelle del
books
database, ad eccezione di quelle che terminano conmystery
:'include: books.*, exclude: books./.*mystery/'
-
Include tutte le tabelle del
books
database che iniziano contable_
, ad eccezione di quella denominatatable_stephen_king
. Ad esempio,table_movies
otable_books
verrebbe replicato, ma nontable_stephen_king
.'include: books./table_.*/, exclude: books.table_stephen_king'
Esempi di Aurora PostgreSQL
I seguenti esempi dimostrano come funziona il filtraggio dei dati per le integrazioni Aurora PostgreSQL Zero-ETL:
-
Includi tutte le tabelle all'interno del database:
books
'include: books.*.*'
-
Escludi tutte le tabelle denominate
mystery
nelbooks
database:'include: books.*.*, exclude: books.*.mystery'
-
Includi una tabella all'interno del
books
database nellomystery
schema e una tabella all'interno delemployee
database nellofinance
schema:'include: books.mystery.stephen_king, include: employee.finance.benefits'
-
Includi tutte le tabelle del
books
database escience_fiction
dello schema, ad eccezione di quelle contenenti la sottostringaking
:'include: books.science_fiction.*, exclude: books.*./.*king.*/
-
Include tutte le tabelle del
books
database, ad eccezione di quelle con un nome di schema che inizia consci
:'include: books.*.*, exclude: books./sci.*/.*'
-
Include tutte le tabelle del
books
database, ad eccezione di quelle dellomystery
schema che termina conking
:'include: books.*.*, exclude: books.mystery./.*king/'
-
Include tutte le tabelle del
books
database che iniziano contable_
, ad eccezione di quella denominatatable_stephen_king
. Ad esempio,table_movies
nellofiction
schema etable_books
nellomystery
schema vengono replicati, ma nontable_stephen_king
in nessuno dei due schemi:'include: books.*./table_.*/, exclude: books.*.table_stephen_king'
Aggiungere filtri di dati a un'integrazione
Puoi configurare il filtraggio dei dati utilizzando AWS Management Console l'API AWS CLI Amazon RDS o la.
Importante
Se aggiungi un filtro dopo aver creato un'integrazione, Aurora lo considera come se fosse sempre esistito. Rimuove tutti i dati nel data warehouse Amazon Redshift di destinazione che non soddisfano i nuovi criteri di filtraggio e risincronizza tutte le tabelle interessate.
Per aggiungere filtri di dati a un'integrazione zero-ETL
Accedi a AWS Management Console e apri la console Amazon RDS all'indirizzo https://console.aws.amazon.com/rds/
. -
Nel pannello di navigazione, scegli Integrazioni zero-ETL. Seleziona l'integrazione a cui desideri aggiungere filtri di dati, quindi scegli Modifica.
-
In Source, aggiungi una o più
Exclude
istruzioniInclude
e.L'immagine seguente mostra un esempio di filtri di dati per un'integrazione MySQL:
-
Quando sei soddisfatto delle modifiche, scegli Continua e salva le modifiche.
Per aggiungere filtri di dati a un'integrazione zero-ETL utilizzando AWS CLI, chiama il comando modify-integration.--data-filter
parametro con un elenco separato da virgole di filtri Maxwell. Include
Exclude
L'esempio seguente aggiunge modelli di filtro a. my-integration
In Linux, macOS, oppure Unix:
aws rds modify-integration \ --integration-identifier
my-integration
\ --data-filter'include: foodb.*, exclude: foodb.tbl, exclude: foodb./table_\d+/'
In Windows:
aws rds modify-integration ^ --integration-identifier
my-integration
^ --data-filter'include: foodb.*, exclude: foodb.tbl, exclude: foodb./table_\d+/'
Per modificare un'integrazione zero-ETL utilizzando l'API RDS, chiama l'operazione. ModifyIntegration Specificate l'identificatore di integrazione e fornite un elenco di modelli di filtro separati da virgole.
Rimozione dei filtri di dati da un'integrazione
Quando rimuovi un filtro dati da un'integrazione, Aurora rivaluta i filtri rimanenti come se il filtro rimosso non fosse mai esistito. Quindi replica tutti i dati precedentemente esclusi che ora soddisfano i criteri nel data warehouse Amazon Redshift di destinazione. Ciò attiva una risincronizzazione di tutte le tabelle interessate.