Informazioni su Integrated Replicat
In modalità integrata, Replicat sfrutta la funzionalità di applicazione dell'elaborazione disponibile nell'Oracle AI Database di destinazione. In questa modalità Replicat legge il trail, crea record di modifica logica che rappresentano transazioni DML o DDL di origine e trasmette tali record a un server in entrata nel database di destinazione Oracle. Il server in entrata applica i dati al database di destinazione.
Nota: Replicat integrato è solo un processo in linea. Non utilizzarlo per eseguire caricamenti iniziali.
In modalità integrata, il processo Replicat sfrutta la funzionalità di applicazione dell'elaborazione disponibile in Oracle AI Database. Quando questa modalità è attiva, Replicat esegue le operazioni riportate di seguito.
-
Legge il trail di Oracle GoldenGate.
-
Esegue l'applicazione dei filtri, il mapping e la conversione dei dati.
-
Crea i record LCR (Logical Change Records) che rappresentano le transazioni DML del database di origine (secondo l'ordine di esecuzione del commit). DDL viene applicato direttamente da Replicat.
-
Accede a un processo in background nel database di destinazione noto come server in entrata del database mediante un'interfaccia di streaming ridotta.
-
Trasmette i record LCR al server in entrata, che applica i dati al database di destinazione.
All'interno di una singola configurazione Replicat, più processi figlio del server in entrata, noti come server di applicazione, applicano le transazioni in parallelo, conservando l'atomicità della transazione originale. È possibile aumentare questo parallelismo tanto quanto il sistema di destinazione supporterà quando si configura il processo Replicat o dinamicamente in base alle esigenze. Il diagramma seguente illustra Replicat integrato configurato con due server di applicazione paralleli.

Nel diagramma sopra riportato, Integrated Replicat applica le transazioni in modo asincrono. Le transazioni che non hanno interdipendenze possono essere eseguite e impegnate in modo sicuro per ottenere un throughput rapido. Le transazioni con dipendenze sono garantite per essere applicate nello stesso ordine dell'origine.
Un processo di lettura nel server in entrata calcola le dipendenze tra le transazioni nel carico di lavoro in base ai vincoli definiti nel database di destinazione (chiave primaria, univoca, chiave esterna). Anche le transazioni delle barriere e le operazioni DDL vengono gestite automaticamente. Un processo di coordinamento coordina più transazioni e mantiene l'ordine tra i server di applicazione.
Se il server in entrata non supporta una funzione o un tipo di colonna configurati, Replicat si disimpegna dal server in entrata, attende che il server in entrata completi le transazioni nella relativa coda e quindi applica la transazione al database in modalità di applicazione diretta tramite OCI. Replicat riprende l'elaborazione in modalità integrata dopo l'applicazione della transazione diretta.
Le seguenti funzioni vengono applicate in modalità diretta da Replicat:
-
Operazioni DDL
-
Operazioni sequenza
-
Parametro
SQLEXECall'interno di un parametroTABLEoMAP -
EVENTACTIONSelaborazione
Poiché le transazioni vengono applicate in serie, l'uso intensivo di tali operazioni può ridurre le prestazioni della modalità Replicat integrata. Il Replicat integrato funziona al meglio quando la maggior parte dell'elaborazione dell'applicazione può essere eseguita in modalità integrata.
Nota: le uscite utente vengono eseguite in modalità integrata. Tuttavia, l'uscita utente può produrre risultati imprevisti, se il codice di uscita dipende dai dati nel flusso di replica.
Nota: Replicat integrato richiede l'indicizzazione di qualsiasi colonna chiave esterna.
Vantaggi di Integrated Replicat
Di seguito sono riportati i vantaggi derivanti dall'utilizzo di Replicat integrato rispetto a Replicat non integrato.
-
Integrated Replicat consente di partizionare automaticamente carichi di lavoro pesanti tra processi di applicazione parallela che applicano più transazioni contemporaneamente, preservando l'integrità e l'atomicità della transazione di origine. È possibile configurare un numero minimo e massimo di processi di applicazione con i parametri
PARALLELISMeMAX_PARALLELISM. Replicat aggiunge automaticamente server aggiuntivi quando il carico di lavoro aumenta, quindi si regola di nuovo verso il basso quando il carico di lavoro si illumina. -
La configurazione di Integrated Replicat richiede un lavoro minimo. Tutto il lavoro è configurato all'interno di un unico file di parametri Replicat, senza configurare le partizioni di intervallo.
-
Lo streaming applicativo ad alte prestazioni è abilitato per Replicat integrato mediante un'interfaccia API (Application Programming Interface) leggera tra Replicat e il server in entrata.
-
Le transazioni barriera sono coordinate da Replicat integrato tra più processi di applicazione server.
-
Le operazioni DDL vengono elaborate come transazioni dirette che forzano una barriera in attesa del completamento dell'elaborazione del server prima dell'esecuzione DDL.
-
Gli aggiornamenti delle chiavi primarie duplicate transitori vengono gestiti da Replicat integrato in modo trasparente.
Requisiti Replicat integrati
Per utilizzare Replicat integrato, è necessario che sia vero quanto riportato di seguito.
-
Il log supplementare deve essere abilitato nel database di origine per supportare il calcolo delle dipendenze tra le tabelle e la schedulazione delle transazioni concorrenti sulla destinazione. Le istruzioni per abilitare il log richiesto sono disponibili in Impostazioni e requisiti del log delle transazioni. Questo log può essere abilitato in qualsiasi momento, ma prima di avviare i processi di Oracle GoldenGate.
-
Replicat parallelo in modalità integrata è supportato in Oracle Database 12.2.0.1 e versioni successive.