Terminology

以下の用語は、 EDB Postgres分散機能と、高可用性、レプリケーション、クラスタリングの領域で対処する要件を理解するために重要です。

非同期レプリケーション

オリジンノードでトランザクションが完了した後、クラスターメンバーにデータをコピーします。非同期レプリケーションは、同期レプリケーションよりも高いパフォーマンスと低いレイテンシーを提供できます。ただし、複数の変更が同時に発生するため、競合が発生する可能性があります。発生した競合を管理する必要があります。

可用性

システムが指定された環境で使用されたときに、指定された時間に十分に動作する確率。多くの人にとって、これはアプリケーションのアップタイムとダウンタイムの全体的な量です。 ( ナイン も参照)

CAMOまたはcommit-at-most-once

アプリケーションレベルでの追加のトランザクション管理でEager Replicationをラップして、トランザクションが複数回実行されないようにします。これは、ペイメントソリューションで見られる高額のトランザクションにとって重要です。これは、Oracle機能のTransaction Guardとほぼ同じです。

クラスタリング

単一障害点を回避するために複数の冗長システムを管理する高可用性のためのアプローチ。エンドユーザーには1つのシステムに見えます。

データシャーディング

データをシャードと呼ばれるチャンクに分割し、それらを個別のノードに分散することにより、データベースのスケールアウトを有効にします。

BDRのEager Replication

すべてのクラスターメンバーとの競合のないレプリケーション。技術的には、これは2フェーズコミット(2PC)を使用した同期論理レプリケーションです。

結果的な一貫性

異なるクラスターメンバーの同じ項目への変更を記述する分散コンピューティング一貫性モデルは、同じ値に収束します。 BDRでは、これは、競合解決と競合のないレプリケートされたデータ型を備えた非同期論理レプリケーションによって実現されます。

フェールオーバー

高可用性データベースクラスターの障害を認識し、アプリケーションを別のアクティブなデータベースに接続するためのアクションを実行する自動化されたプロセス。目標は、ダウンタイムとデータ損失を最小限に抑えることです。

水平スケーリング または スケールアウト

トラフィックの増加を処理するための Web サーバーのスケールアウトなど、複数のノードにわたるワークロードを管理する最新の分散コンピューティングアプローチ。

論理レプリケーション

クラスター内のデータベース間でレプリケートされるデータの選択に関して、物理レプリケーションよりも柔軟性があります。また、クラスタメンバーはデータベースソフトウェアの異なるバージョン上にあることができます。

ナイン

特定の年の稼働時間の割合として表される可用性の尺度。スリーナイン(99.9%)では、1か月あたり43.83分のダウンタイムが許容されます。フォーナイン(99.99%)では、1か月あたり4.38分のダウンタイムが許可されます。ファイブナイン(99.999%)では、1か月あたり26.3秒のダウンタイムが許容されます。

ノード

クラスター内の1つのデータベースサーバー。クラスター内に複数のノードがあるため、用語「ノード」は用語「データベースサーバー」とは異なります。ノードには、データベースサーバー、OS、および物理ハードウェアが含まれます。これらは、高可用性のコンテキストで常に他のノードから分離されます。

物理レプリケーション

データベースディスクブロックの正確なコピーをコピーすることにより、データベースから1つ以上のスタンバイクラスターメンバーにすべての変更をコピーします。この方法には高速ですが、欠点があります。たとえば、1つのマスターノードのみが書き込みトランザクションを実行できます。また、この方法は、他のいくつかのより複雑な制限に加えて、すべてのクラスターメンバーがデータベースソフトウェアの同じメジャーバージョン上にある場合にのみ使用できます。

読み取りのスケーラビリティ

1つ以上のリードレプリカノードをクラスターに導入し、アプリケーションにプライマリノードへの直接書き込みとレプリカノードへの読み取りを行わせることで実現できます。読み取りワークロードが増加するにつれて、パフォーマンスを維持するためにリードレプリカノードの数を増やすことができます。

目標復旧時点(RPO)

アプリケーションの配信が中断されたためにデータが失われる可能性のある最大ターゲット期間。非常に低いまたは最小限の RPO は、非常に高い可用性の原動力です。

目標復旧時間(RTO)

中断されたアプリケーションを復元するための目標時間。非常に低いまたは最小限の RTO は、非常に高い可用性の原動力です。

単一障害点(SPOF)

冗長性がないため、より高いレベルの可用性を実現できない、展開されたアーキテクチャ内のコンポーネントの識別。

スイッチオーバー

アプリケーションとクラスター内のアクティブなデータベースノード間の接続の計画的な変更。通常はメンテナンスのために行われます。

同期レプリケーション

参加しているすべてのノードで変更が同時に更新される場合、通常は2フェーズコミットを活用します。このアプローチは即時の一貫性を提供し、競合を回避しますが、ノード間で必要な調整が原因でレイテンシーのパフォーマンスコストが発生します。

2フェーズコミット(2PC)

複数のデータベースノードにわたって一貫性を実現するためのマルチステッププロセス。

垂直スケーリング または スケールアップ

リソース(CPU、メモリ、ストレージ、ネットワーク)を増やして、そのアーキテクチャの物理的な制限に達するまでサポートする従来のコンピューティングアプローチ(Oracle Exadataなど)。

書き込みスケーラビリティ

元のノードから他のクラスターメンバーへの書き込みをレプリケートすると、コストが削減されます。垂直スケールのアーキテクチャでは、共有リソースにより書き込みスケーラビリティが可能です。ただし、水平スケーリング(または非共有)アーキテクチャでは、これは非常に限られたシナリオでのみ可能です。