グランプリ

 IT Japan Award 2010のグランプリは、東京証券取引所が2010年1月に稼働させた新株式売買システム「arrowhead」が受賞した。

 東証は「世界最高水準の高速性と拡張性、信頼性を確保する」という高い目標を掲げて、このシステムの構築に臨んだ。具体的な数値目標を定義し、主協力ベンダーの富士通と二人三脚で達成にまい進した。

処理速度は1000倍以上に

 これら三つの数値目標がいかに高いものだったか。順番に見ていこう。

 まず高速性。arrowheadは証券会社をはじめとする取引参加者から売買注文を受信すると、2ミリ秒で「受付通知」の応答を返す。旧システムでは2~3秒かかっていた処理のスピードを1000倍以上に高めた。

 注文の高速処理は取引参加者が最も強く求めていた要件だった。証券取引の世界では、できるだけ有利な条件で売買を成立させるため、コンピュータで自動売買する「アルゴリズム取引」を導入する取引参加者が増えている。これら参加者は1ミリ秒でも早い注文処理を取引所に求める。

 東証は当初、注文応答にかかる処理時間を10ミリ秒以下にする目標を掲げ、開発を進めた。結果として目標を大きく上回る2ミリ秒を実現できた。

図1●東京証券取引所の新株式売買システム「arrowhead」のアーキテクチャー
図1●東京証券取引所の新株式売買システム「arrowhead」のアーキテクチャー
高速性、信頼性、拡張性を重視した
[画像のクリックで拡大表示]

 この高速処理を可能にしたのは、新システムのアーキテクチャー。取引に関係する、すべてのデータ処理をサーバーのメモリー(DRAM)上で完結させるオンメモリーデータベース方式を採用した(図1)。メモリーはディスク装置に比べて、データの読み書きにかかる時間が圧倒的に短い。注文データ、各銘柄の値段、板の情報などはメモリー上で管理し、注文処理の過程でディスク装置へデータを書き込むことはない。

 ただし、すべてのデータをメモリー上に置くと、障害発生時にデ ータが失われるリスクがある。このリスクをなくすため、メモリー上のデータを「三重化」した。独立した三つのノードを連携させ、三つのノードのオンメモリーデータベースを常に同期更新する仕組みを採用した。