| インメモリデータグリッドにより“平均330ミリ秒”を実現
東証・アローヘッドの稼働によって投資家の環境は大きく様変わりした。
「売買の条件が整えば瞬時に約定しますので、取引を有利に成立させるためには発注の処理スピードが極めて重要になります。“カルタ取り”のように一瞬で物事が決まる状況、と言えばわかりやすいでしょうか。証券会社にとっても、新たな売買執行能力の競争が始まったと言えます」(阿部氏)
カブドットコム証券が新たに構築した「株式売買システム」の処理スピードは、平均330ミリ秒(最短100ミリ秒)。従来は平均2秒を要していたので、最大で20倍高速化されたことになる。
「2秒の処理を1秒に高速化するのは、既存の技術だけでも可能だったかもしれません。しかし、2秒の処理を500ミリ秒に、さらに100ミリ秒まで高速化するにはまったく別の技術やノウハウが必要でした」(谷口氏)
遅延を極限まで削減したシステムをいかに構築するか――この課題を解決するために、処理プロセス上のボトルネックが徹底的に洗い出された。
「預かり資産や与信など顧客情報を照会し、銘柄属性や注文明細などと突き合わせる注文処理のプロセスは非常に重い。まず、RDBMSへの問合せ処理に着目しました」(谷口氏)
株式売買システムのアプリケーションは、一度の注文に対して数十回にわたって顧客データベース・注文データベースにアクセスする。他の処理と比較して相対的に低速な磁気ディスク装置へのアクセスが、遅延に影響していることは明らかだった。
「このボトルネックを解消するために、RDBMSへの問合せ処理をサーバーメモリ上にキャッシュする方式を採用しました。『インメモリデータグリッド』と呼ばれる技術です」(谷口氏)
カブドットコム証券が採用したのは、VMware社が提供するインメモリデータグリッド製品「GemFire」である。複数のx86サーバーを結び、仮想化された共有メモリ空間内にデータを展開することで高速なデータアクセスを実現する。この仕組みをアプリケーションサーバーとデータベースサーバーの間に配置することで、磁気ディスク装置へのアクセスを最小限にするのだ。しかし、「インメモリデータグリッドだけで500ミリ秒以下を達成できるわけではない」と谷口氏は釘を刺す。
「GemFireのサーバーノードを同一のブレードエンクロージャ内に収容し、20ギガビット/秒のInfiniBandで結びました。さらに、ネットワークI/Oを合理的に集約し、パケットのコンフリクトを起こさないよう経路設計を最適化するなど、遅延を解消する方策を隅々まで施しています」
インメモリデータグリッドを採用すれば一定の高速化が可能だ。しかし、谷口氏が指摘するように「それだけで夢のように速くなるわけではない」ことも事実。最短距離で高速に結ばれたサーバー群、最適化された通信経路など、様々な条件がギリギリまで詰められてインメモリデータグリッドによるパフォーマンスが最大まで引き出されるのである。
“ 速いだけのシステム” ではなくデータ整合性や耐障害性も確保
株式売買システムを支えるサーバー構成を概観してみよう。サーバーシステムの中核を成すのは「HP BladeSystem」である。HP BladeSystem c7000エンクロージャー内に複数台のGemFireサーバーを収容し、20ギガビット/秒のInfiniBandで接続。ここに仮想メモリ空間を構築している。同様にアプリケーション、データベースなどを含む計20数台のサーバー群、各種スイッチ群も同様のエンクロージャーに収容している。
 |
 |
 |
カブドットコム証券株式会社 事務・システム本部 システム部 運用課 高橋佑太氏 |
 |
「GemFireでは、注文データ、時価データ、勘定系データ、顧客データの4つのデータグリッドを構成して、メモリ空間上でそれぞれが高速に処理を実行します。複数の物理サーバーで処理されたデータの整合性を担保する仕組み、そのデータをRDBMSに非同期で書き込む仕組みを新たに構築しています」(システム部 運用課 高橋佑太氏)
可用性・耐障害性の面では、ネット証券システムならではの厳しい要件をどのようにクリアしているのか。
「GemFireは、複数の物理サーバー間でレプリケーションを実行しデータを冗長化して保持します。1台の物理サーバーに障害があってもサービスが継続する仕組みです。また、アプリケーション、データベースを含むすべてのサーバー群を『HP Virtual Connect』で結び、予備機への切り替えを極めて迅速に行えるようにしました」(高橋氏)
「HP Virtual Connect」は、I/O仮想化テクノロジーとして注目されている製品だ。ネットワークアダプターのID(MACアドレス、World Wide Name)を書き換え、HP Virtual Connect内に作成した仮想ネットワークで接続先の外部ポートを指定できる。サーバーの接続経路を自由に変更できるので、サーバー予備機への切り替えが最短時間で可能だ。
「どんなシステムも“壊れる”ということを前提に、システムの機能と人的な対処を組み合せて合理的に耐障害性を高めています。壊れたときの切り替えをいかに短時間で行うか、と発想を転換することで工数も時間もコストも節減できました」(高橋氏)
本プロジェクトの基本方針のひとつに、「ビジネスロジックは変更しない。既存のアプリケーション資産を有効活用しつつインフラ領域の大幅な強化を図る」(阿部氏)というものがあった。パフォーマンス、データ整合性、耐障害性、開発生産性――全ての要件に高い目標を掲げながら、ムダなコストは一切かけない方針である。限られた投資枠の中で最大の成果を生み出すために、インフラ構築は日本HPとの緊密な協業のもと推進された。
「HPは、コストを最適化する機器構成の精査など、ITインフラ領域のプロフェッショナルとして設計・実装のノウハウを提供してくれました。メモリ上にデータをキャッシュする技術だけを見れば、東証・アローヘッドでも採用されていることは周知の通りです。私たちは、全員の知恵を出し合って数百億円かけたと言われる東証システムの1/100以下の投資で、本システムの構築をめざしたのです」(阿部氏)
|