Oracle NoSQL Databaseのストレージ・ノード


ストレージ・ノード(SN)とは、一般的に、ローカルに独自の永続的なストレージ(ディスクまたはSSD)が接続された物理マシンのことで、1つ以上のコアを持つCPUとメモリを搭載し、IPアドレスが割り当てられています。 NoSQL Databaseシステムは、ストレージ・ノードの数が多くなるほど集計スループットが向上し、ストレージ容量も増加します。 仮想マシンをストレージ・ノードに使用することもできますが、仮想マシンで利用できるリソースに影響する外部イベントやプロセスがある場合は、パフォーマンスと待機時間の予測可能性に悪影響を及ぼす可能性があります。 つまり、ストレージ・ノードに物理マシンを使用しているシステムと比較して、パフォーマンスの予測が難しくなるということです。

ストレージ・ノード・エージェント(SNA)は、各ストレージ・ノード上で実行され、ノードの動作を監視します。 SNAは、Administration Serviceから構成を受け取り、監視情報をAdministration Serviceにレポートを提供します。Administration Serviceは、Oracle NoSQL Databaseの監視ダッシュボードへのインタフェースを提供するサービスです。

1つのストレージ・ノードは、1つまたは複数のレプリケーション・ノードに対応します。 各レプリケーション・ノードは、単一のレプリケーション・グループに属しています。 単一のレプリケーション・グループにあるノードはすべて、同じデータに対応します。このデータには、ハッシュ化された主要キーに基づくキー領域データ全体のサブセットが含まれています。 一般的なインストールでは、レプリケーション・グループのレプリケーション係数として3が使用されます。これによって、同じレプリケーション・グループ内で2つのノードに障害が発生しても引き続き読取り操作に対応できるため、システムの動作を確実に継続できます。

レプリケーション


Oracle NoSQL Databaseは、レプリケーションを使用することによって、障害発生時のデータ可用性を確保しています。 単一マスター・アーキテクチャでは、書込みをマスター・ノードに適用してから、レプリカを伝播します。 マスター・ノードで障害が発生した場合、レプリケーション・グループ内のノードは、自動的に信頼性の高い選択を実行し(Paxosプロトコルを使用)、残っているノードの1つをマスター・ノードに指定します。 新しいマスター・ノードは、書込みについて責任を負うことになります。