Replizierte Transaktionen und Gleichzeitigkeit

Replizierte Transaktionen auf einem primären NPS-Knoten können mit einer beliebigen Mischung aus serialisierbarer Isolierung und Snapshot-Isolierung (entspannte Serialisierbarkeit) ausgeführt werden.

Ein DBMS bietet serialisierbare Isolation, wenn es die serialisierbare Ausführung von Transaktionen erzwingt (für die Transaktionen, die sich für serialisierbare Isolation entscheiden oder standardmäßig darauf eingestellt sind). Eine Implementierung der serialisierbaren Isolierung bietet im Allgemeinen weniger Gleichzeitigkeit und einen geringeren Durchsatz als eine schwächere Isolierungsstufe.

Netezza unterstützt standardmäßig nur serialisierbare Transaktionsisolierung. Die Snapshot-Isolierung wird nur von Replikationstransaktionen unterstützt. Weitere Informationen zur Transaktionsisolierung in Netezza finden Sie unter Transaktionsgleichzeitigkeit und -isolierung.

Bei der Snapshot-Isolierung sieht jede Transaktion einen konsistenten "Snapshot" der Datenbank, der nur die Transaktionen widerspiegelt, die zu Beginn der jeweiligen Transaktion durchgeführt wurden. Außerdem sind Aktualisierungen und Löschungen der gleichen Zeile durch gleichzeitige Transaktionen nicht zulässig. (Einige DBMS erzwingen die letztgenannte Eigenschaft zum Zeitpunkt der Transaktionsübergabe; NPS erzwingt sie, wenn die gleichzeitige Aktualisierungs- oder Löschanweisung ausgeführt wird) Netezza® unterstützt die Snapshot-Isolierung für Anwendungen, die eine größere Gleichzeitigkeit erfordern, als die serialisierbare Isolierung zulässt, und kann die Durchsetzung von Konsistenzbeschränkungen zwischen den Zeilen ausgleichen. Snapshot-Isolierung wird für replizierte Transaktionen mit IBM® Netezza Replication Services 2.0 und höher unterstützt.

Die Commit-Reihenfolge der replizierten Transaktionen auf dem primären NPS-Knoten legt die Reihenfolge fest, in der die Transaktionen auf einem replizierten NPS-Knoten ausgeführt werden. Jeder replizierten Transaktion wird zum Zeitpunkt der Übertragung eine aufsteigende Commit-Sequenznummer (CSN) zugewiesen, die zur Verfolgung der Transaktion verwendet wird und in verschiedenen Replikationsansichten und Protokollen erscheint. Ein Commit-Sequence-Identifier (CSI) ist ein Paar aus <source-id> und <CSN>, wobei <source-id> den primären Knoten zu dem Zeitpunkt identifiziert, an dem die aktive Transaktion übertragen wurde.