change data capture options

Upload: steno001

Post on 10-Apr-2018

221 views

Category:

Documents


0 download

TRANSCRIPT

  • 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