複製トランザクションと同時実行

プライマリ NPS ノード上で複製されたトランザクションは、シリアライズ可能な分離とスナップショット分離(緩和されたシリアライズ可能性)を組み合わせて実行することができます。

DBMSが直列化可能な分離を提供するのは、トランザクションの直列化可能な実行を強制する場合です(直列化可能な分離を選択する、あるいはデフォルトで選択するトランザクションの場合)。 直列化可能な分離の実装は一般的に、弱い分離レベルよりも並行性が低く、スループットも低くなります。

Netezzaはデフォルトでシリアライズ可能なトランザクション分離のみをサポートしています。 スナップショットの分離をサポートするのはレプリケーション・トランザクションだけです。 Netezza のトランザクション分離については、 トランザクションの同時実行と分離を参照してください。

スナップショット分離の下では、各トランザクションは特定のトランザクションの開始時にコミットされたトランザクションだけを反映したデータベースの一貫した "スナップショット "を見ることになります。 また、同時実行トランザクションによる同じ行の更新と削除は禁止されている。 (DBMSの中には、後者の性質をトランザクションのコミット時に強制するものもある。NPSは、同時更新文または同時削除文の実行時に強制する) Netezza® はシリアライズ可能な分離よりも高い同時実行性を必要とするアプリケーションのためにスナップショット分離をサポートしており、行間一貫性制約の適用をトレードオフにすることができます。 スナップショット分離は IBM® Netezza Replication Services 2.0 以降でレプリケートされたトランザクションでサポートされています。

プライマリ上でレプリケートされたトランザクションのコミット順序は、レプリカNPSノード上でトランザクションが適用される順序を定義する。 レプリケートされた各トランザクションには、コミット時に増加するコミット・シーケンス番号(CSN)が割り当てられ、これはトランザクションを追跡するために使用され、さまざまなレプリケーション・ビューやログに表示されます。 コミットシーケンス識別子(CSI)は <source-d>とi <CN>のSペアで、 <source-d>はiアクティブなトランザクションがコミットされた時点のプライマリノードを識別する。