1.4. Red Hat JBoss Data Grid の利点
Red Hat JBoss Data Grid には以下の利点があります。
JBoss Data Grid の利点
- パフォーマンス
- リモートデータストア (データベースなど) からオブジェクトにアクセスするよりも、ローカルメモリーからオブジェクトにアクセスした方が高速になります。JBoss Data Grid は速度が遅いデータソースから送信されるインメモリーオブジェクトを効率的に保存する方法を提供するため、リモートデータストアよりもパフォーマンスが高速になります。また、JBoss Data Grid はクラスター化されたキャッシュとクラスター化されていないキャッシュの両方に対して最適化を実現するため、パフォーマンスをさらに向上します。
- 一貫性
- キャッシュにデータを格納すると、固有のリスクをともないます。アクセス時にデータが古くなっている (陳腐) 可能性があります。このリスクに対応するため、JBoss Data Grid はキャッシュインバリデーションおよびエクスパレーションを使用して、キャッシュから陳腐データエントリーを削除します。さらに、JBoss Data Grid はトラザクションリカバリーやバージョン API とともに、JTA、分散 (XA)、および 2 フェーズコミットトランザクションをサポートし、保存されたバージョンを基にデータを削除または置換します。
- 巨大なヒープと高可用性
- JBoss Data Grid では、パフォーマンス向上のためにアプリケーションがデータのルックアップ処理のほとんどを大型のサーバーデータベースへ委譲する必要がありません。JBoss Data Grid は、レプリケーションや分散などの技術を導入し、現在のエンタープライズアプリケーションのほとんどに存在するボトルネックを完全に取り除きます。
例1.1 巨大なヒープと高可用性の例
16 個のブレードサーバーを持つグリッドの例として、各ノードがレプリケートされたキャッシュ専用の 2 GB のストレージ領域を持っているとします。この場合、グリッドの全データが 2 GB のデータのコピーとなります。逆に、分散グリッド (データ項目ごとに 1 つのコピーが必要であることを仮定し、ヒープ全体の容量を 2 で割る) では、メモリーがサポートする仮想ヒープに 16 GB のデータが含まれます。グリッドのどこからでも効果的にこのデータへアクセスできるようになります。サーバーに障害が発生した場合、グリッドによって損失データの新しいコピーが即座に作成され、グリッドの運用サーバーに置かれます。 - スケーラビリティー
- 分散データグリッドがレプリケートされたクラスター化キャッシュよりも優れているのは、容量とパフォーマンスの両方でデータグリッドがスケーラブルである点です。グリッド全体のスループットと容量を増やすには、ノードを JBoss Data Grid に追加します。JBoss Data Grid は、ノードの追加または削除による影響を、グリッドのすべてのノードではなくノードのサブセットに限定する、一貫したハッシュ化アルゴリズムを使用します。JBoss Data Grid ではデータが均一に分散されるため、グリッドサイズの唯一の上限はネットワーク上でのグループ通信になります。ネットワークのグループ通信は最小限で、新規ノードの発見のみに制限されています。すべてのデータアクセスパターンは、ノードによるピアツーピア接続を介した直接通信を許可するため、スケーラビリティーの更なる向上を容易にします。JBoss Data Grid のクラスターは、リアルタイムでスケールアップまたはスケールダウンすることができ、インフラストラクチャーを再起動する必要はありません。スケーリングポリシーへの変更をリアルタイムで適用できるため、非常にフレキシブルな環境を実現することができます。
- データ分散
- JBoss Data Grid は一貫したハッシュアルゴリズムを使用して、クラスターでのキーの場所を判断します。一貫したハッシュ化に関する利点には次のようなものがあります。データ分散は、永続性とフォールトトラレンスを提供するため、余分のない十分なコピーがクラスター内に確実に存在するようにします。余分なコピーは環境のスケーラビリティーを低下させます。
- コスト効果
- 速度
- 更なるメタデータやネットワークトラフィックの必要がない、決定論的なキーの場所
- 永続性
- JBoss Data Grid は、
CacheStore
インターフェースと複数の高パフォーマンス実装 (JDBC キャッシュストアやファイルシステムベースのキャッシュストアなど) を公開します。キャッシュストアを使用すると、起動時にキャッシュを事前設定し、関連データが破損しないように保持できます。また、キャッシュストアは必要時にデータをディスクへオーバーフローし、メモリー不足にならないようにします。 - 言語のバインディング
- JBoss Data Grid は、多くの一般的なプログラミング言語向けの既存クライアントを持つ Memcached プロトコルと、Hot Rod と呼ばれる最適化された JBoss Data Grid 固有のプロトコルの両方をサポートします。そのため、JBoss Data Grid は Java に限定されず、すべての主要な Web サイトやアプリケーションに使用できます。さらに、RESTful API を介して HTTP プロトコルを使用すると、リモートキャッシュにアクセスできます。
- 管理
- 数百個またはそれ以上のサーバーが存在するグリッド環境では、管理の実行は重要な機能になります。エンタープライズネットワーク管理ソフトウェアである JBoss Operations Network は、複数の JBoss Data Grid インスタンスを管理するのに最適なツールです。JBoss Operations Network の機能を使用すると、キャッシュマネージャーやキャッシュインスタンスを簡単かつ効率的に監視できます。
- リモートデータグリッド
- JBoss Data Grid は、アプリケーションサーバーアーキテクチャー全体をスケールアップしてデータグリッドをスケールアップする代わりに、アプリケーションサーバーアーキテクチャーに依存せずにデータグリッドインフラストラクチャーを独自にアップグレードできるリモートクライアントサーバーモードを提供します。さらに、データグリッドサーバーをアプリケーションサーバー以外のリソースへ割り当てることができます。また、独自にデータグリッドをアップグレードでき、データグリッド内でアプリケーションを再デプロイできます。