Sun Java System Application Server Enterprise Edition 8.1 2005Q2 高可用性 (HA) 管理ガイド

HADB サーバーのアーキテクチャー

高可用性とは、アップグレードのための予定された停止や、ハードウェアまたはソフトウェアの障害によって引き起こされた予期しない停止があったとしても可用性が高いことを意味します。HADB は、単純なデータモデルと、冗長性のある、スケーラブルな高性能テクノロジに基づいています。HADB は、高性能なエンタープライズアプリケーションサーバー環境内で、すべてのタイプのセッション状態持続性を実現するための理想的なプラットフォームを提供します。

次の図は、4 つのアクティブノードと 2 つのスペアノードを備えたデータベースのアーキテクチャーを示しています。ノード 0 および 1 はミラーノードのペアであり、ノード 2 および 3 も同様です。

図 2–1 HADB のアーキテクチャー

HADB のアーキテクチャー

HADB は、データの断片化とレプリケーションを通してデータの高可用性を達成します。データベース内のすべてのテーブルが分割され、フラグメントと呼ばれる、ほぼ同じサイズのサブセットが作成されます。断片化は、データベースのノード間にデータを均等に分散させるハッシュ関数に基づいています。各フラグメントは 2 回、すなわちデータベースとミラーノードに格納されます。これにより、フォルトトレランスと、データのすばやい復旧が保証されます。さらに、ノードに障害が発生した場合や、ノードが停止した場合は、そのノードが再度アクティブになるまでスペアノードが処理を引き継ぐことができます。

HADB ノードは、互いをミラー化する、2 つのデータ冗長ユニット (DRU) から構成されます。各 DRU は、アクティブノードとスペアノードの半分から構成され、データの完全なコピーを 1 つ持っています。フォールトトレランスを保証するために、1 つの DRU をサポートするコンピュータは、電源 (無停電電源装置の使用を推奨)、処理装置、およびストレージに関して完全に自立している必要があります。1 つの DRU で停電が発生した場合は、電源が復旧するまで、もう一方の DRU 内のノードが引き続き要求を処理することができます。

セッション持続性のメカニズムがないと、ある Web または EJB コンテナが別のコンテナにフェイルオーバーしたときに、非活性化されたセッション状態を含む HTTP や SFSB のセッションの状態が失われます。HADB を使用してセッション持続性を実現することにより、この状況が克服されます。HADB は、状態情報を、独立してはいるが、適切に統合された持続的記憶領域層に格納および取得します。

セッションデータが削除されると、HADB は領域を再生します。HADB は、セッションデータレコードを固定サイズのブロックに配置します。ブロックのすべてのレコードが削除されると、そのブロックは解放されます。ブロックの各レコードはランダムに削除される場合があり、それによってブロック内にホールが作成されます。ブロック内に新しいレコードが挿入され、隣接する領域が必要になると、ホールが削除されてブロックはいっぱいになります。

以上が、アーキテクチャーの簡単な概要です。詳細については、『Sun Java System Application Server Enterprise Edition 8.1 2005Q2 Deployment Planning Guide 』を参照してください。