フレッシュなデータをビジネスに活かすための、XtremIOの強みとは。
・リニアにスケールするパフォーマンス
・より高速なアプリケーション導入
・簡単にデータベースを仮想化
XtremIOの詳細は、こちらの資料をご覧ください!
大規模OLTPとビッグデータのリアルタイム分析を共存させたい
ビッグデータに対するリアルタイム処理要求は、センサーデータに限らない。たとえば、商品を拡販する上でも、リアルタイム性が重要となる。
「たとえば、ある企業は、特定の作物の種を購入する顧客を特定して、栄養剤、殺虫剤等のクロスセルを行いたいと考えており、そのために顧客の居住地域の気象状況なども考慮し、種の生育に重要となる微量栄養素を含む栄養剤及び殺虫剤を素早く提案したいと考えました。このとき分析に要する時間の要件は、2秒以内でした。それ以上時間を要するとクロスセル効率が格段に落ちると判断した訳です。それに対して、従来型のデータを溜めてから分析する方法では、レポートが出るまでに10分以上かかっていました。それでは、種を買うアクションに合わせたタイムリーな提案はできません」
EMCジャパン 若松信康氏によれば、この例のように、集計的な分析からリアルタイム分析へ移行する例が増えているという。それにより今顧客のためになる情報の提供を通して販売の拡大につなげることができる。
データを溜めてから時間をかけて分析処理をするデータ活用とは違い、大量データをなるべくリアルタイムに近いタイミングで活用する場合には、プラットフォームとなるデータベース要件も異なる。たとえば、あるクレジットカード会社には、1日に5,100万件のトランザクションデータがあり、そこから不正取引の検知を30秒以内で行いたい。30秒以内に検知できれば、クレジットカードの悪用を阻止でき、結果的に信用リスクを低減し顧客流出を防げるのだ。
この要件に対しOLTPシステムからETLツールでデータを抽出し分析用データウェアハウスにロードして、なんてことをやっていては30秒以内の検知は不可能だ。OLTPのデータベースに対し、スキーマに依存しない形でアクセスし素早くレポートできなければならない。
このような大量のOLTP処理と併存したリアルタイム分析要求が、昨今のビッグデータを扱うデータベースには増えている。しかし、これら2つを1つのデータベースに共存させるのは、じつは難しい。なので、これまではOLTPとデータウェアハウスを分離してきたのだ。
この課題を解決する1つの方法は、最近注目のインメモリーデータベースかもしれない。とはいえインメモリーデータベースは、ハードウェア制限やコスト的に莫大なデータすべてをインメモリーに載せられるかという問題がある。さらに、なんとかインメモリー化できても、ビジネスが拡大しデータ量が増えた際に容易に拡張できない課題もある。
これに対し、フラッシュストレージという解決策がある。インメモリーほど高価ではなく大容量の確保も可能で拡張性も高い。ハードディスク型ストレージに比べれば、圧倒的なパフォーマンスと低レイテンシーを発揮する。「特に技術的に成熟したSSDを活用したオールフラッシュストレージなら、従来の信頼性要件に対応しながら、OLTPに加えてビッグデータをリアルタイムに分析処理したい要求にも単一のプラットフォーム上で対応できる、コスト効率の良いシステムが実現可能です。エンタープライズ領域での実績と信頼性の裏付けのない技術を使ったフラッシュストレージが市場に多く参入している中で、こういった側面で検討することもより重要となってくるでしょう」と若松氏は付け加える。
フレッシュなデータをビジネスに活かすための、XtremIOの強みとは。
・リニアにスケールするパフォーマンス
・より高速なアプリケーション導入
・簡単にデータベースを仮想化
XtremIOの詳細は、こちらの資料をご覧ください!
オールフラッシュストレージのメリット
フラッシュメモリーを活用するストレージには、サーバーのPCIバスに直接接続するボード型のものがある。また、EMCが提供する「XtremIO」のように、SANストレージ型も登場している。ボード型は、サーバーに搭載できる量に制限があり、さらに独自ドライバーやキャッシュプログラムも必要になる。対してSAN型は、オールフラッシュの高性能に加え、高い拡張性と運用管理の容易さというメリットがある。
たとえばXtremIOでは、CPU、キャッシュを含むコントローラとSSDから構成されるノード(X-Brickという)を4ノードにまで増やせる拡張性を持っている。必要に応じ、10から80TBへ、更に今後ノード数とドライブ容量の拡張により最大320TBの物理容量へ拡張可能となる予定だ。8ノード構成では、最大200万IOPSもの読み取り性能を提供する。十分な物理容量と性能が確保できるので、扱いたいビッグデータすべてを、XtremIOに格納可能だ。このすべてを格納できる点は、運用管理面でも大きなメリットとなる。たとえば、データベースで高いレスポンスを得るために、サーバー側にキャッシュをたくさん搭載する方法もあるが、キャッシュ容量をどうすればいいかの判断も難しい。
「あるお客様では、システム導入初期にキャッシュのリードミスが40%だったものが、その後ユーザー数が増加したことで、リードミスが60%に、また、複数のデータベースを一つのストレージに統合した際には、それが80%に、さらに他のアプリケーションとともに仮想化した際には、95%のIOがリードミスするという状況に直面しました。これらの環境の変化によってランダムなトランザクションとクエリが増大したためです。これは一つの例にすぎませんが、こういったシステムの効率化の過程で、ランダムなI/Oは必ずと言っていい程増大します。そういった高ランダムI/Oとその変化に対応するために、キャッシュの増設やDB/アプリケーション側のチューニングを繰り返すことはもはや最適な手段とは言えません。高ランダムI/O下において何もしなくても一貫性のある高性能を提供できる、容量拡張性の高いストレージリソースが運用の観点からも求められます。オールフラッシュストレージはまさにそこに対応するソリューションです」(若松氏)
成長と継続的な進化が求められるビッグデータ分析において、チューニングレスで高い拡張性を提供できることは重要なメリットであり、オールフラッシュはそのための有効な解決策となりうるだろう。
フラッシュのデメリットは解消できたのか? 書き込みのボトルネック
オールフラッシュが有効な解決策と「なりうる」とした表現の背景には、その長所だけでなく、短所にも目を向ける必要があるためである。オールフラッシュストレージにも様々な技術があるとはいえ、そのベースとなっているのはNAND型フラッシュメモリー。それを使ったSSDにしても、従来から欠点がある。
その欠点は、書き込みに弱いという点である。フラッシュは書き込みによって摩耗するという性質上、書き込み回数の上限が寿命となる点が挙げられる。その上通常のアプリケーションからの書き込みとは別に、書き込み領域を確保するためのバックグラウンドでの追加の書き換え(ガベージコレクション)が発生する。これはデータの書き換えによってRAIDのパリティが更新される際に(RAIDのストライプ幅の隣接ブロックの空き領域が取れないときに)、さらに誘発され、書き込みが増幅される。また、アプリからの書き込み容量が大きくなればコスト(容量単価)が問題となる。加えて、書き込み性能は、読み取り性能の半分から1/3であり、摩耗度合の異なるフラッシュ領域間でランダムI/Oが発生した場合には、当然ながら、劣化の進んだ領域の性能に引きずられることで、さらに性能は劣化する。そのため、従来SSDに代表されるNAND型フラッシュは、読み取りの多い環境で主に推奨されてきた。
こういった問題にはどう対処するのか。依然として読み取りの多い環境に限定しなければならず、結局のところOLTPとOLAPのための単一プラットフォームとしてフラッシュストレージは時期尚早なのだろうか?
「これに対処する技術が、既にXtremIOには実装されています。実際のところ、対処法としては、フラッシュに対する書き込みを減らすしかありません。その最も効果的な方法は、重複するデータの書き込みを回避するインライン重複排除とパリティの書き込みを最小化するスマートなデータ保護技術を実装することです。その上で、書き込み単位を小さくすることがその効率を向上させます。書き込み単位が大きいと一般的にアレイのコントローラやバスといった内部コンポーネントがボトルネックとなって、スループットとI/Oあたりのレーテンシが落ちます。小さい単位で重複ブロックを判定し、小さい単位で書き込むことが、寿命と書き込み性能を向上する上で効果的です。XtremIOでは、4KBという小さいブロック単位で重複を判定し、その単位でデータを書き込みます。シンプロビジョニング下でも従来のようなアロケートされた領域に対して歯抜けでデータを書き込むことがないため、ガベージコレクションの必要もありません。また、XtremIOは、フラッシュに最適化したパリティエンコードアルゴリズムを実装しており、データの更新やリビルドをする際に、HDDに最適化されたRAIDとは違い、隣接するブロックにデータを書き込む必要がないため、常に空いているスペースにデータを書き込むことで、先程と同様ガベージコレクションの必要性を排除し、書き込みの最小化を実現しています」(若松氏)
さらにXtremIOの完全なインメモリ・オペレーションにより、テスト/開発/QA等データのコピーを大量に展開、利用するケースでその効率性は増幅されるという。内部的にはデータのフィンガープリントを持っていて、それを使って重複排除処理をすべてインメモリー上で実行する。実際の複製時には、メモリー内でフィンガープリントをコピーするだけなので、SSDに対する書き込みは無く、データの実容量は増えない。SSDの寿命を消費することもない。この方法だと大規模データの複製も、処理時間が大幅に短縮されるのは大きなメリットだ。この機能を活用すれば、ストレージの稼動率を大きく上げられる。
▼ ストレージ容量消費を最小化したインスタントDBコピー
フレッシュなデータをビジネスに活かすための、XtremIOの強みとは。
・リニアにスケールするパフォーマンス
・より高速なアプリケーション導入
・簡単にデータベースを仮想化
XtremIOの詳細は、こちらの資料をご覧ください!
高性能フラッシュストレージがトータルコストの削減にもなる
極めて高いIOPSとレスポンスは、データベースのライセンスコスト節約にもなる。高レスポンスを得るために、たとえばOracleであればReal Application Clusters(RAC)構成で多ノード化し分散処理するだろう。Oracleは、ノードに搭載されるCPUコア数に応じ、データベースライセンス費用が発生する。なので、高性能化のためにノードを増やせば、増やしたぶんだけライセンスコストは増える。
この際、XtremIOのようなフラッシュストレージを使えば、ノードを増やさずとも高レスポンスを発揮できる。ハイエンドサーバーとハードディスクストレージの組み合わせの場合と、XtremIOと低価格のIAサーバーを組み合わせてRAC構成をとる場合では、同等レスポンスを得られる構成でもトータルで1/3程度のコストになる試算もある。実際に、XtremIOの価格以上のコスト削減を実現できる。
▼ X-Bricksの価格以上のコスト削減
極めて低レイテンシーで高IOPSのXtremIOだが、それだけに特化した特殊なストレージではない。
「SSD、重複排除技術、アーキテクチャは十分成熟し枯れています。EMCの製品として、エンタープライズ・レベルの信頼性を担保しながら高速化する。そして、ソフトウェアのインテリジェンスによって、それをいかに効率的に一貫性の高いクオリティで活用できるか、という点がお客様のシステム全体とその変化に対応する上で、重要であると考えて開発に取り組んでいるところが、他のユニークなフラッシュストレージを提供しているベンダーと違う点だと考えています。ハードウェアによる高速性を前面に打ち出したものと比べ、一見して地味ですが、お客様にとって最も安心できる解となると考えています」(若松氏)
従来の実績ある信頼性がベースになっているので、エンタープライズ用途でも安心して利用してもらえるのがXtremIOの特長だ。これからビッグデータ活用を新たに行いたい、そのためのビッグデータ用高性能サーバーを検討する前に、まずはストレージのオールフラッシュ化から検討する。そのほうが得られる性能的にも、運用管理の効率的にも、さらにはトータルコスト的にもメリットは大きいかもしれない。