WebSphere® eXtreme Scale は、 柔軟性があってスケーラブルな、メモリー内データ・グリッドです。これは、複数のサーバーにまたがって、アプリケーション・データおよびビジネス・ロジックを 動的にキャッシュに入れ、区画化し、複製し、管理します。
WebSphere eXtreme Scale はメモリー内データベースではないため、固有の構成要件を考慮する必要があります。データ・グリッドをデプロイするための最初のステップは、コア・グループとカタログ・サービスを開始することです。 カタログ・サービスは、データ・グリッドに参加している他のすべての Java™ 仮想マシンの調整役を果たし、構成情報を管理します。WebSphere eXtreme Scale のプロセスは、ユーザーがコマンド・ラインから発行するコマンドによって開始されます。
次の ステップは、データ・グリッドがデータを保管および取得するためのコンテナー・サーバー・プロセス を開始することです。開始されたコンテナー・サーバーは、自動的にコア・グループおよびカタログ・サービスに登録されます。登録されることで、カタログ・サーバーが連携してデータ・グリッド・サービスを提供できるようになります。 サーバーが多いほど、データ・グリッドの容量も信頼性も高まります。
ローカル・データ・グリッド は、単一の、単一インスタンスのグリッドであり、1 つのデータ・グリッド内に すべてのデータがあります。WebSphere eXtreme Scale をメモリー内データベース処理スペースとして効果的に使用するように、分散データ・グリッドを構成し、デプロイすることができます。分散グリッドのデータは、どのサーバーにもデータの一部分のみが含まれるように、さまざまな eXtreme Scale サーバーに分散されます。この、部分データが、1 つの区画です。
分散データ・グリッド構成パラメーターのうち最も重要なパラメーターが、 グリッド内の区画の数です。グリッド・データは、この数のサブセットに分割されます (それぞれのサブセットを区画 と呼びます)。 カタログ・サービスは、当該データの区画をそのキーに基づいて見つけます。区画数は、データ・グリッドの容量とスケーラビリティーに 直接影響します。1 つのサーバーが 1 つ以上のグリッド区画を含むことができます。結果として、サーバーのメモリー・スペースによって区画のサイズが制限されます。逆に、区画の数を増やすと、データ・グリッドの容量は 増加します。データ・グリッドの最大容量は、区画数に、各サーバーで使用可能なメモリー・サイズを掛けたものです。サーバーは JVM でもかまいませんが、デプロイメント環境に合わせてコンテナー・サーバーを定義できます。
1 つの区画のデータは、1 つの断片に保管されます。可用性のため、レプリカ (同期または非同期のどちらでも可) を持つようにデータ・グリッドを構成できます。 グリッド・データに対する変更は、プライマリー断片に対して行われ、レプリカ断片に 複製されます。1 つのデータ・グリッドで使用されるまたは必要とされるメモリー合計は、そのデータ・グリッドのサイズ x (1 (プライマリー) + レプリカの数) という式で計算できます。
WebSphere eXtreme Scale は、データ・グリッドの断片を、そのデータ・グリッドに含まれる多数のサーバーに分散します。 これらのサーバーは、同じ物理サーバー上にある場合も、異なる物理サーバー上にある場合もあります。可用性の ため、レプリカ断片はプライマリー断片とは別の物理サーバーに 置かれます。
WebSphere eXtreme Scale は、サーバーの状態を モニターし、断片または物理サーバーの障害および復旧時に断片を移動します。 例えば、レプリカ断片を含んでいるサーバーに障害が起こった場合、WebSphere eXtreme Scale は新しい レプリカ断片を割り振り、その新規レプリカにプライマリーからデータを複製します。プライマリー断片を含んでいるサーバーに障害が起こった場合は、レプリカ断片がプロモートされてプライマリー断片に なり、新しいレプリカ断片が作成されます。データ・グリッド用の追加のサーバーを始動すると、すべてのサーバー間で断片のバランスが取られます。この再度バランスを取ることを「スケールアウト」と呼びます。同様に、 サーバーの 1 つを停止して、データ・グリッドが使用するリソースを 削減する場合があり、それを「スケールイン」と呼びます。この結果として、残りのサーバー間で断片のバランスが取られます。