“限界”を突破する技術、「インメモリデータグリッド」戦略的ITを実現するキーテクノロジ(2)(2/2 ページ)

» 2012年09月19日 12時00分 公開
前のページへ 1|2       

パーティション方式を使ったデータの分散配置と冗長化

 次はインメモリデータグリッドがどういった仕組みで成り立っているかを見ていこう。

 インメモリデータグリッドは、データの登録時に、その値に応じてデータの格納先のサーバを1つに決定する。この際、オリジナルのデータ(プライマリデータと呼ばれる)が格納されているサーバとは別のサーバにデータのコピーを格納することで、データに冗長性を持たせることができる。

 プライマリデータを保持するサーバが何らかの理由で停止した場合には、フェイルオーバーが行われ、コピーがプライマリデータに繰り上がる。インメモリデータグリッドではこうしてシステムの信頼性を向上させることができる。

図2 パーティションのデータ配置例。図ではそれぞれのサーバが単一障害点にならないように、A、B、C、Dのデータがそれぞれ別のサーバに分散配置されている。Aのプライマリデータはサーバ1にあるが、サーバ1が何らかの理由で停止した場合にはフェイルオーバーが行われ、サーバ2にあるコピーがプライマリデータに繰り上がる 図2 パーティションのデータ配置例。図ではそれぞれのサーバが単一障害点にならないように、A、B、C、Dのデータがそれぞれ別のサーバに分散配置されている。Aのプライマリデータはサーバ1にあるが、サーバ1が何らかの理由で停止した場合にはフェイルオーバーが行われ、サーバ2にあるコピーがプライマリデータに繰り上がる

 インメモリデータグリッドは以上のようにデータを分散配置し、冗長化によってシステムの信頼性を確保して使うのが一般的である。このような分散配置方法はパーティション方式と呼ばれる。さらなる検索の高速化を実現したい場合には、いくつかの制約があるもののレプリケーションという方法を選択することもできる。

 なお、コピーの数は0以上の任意の値を設定することができ、システムに求められる信頼性に応じて冗長性を高めることができる。耐障害性を高めたい場合には、求められる耐障害性のレベルに応じてデータのコピーを多く取るようにすると良いだろう。

さらなる高速性を目指すならレプリケーション方式を利用

 一方、レプリケーションとは、全てのサーバに全てのデータを重複して配置する方法だ。パーティションとは異なり、どのサーバに配置されたデータもプライマリデータとみなされる。レプリケーションでは、検索時にいずれのサーバにアクセスしてもデータを得ることができるため、高い検索性能が求められる場合に向いている。

 ただし、レプリケーションでは、扱えるデータ量は1つのサーバのメモリ量に制限されるため、データ量の増大に対するスケーラビリティは得られない。また、サーバ台数が増えるとデータの登録/更新時におけるサーバ間のデータ同期に時間がかかるため、登録/更新処理についてはサーバ台数が増えるほど速度は下がることになる。

図3 レプリケーションのデータ配置例。図ではデータA、B、Cがそれぞれすべてのサーバに同じように配置されている。サーバ1上のデータAが更新された場合、サーバ2〜4のデータAも同期をとって更新される 図3 レプリケーションのデータ配置例。図ではデータA、B、Cがそれぞれすべてのサーバに同じように配置されている。サーバ1上のデータAが更新された場合、サーバ2〜4のデータAも同期をとって更新される

 通常はパーティションを使い、スケーラビリティや登録/更新の高速性が求められない場合にのみレプリケーションを使うようにすると良いだろう。


 次回はインメモリデータグリッドを実際に導入する際の課題と、その対応方法を中心に解説する。

著者紹介

ウルシステムズ

▼竹田 正和(たけだ まさかず)

ウルシステムズにて、プロジェクトマネージャ、ITアーキテクトとしてシステム開発に従事。先端技術を用いたアジャイル開発プロジェクトから、高い品質を求められる企業の基幹システムまで幅広い種類のプロジェクトに携わってきている

▼横山 芳成(よこやま よしなり)

ウルシステムズにて、ITグランドデザインや、プログラムマネジメント、プロジェクトマネジメントのデリバリを数年担当。直近では、様々な業種へのプリセールスや、事業会社のシステム部門への実践的なトレーニング、コンサルティングプロジェクトでのスーパーバイザーなどを務めている。PMP、CISA。

▼山河 征紀(やまかわ まさき)

ウルシステムズにて、ミドルウェア、フレームワークの開発を担当。データグリッドを用いたリアルタイム処理を中心に最先端の技術でビジネスをリードする戦略的ITソリューションに従事している。高信頼分散データグリッドフレームワークULFIRE開発者。


前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ