Download - Change Data Capture Options
-
8/8/2019 Change Data Capture Options
1/24
People Process Performance
SDG - MDM Training & HR Acts:
Change Data Capture
-
8/8/2019 Change Data Capture Options
2/24
2
People Process Performance Copyright 2009 SDG group. All rights reserved. www.sdggroup.com
Che cos il CDC ?
Change Data Capture efficiently identifies and captures data that has beenadded to, updated in, or removed from relational tables and makes thischange data available for use by applications or individuals.
CDC most commonly used to capture transactional changes from an OLTPsystem and publish the changes to one or more subscription systems.
-
8/8/2019 Change Data Capture Options
3/24
3
People Process Performance Copyright 2009 SDG group. All rights reserved. www.sdggroup.com
Vantaggi
Ottimizza la fase di estrazione in un processo di ETL
estrazione full
estrazione delta
CDC
Conosco a priori i record da inserire, aggiornare o cancellare
Table compare non pi necessario
Minimi impatti sul DB sorgente
Facile da usare
-
8/8/2019 Change Data Capture Options
4/24
-
8/8/2019 Change Data Capture Options
5/24
5
People Process Performance Copyright 2009 SDG group. All rights reserved. www.sdggroup.com
Utenti
Publisher (editore)
chi cattura e pubblica i record cambiati
usualmente un DBA
package DBMS_CDC_PUBLISH
Subscribers (abbonati)
utenti o applicazioni che accedono ai record modificati
crea una subscription
sono i clienti del publisher
package DBMS_CDC_SUBSCRIBE
-
8/8/2019 Change Data Capture Options
6/24
6
People Process Performance Copyright 2009 SDG group. All rights reserved. www.sdggroup.com
Nozioni
Log writer process (LGWR): il processo di Oracle che scrive e gestisce iredo log file
Redo log file: ha la funzione primaria di registrare tutti i cambiamenti fattisui dati allo scopo di preservare i dati da possibili guasti (es. caduta dellacorrente). Ogni database ha 2 o pi redo log file.
Archive log file: possibile salvare i redo log file nellarchive log file. Se ilDB settato in modalit ARCHIVELOG viene fatto automaticamente.
Oracle Stream: permette la gestione e la propagazione dei dati allinternodel DB e tra DB diversi
-
8/8/2019 Change Data Capture Options
7/24
7
People Process Performance Copyright 2009 SDG group. All rights reserved. www.sdggroup.com
Terminologia
Source DB: il DB dove sono contenuti i dati da caricare. Contiene sourcetable e redo log file.
Change source: rappresentazione logica del source DB
Change set: insieme di change table e di dati transazionalmente
consistenti. Un change set pu appartenere ad un solo change sourceChange table: tabelle contenenti i record catturati dal CDC e metadati (es.informazioni di controllo). I subscribers leggono da queste tabelle
-
8/8/2019 Change Data Capture Options
8/24
8
People Process Performance Copyright 2009 SDG group. All rights reserved. www.sdggroup.com
Change Data Capture System
-
8/8/2019 Change Data Capture Options
9/24
-
8/8/2019 Change Data Capture Options
10/24
10
People Process Performance Copyright 2009 SDG group. All rights reserved. www.sdggroup.com
Synchronous Change Data Capture
Utilizza Triggers creati automaticamente sul source DB
Supportato dallOracle 9 i in poi
Non c latenza, i record modificati sono catturati immediatamente con lacommit
Aumento dellelaborazione sul sistema sorgente
Esiste un predefinito change source: SYNC_SOURCE
Le change table risiedono sul source DB
-
8/8/2019 Change Data Capture Options
11/24
11
People Process Performance Copyright 2009 SDG group. All rights reserved. www.sdggroup.com
Synchronous Change Data Capture
-
8/8/2019 Change Data Capture Options
12/24
12
People Process Performance Copyright 2009 SDG group. All rights reserved. www.sdggroup.com
Asynchronous HotLog
Utilizza online redo log file
Supportato dallOracle 10 g in poi
Breve latenza tra la commit e i record catturati disponibili
Minimo incremento dellelaborazione sul sistema sorgente
Esiste un predefinito change source: HOTLOG_SOURCE
Le change table risiedono sul source DB
-
8/8/2019 Change Data Capture Options
13/24
13
People Process Performance Copyright 2009 SDG group. All rights reserved. www.sdggroup.com
Asynchronous HotLog
-
8/8/2019 Change Data Capture Options
14/24
14
People Process Performance Copyright 2009 SDG group. All rights reserved. www.sdggroup.com
Asynchronous Distributed HotLog
Estensione del caso precedente
Attivit e oggetti del CDC sono in parte sul source DB e in parte sullostaging DB. Bisogna definire due publishers, un per il source DB e uno perlo staging DB
Non esiste un predefinito change source, bisogna crearseloSi definiscono due DB Link per la connessione e propagazione dei dati
Source DB e staging DB possono girare su hardware diversi e sistemioperativi diversi
-
8/8/2019 Change Data Capture Options
15/24
15
People Process Performance Copyright 2009 SDG group. All rights reserved. www.sdggroup.com
Asynchronous Distributed HotLog
-
8/8/2019 Change Data Capture Options
16/24
16
People Process Performance Copyright 2009 SDG group. All rights reserved. www.sdggroup.com
Asynchronous AutoLog
Utilizza un insieme di redo log file
Il redo transport services gestisce il trasferimento automatico dei redo logfile dal source DB allo staging DB
Sia online redo log che archive redo log
Supportato dallOracle 10 g in poi
Breve latenza tra la commit e i record catturati disponibili
Minimo incremento dellelaborazione sul sistema sorgente
Non esiste un predefinito change source, bisogna crearselo
Source DB e staging DB devono girare sullo stesso hardware, stesso
sistema operativo e stesso versione di Oracle
-
8/8/2019 Change Data Capture Options
17/24
-
8/8/2019 Change Data Capture Options
18/24
18
People Process Performance Copyright 2009 SDG group. All rights reserved. www.sdggroup.com
Fattori di scelta quale modalit usare
-
8/8/2019 Change Data Capture Options
19/24
19
People Process Performance Copyright 2009 SDG group. All rights reserved. www.sdggroup.com
Subscribers
Chi consuma i record
Crea una o pi subscription dalle publication disponibili
La subscription genera viste oracle
La subscription viene creata a partire dal change set, quindi
transazionalmente consistente
Segnala quando pronto a ricevere i record
Segnala quando ha finito di processare i record
-
8/8/2019 Change Data Capture Options
20/24
20
People Process Performance Copyright 2009 SDG group. All rights reserved. www.sdggroup.com
Osservazioni best practice
Operazioni non logged non sono catturate
Modalit asincrona necessita logging supplementare
Il costo computazionale proporzionale alla quantit di dati da catturare,quindi catturare solo le colonne necessarie (vale anche per le colonne dicontrollo)
Creare uno schema apposito per gestire le pubblicazioni
Per minimizzare gli impatti sulle performance possibile spostare lesource table in un tablespace e impostarlo force logging anzich forzaretutto il database
DBMS_CDC_PUBLISH.PURGE: per cancellare dati obsoleti dalle changetable
-
8/8/2019 Change Data Capture Options
21/24
21
People Process Performance Copyright 2009 SDG group. All rights reserved. www.sdggroup.com
Dizionario
PUBLISHER CHANGE_SOURCESCHANGE_SETSCHANGE_TABLESDBA_PUBLISHED_COLUMNS( ALL,USER)
SUBSCRIBER DBA_SOURCE_TABLES (ALL, USER)DBA_SUBSCRIPTIONS (ALL,USER)DBA_SUBSCRIBED_TABLESDBA_SUBSCRIBED_COLUMNS (ALL,USER)
-
8/8/2019 Change Data Capture Options
22/24
22
People Process Performance Copyright 2009 SDG group. All rights reserved. www.sdggroup.com
CDC e DI
creare un datastore che punti allo schema del cdc
flaggare Enable CDC
importare le change table
importare tabelle gi esistenti
creare change table con DI
tasto-dx sul datastore - open - tasto-dx nel vuoto - new (inizioprocedura) - selezionare modalit, tabella sorgente, tabella cdccon campi, change set e parametri vari
DI aggiunge di suo altre due colonne
DI_SEQUENCE_NUMBER: sequenza
DI_OPERATION_TYPE: tipo opeazione (I,U,D,B)
-
8/8/2019 Change Data Capture Options
23/24
23
People Process Performance Copyright 2009 SDG group. All rights reserved. www.sdggroup.com
CDC e DI
uso della tabella - definizione della subscription
drag in un DF - solo source
open dell'editor, tab CDC Options - inserire nome subscription e flag"Enable check-point"
Map_CDC_Operation
Manutenzione: drop cdc table, Drop Subscription
tasto-dx sul datastore - open - click Repository Metadata - tasto-dxsulla tabella - selezionare "CDC maintenance"
limitazioni
con una cdc table non possibile usare Table_Comparison,Key_Generation, and SQL transforms e funzioni
una sola cdc table per DF
-
8/8/2019 Change Data Capture Options
24/24
24
People Process Performance Copyright 2009 SDG group. All rights reserved. www.sdggroup.com
FINE