Paralleles Replicat

Paralleles Replicat ist eine weitere Variante von Replicat, bei der Transaktionen parallel angewendet werden, um die Performance zu verbessern.

Dabei werden Abhängigkeiten zwischen Transaktionen berücksichtigt, ähnlich wie bei Integrated Replicat. Die Abhängigkeitsberechnung, Parallelisierung der Zuordnung und Anwendung wird außerhalb der Datenbank ausgeführt, sodass sie auf einen anderen Server ausgelagert werden kann. Die Transaktionsintegrität wird in diesem Prozess aufrechterhalten. Darüber hinaus unterstützt paralleles Replicat die parallele Anwendung großer Transaktionen, indem eine große Transaktion in Blöcke aufgeteilt und parallel angewendet wird.

Paralleles Replicat unterstützt die folgenden zwei Modi: Integriert und Nicht integriert. Nur Oracle AI Database unterstützt paralleles Replicat im integrierten Modus.

Um paralleles Replicat zu verwenden, müssen Sie sicherstellen, dass Sie über die folgenden Werte verfügen, die auch die Standardwerte sind:

Bei integriertem parallelen Replicat sendet das Replicat die LCRs an den eingehenden Server, der die Daten auf die Zieldatenbank anwendet. Im regulären parallelen Replicat wendet Oracle GoldenGate den LCR als SQL-Anweisung direkt auf die Datenbank an, ähnlich wie die anderen nicht integrierten Replicats funktionieren. Hinweis: Um die beste Performance für eine OLTP-Workload zu erzielen, wird paralleles Replicat im nicht integrierten Modus empfohlen.

Die Komponenten von parallelem Replicat sind:

Vorteile von Parallel Replicat

Die Verwendung von parallelem Replicat bietet folgende Vorteile:

Parallele Replikationsarchitektur

Parallele Replikationsprozesse nutzen die Apply-Verarbeitungsfunktionalität, die in der Oracle AI Database im integrierten Modus verfügbar ist. Innerhalb einer einzelnen Replicat-Konfiguration können mehrere untergeordnete Prozesse des eingehenden Servers, die als Apply-Server bezeichnet werden, Transaktionen parallel anwenden, während die ursprüngliche Transaktionsatomarität beibehalten wird.

Das folgende Architekturdiagramm zeigt den Ablauf von Änderungsdatensätzen durch die verschiedenen Prozesse einer parallelen Replikation von den Traildateien in die Zieldatenbank für ein nicht integriertes paralleles Replicat.

Beschreibung von para_rep_arch.png folgt

Die Beschreibung des obigen Architekturdiagramms lautet wie folgt:

Grundlegende Parameter für paralleles Replicat

In der folgenden Tabelle sind die grundlegenden parallelen Replicat-Parameter und deren Beschreibung aufgeführt.

Parameter Beschreibung

MAP_PARALLELISM

Konfiguriert die Anzahl der Mapper. Dadurch wird die Anzahl der Threads gesteuert, die zum Lesen der Traildatei verwendet werden. Der Mindestwert ist 1, der Höchstwert ist 100 und der Standardwert ist 2.

APPLY_PARALLELISM

Konfiguriert die Anzahl der Ausreißer. Dadurch wird die Anzahl der Verbindungen in der Zieldatenbank gesteuert, mit denen die Änderungen angewendet werden. Der Standardwert ist vier.

MIN_APPLY_PARALLELISM

MAX_APPLY_PARALLELISM

Die Apply-Parallelität wird automatisch optimiert. Sie können einen Mindest- und Höchstwert festlegen, um die Bereiche zu definieren, in denen Replicat seine Parallelität automatisch anpasst. Es sind keine Standardwerte vorhanden. Verwenden Sie APPLY_PARALLELISM nicht gleichzeitig.

SPLIT_TRANS_RECS

Gibt an, dass große Transaktionen in Teile der angegebenen Größe aufgeteilt und parallel angewendet werden sollen. Abhängigkeiten zwischen den Stücken bleiben erhalten. Standardmäßig deaktiviert.

COMMIT_SERIALIZATION

Aktiviert den Commit-VOLLSTÄNDIGEN Serialisierungsmodus, der die Festschreibung von Transaktionen in Trailreihenfolge erzwingt.

Erweiterte Parameter

LOOK_AHEAD_TRANSACTIONS

Steuert, wie weit der Scheduler beim Batching von Transaktionen voraus ist. Der Standardwert ist 10000.

CHUNK_SIZE

Steuert, wie groß eine Transaktion sein muss, damit paralleles Replicat sie als groß betrachtet. Wenn ein paralleles Replicat auf eine Transaktion trifft, die größer als diese Größe ist, wird es serialisiert, was zu einer verringerten Performance führt. Wenn Sie diesen Wert erhöhen, erhöht sich jedoch auch die Speichermenge, die von parallelem Replicat belegt wird.

Beispielparameterdatei

REPLICAT repe USERID ggadmin, password ***
MAP_PARALLELISM 3
MIN_APPLY_PARALLELISM 2
MAX_APPLY_PARALLELISM 10
SPLIT_TRANS_RECS 60000
MAP *.*, TARGET *.*;