XTP(大量トランザクション処理)

XTP(大量トランザクション処理)が可能に第2回では、Java資産を活用した軽量なWeb開発の動向を紹介しました。実は、こうしたシンプルなWebシステムへのニーズがある一方で、高速大量処理やスケーラビリティを必要とする要件もあります。例えば、「IBM WebSphere eXtreme Scale」

串宮 平恭

2010年1月21日 20:00

XTP(大量トランザクション処理)が可能に

第2回では、Java資産を活用した軽量なWeb開発の動向を紹介しました。実は、こうしたシンプルなWebシステムへのニーズがある一方で、高速大量処理やスケーラビリティを必要とする要件もあります。

例えば、「IBM WebSphere eXtreme Scale」(WXS)を導入している米国の投資銀行の例では、3.5ミリ秒以内のレイテンシ(遅延時間)と、1スレッドあたり1秒で175個のイベントを実現しています。サーバー1台あたりでは、1秒につき8200イベントを処理し、フェール・オーバー(縮退運転)は1秒以内です。

このような高速大量トランザクション処理を、分散システムの技術を使って実施することを「Extreme Transaction Processing」(XTP)と呼びます。

市場調査会社の米Gartnerでは、XTPを以下のように定義付けています。「分散システムの技術を利用して、高速大量処理/スケーラビリティ/可用性/セキュリティ/管理と信頼性などの要件を特徴とするトランザクション・アプリケーションを、設計/開発/配置/管理の点で支援することを目的としたアプリケーション・スタイル」。詳しくは「Gartner RAS Core Research Note G00131036」を、GartnerのWebサイトで見てください。

Web 3層アーキテクチャーが抱える課題

Webシステムでは一般的に、システムの構成要素を以下の3つの階層、すなわち(1)Webサーバー層、(2)アプリケーション・サーバー層、(3)データベース層、に分けます。

トランザクションの増加に合わせて処理能力を増強する場合、Webサーバー層やアプリケーション・サーバー層では、サーバーの追加によるスケールアウト構成が一般的です。一方で、データベース層では、サーバー自身の処理能力を向上させるスケールアップが一般的であり、このため高性能なサーバー機が必要になっています。可用性を維持するためにバックアップ機を用意する必要もあり、コストが高くなってしまうという課題がありました。

データベース層に対する処理の集中と物理I/Oを軽減するためには、アプリケーション・サーバー層でデータをキャッシュする方法が考えられます。

しかし、図1-2のようにアプリケーション・サーバーごとに同一のキャッシュを置いてキャッシュ間でデータの同期をとった場合、キャッシュの最大容量は1台のサーバー機のメモリ・サイズに依存してしまいます。サーバーの数を増やしてもキャッシュ容量は増えません。データに更新が発生した場合、同じデータを各キャッシュで共有し、キャッシュの整合性を確保する必要もあります。

こうしたキャッシュの課題を解決する方法として、「インメモリ・データグリッド」という考え方が提唱されています。この方法では、アプリケーション・サーバー層とデータベース層の間にキャッシュ層を置きます。

このキャッシュ層の基礎として使われる技術/考え方が、キー・バリュー・ストア(Key-Value Store)です。キー・バリュー・ストアでは、データを、識別子である「キー」と、その本体である「バリュー(値)」の組にして保持します。データの格納先としては一般的に、分散メモリ技術が使われます。

ユニークなキーの値から生成したハッシュ値により、キャッシュ層のサーバーにプライマリーのデータを分散させます。このため、キャッシュ・サーバー機を増やせば、キャッシュ容量が増えます。サーバー1台のキャッシュ容量をM、サーバー台数をNとすると、キャッシュの総容量はM×Nになります。

さらに、同一データ(レプリカ)を別のキャッシュ・サーバーに置くことで、キャッシュ・サーバーの障害対策になります。また、キャッシュ・サーバーを新規に追加した際には、キャッシュ・サーバーのクラスタ内部で自動的にキャッシュ・データが再配置されます。この際にデータベース層に負荷を与えることはありません。

エンタープライズWebではさらに、トランザクション管理、排他制御、セキュリティや障害回復の機能が必要になります。これらの機能を備えたインメモリ・データグリッド製品が冒頭で触れたWXSです。次ページ以降では、WXSを例に、インメモリ・データグリッド製品にどのような機能が必要なのかを示します。

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30