セントラル短資FXでは「FXダイレクトプラス」「セントラルミラートレーダー」といったFX(外国為替証拠金取引)サービスを提供している。前者は機能豊富で玄人向け、後者はストラテジ(売買プログラム)を選んでシンプルに運用できる初心者向けといったところ。自分の経験やスキルに合わせて投資方法を選べるようになっている。
同社では上記FX取引ツールの基盤システムのストレージにDell EMCのXtremIO X2を導入した。XtremIOといえば、Dell EMCのストレージ製品のなかでもハイエンドな製品だ。同社 市場業務部 清水純氏が導入の背景について解説した。
FXだと激しく変動するレートに対応すべく、システムには高性能や高可用性が求められる。それまではOracle RAC(Oracle Real Application Clusters)の2ノード環境が8セットあり、ストレージは2つのハイブリッドストレージを使用していた。清水氏によると「片方はIOが安定しているものの若干遅く、もう片方は高速だがたまにレイテンシが落ちる」と、一長一短だった。併用するメリットもあったかもしれないが、運用が複雑になるというデメリットがあった。
それまでパフォーマンスでは問題なかったものの、同社ではさらなるパフォーマンス強化が必要とされていた。なぜなら同社では顧客満足度向上の一環で、1秒あたりのレート提示回数を現在の5倍に増やす取り組みを進めていたからだ。レート提示回数が増えれば、その分トランザクションも増える。レート提示回数の増加に向けて、性能と信頼性を高めておかなくてはならなかった。
ここがすごい XtremIOのデータ保護「XDP」
そこでセントラル短資FXではXtremIOでストレージを再構築することを決めた。XtremIO採用のポイントとして、清水氏はパフォーマンスと信頼性を挙げる。XtremIOのパフォーマンスでは、インラインでの重複排除、圧縮、拡張性が特徴だ。製品カタログには「最大で176万IOPSにまで性能をスケールアウト可能」とある。
清水氏は「パフォーマンス評価は何を指標にするかで選択肢が変わります。安価にスループットを求めたいのであればSDSがあります。レイテンシを低く抑えたいなら、(一部条件を除き)専用ストレージしか選択肢はありません。またVDIのように全体のスループットは必要だが個々の仮想マシンの性能はさほど重視されないシステムもありますが、全体と個別、どちらも低レイテンシで高スループットが必要になるシステムもあります」と話した。清水氏に課せられているFXの基盤システムでは最後の「低レイテンシかつ高スループット」が求められるということだ。
例えばVSAN構成でパフォーマンスを高めるためにノードを追加したとする。ノードを増やせば全体としてのIOパフォーマンスは向上するが個々の仮想マシンのIOパフォーマンス自体はほとんど変わらない。個々のサーバーのIOパフォーマンスを上げるのであれば、オールフラッシュのXtremIOは有効な選択肢となる。
清水氏がXtremIOの良さとして強調するのはXDP(XtremIO Data Protection)。XtremIO独自のデータ保護方式で、SSD使用を前提として設計されている。XDPの良さとして、清水氏はRAID6以上の高可用性を担保しながら容量オーバーヘッドが8%と低く抑えられること、またストライプ更新の効率化で(IOパフォーマンスの)高速化とSSDの長寿命化が得られることを挙げた。
なおXtremIO以外にもオールフラッシュストレージはあるものの、使用割合が増えてくると性能が劣化 する製品もある。しかしXtremIOではレイテンシは低いまま一定であるのも強みだ。XDPでは常に少なく とも1つのストライプの40%が空くように調整され、ストライプの空き状況に応じたランク付けをおこない、最も空いているストライプに書き込むことで低レイテンシを実現している。またSSDのガベージ コレクションは各SSDにオフロードしていることも高パフォーマンスに寄与している。
さらに清水氏は「SSD障害時のリビルドが高速であることも重要です。壊れないハードは存在しませんので」と話す。これもXDPによる恩恵だ。XDPでは、横方向でグループ化する行ベースのパリティと、斜め方向でグループ化する列ベースのパリティ(対角パリティ)がある。ストライプを回復するとき、この行パリティと列パリティを使い、最小限の読み込みでデータを復元できるため効率的だ。
話を聞くと、いかに清水氏がXtremIOのXDPにほれこんだかが分かる。XDP以外となるXtremIOの選定理由として、清水氏は「設計項目が少ないこと。設計したのは管理用のIPアドレスとLUN(論理ユニット番号)くらいです。また管理画面がシンプルで必要な情報に簡単にアクセスできる」ことも評価した。加えて「レポート作成機能をもう少し充実してほしい」とのリクエストも。
2ラック削減できて月に50万のコスト削減 パフォーマンスも向上
結果としてどう変わったか。Oracle RACはそのまま、2ノード環境を8セットから、2ノード環境を6セットに変え、ストレージは全てXtremIOに切り替えた。構成変更でサーバー台数が減っただけではなく、付属するインターコネクト用スイッチやFCスイッチなどが共有できて、物理ラックの本数が4本から2本になった。
ラックの本数が減ったことは大きい。場所をとらなくなっただけではなく、運用コストを月に50万削減できたという。清水氏は「ストレージをXtremIOに変えても、コスト的に釣り合います」と話す。
パフォーマンスも向上した。これまでは使用していたストレージに依存して安定しているが若干遅い環境と、普段はそれなりに早いがログスイッチなどのIO負荷が高まるとレイテンシが悪化する環境という微妙な状態だった。しかしXtremIOに変えて統合してからは「安定して速くなりました。(データベース側でチューニングすることなく)ストレージを変えただけなのに」と清水氏。
アプリケーションチームからは為替レート変動時の書き込みが4~5msから2~3msへと短縮され「速くなりましたね」と好評だという。実際にSTATSPACKで比較すると、「log file parallel write」は約半分、「log file sync」は約1/4になり、パフォーマンス向上できたのが見てとれる。
最後に清水氏はXtremIO購入時の注意点をいくつか挙げた。細かいことかもしれないが、見過ごすと意外と致命的なので重要だ。まず「基本的には200V電源が必要であること」。200V電源が確保できずに断念するケースもあるようだが、セントラル短資FXでは「ディスク本数が少なかったため100V電源で足りました。基本は200V電源が必要ですが、100V電源でも足りることがあるので、Dell EMCの担当者さんに確認してみてください」と清水氏。
もう1つは「XtremIOは大きい(長い)」。同社が使う奥行き1mのラックだと、XtremIOははみ出してしまう。そこでブラケットを挟み、XtremIOをラックの前方方向にずらすことで、無事にラックに搭載できたという。ただしその経緯でちょっとした計算違いがあり「かっこいいフロントベゼルを取り付けられなかった」(清水氏)。性能には全く関係ないが、見た目がむき出しになってしまい、そこがちょっと口惜しいのだとか。これも基本的かつ忘れてはいけない物理設計に入るのかもしれない。