qual è un approccio migliore nella replica dei dati da una tabella all'altra? trigger o uno strumento ETL di terze parti?

0

Abbiamo più tabelle di cui abbiamo bisogno per recuperare i dati e fare il dump su una tabella centralizzata. Attualmente ciò che stiamo facendo è eseguire un lavoro ETL creato da Pentaho, recuperare i record dalle tabelle di origine e scaricarlo nella tabella di destinazione, che viene eseguito ogni 5 minuti. Ma ora, è necessario eliminare o almeno ridurre l'intervallo tra l'esecuzione del lavoro ETL. Un'opzione è quella di ridurre il tempo di intervallo, un altro è usare i trigger. Ma l'unica cosa che ci interessa in questo momento è il costo aggiuntivo di utilizzo dell'uso di trigger. Non ho molta esperienza con i trigger, quindi sto controllando con voi ragazzi se i trigger realmente costano un sacco di CPU / memoria dal server del database.

    
posta niccolo m. 30.06.2016 - 06:01
fonte

2 risposte

1

Il costo dell'ETL dovrebbe essere più economico perché c'è un certo livello di batch coinvolti, piuttosto che lavorare per ogni INSERT / UPDATE. Ma quando il tempo richiesto diventa più piccolo, il trigger diventa la risposta più adatta.

D'altra parte, se può essere implementato usando il trigger (ad esempio, copia su un'altra tabella), forse non hai davvero bisogno di usare ETL. Hai bisogno dell'ETL per eseguire trasformazioni complesse e caricare i dati su un altro sistema.

    
risposta data 30.06.2016 - 08:46
fonte
1

I trigger si attivano in modo sincrono con la transazione che inizialmente ha scritto i dati. Questo Tx subirà un'ulteriore latenza a causa dell'innesco. Questo potrebbe essere accettabile per te, o no. Se il codice trigger fallisce, anche il Tx originale avrà esito negativo.

Change Data Capture potrebbe essere un approccio ragionevole. Può essere asincrono in fase di esecuzione. L'applicazione ignorerà l'esistenza di CDC. Ha alcune dipendenze del software di sistema e altre spese generali, quindi verifica che la tua installazione possa supporarle.

Se è necessaria una significativa manipolazione dei dati tra l'origine e la destinazione (piuttosto che un semplice lavoro cut-an-past), un buon pacchetto ETL eseguito frequentemente è la strada da percorrere.

    
risposta data 05.07.2016 - 06:03
fonte

Leggi altre domande sui tag