改めて、フラッシュストレージってどんなものですか?
谷川:まずはフラッシュストレージについて詳しくない読者もいるかと思うので、基本的なところから教えていただけますか?
アラン:イメージはいままでのハードディスクに似ています。違うのはフラッシュそのものの形を生かして、ストレージ装置に搭載している点です。Violin MemoryではVIMM(Violinインテリジェントメモリーモジュール)という形にした上で搭載するストレージ装置を開発しています。多くのフラッシュストレージベンダーはハードディスクの形に変換したSSDをストレージ装置に入れますが、我々はVIMMという形にした上でストレージ装置に搭載しています。
谷川:その形の違いは、どこに表れてくるのでしょうか?
アラン:ストレージ装置の中身、アーキテクチャです。販売されている製品の多くがSSDをOEMで外部から購入し、従来のハードディスク用ストレージ装置に搭載しています。我々はベースとなるVIMMから開発しているのが大きな違いです。
谷川:ソフトウェアやサーバから見たら、通常のストレージに見える?
アラン:サーバから見るとそうです。ですが、中身は全く違います。簡単に言うと、PCI-e フラッシュメモリーカードを64枚重ねて3Uのストレージ装置を作るイメージです。
谷川:直接サーバのスロットに挿すタイプとストレージ装置で提供するタイプの違いはどんなところでしょう?
アラン:容量、SANストレージアーキテクチャ、バックプレーンが異なります。PCI-e フラッシュメモリーカードはサーバのバスを使うので、サーバメーカーのバスアーキテクチャにスロット数・冗長化などが依存します。我々はバックプレーンから開発しているので、バスの冗長化ができるなど、高可用性の仕組みも提供しています。
谷川:ユーザーの間には、SSDとフラッシュメモリーの違いが明確になっておらず、いまだに混同があるようですが。
岸本:そうかもしれません。Violin Memoryの場合は、SANネットワーク上のストレージをイメージするといいと思います。なので、既存の外付けのSANストレージと置き換えができます。ユーザーが混同しているのは、サーバに内蔵するSSDと、サーバのPCIのスロットに挿すPCIeSSDやアクセラレータなどと呼ばれるものの違いですね。これらの違いは、従来のハードディスクのインターフェースを流用しているか否かによるレイテンシーの違いになります。Violin Memoryは、外部ストレージ装置にフラッシュメモリーを入れているのがポイントです。
岡本:SSDを搭載しているストレージ装置というのは、SSDつまりフラッシュを使用してはいますが、フラッシュに対するインターフェースがハードディスク用のSAS/SATAをそのまま流用していて、そこがボトルネックになりやすいものが多いです。Violin Memoryは、フラッシュに特化したインターフェースを内部で持ち、こういったボトルネックを排除しているのが特徴です。
谷川:Violin Memoryのほうが技術的に優位になるということですね。
岡本:さらに、集積度も特徴の1つです。これまで3ラックあったようなSANストレージのシステムが、Violin Memoryならフラッシュの形状に適した搭載にしていることで、1ラックで済むこともあります。当然、SSDの様な余計な形状変化をすることがない分、冷却効率等の面から電力消費量も抑えらます。
谷川:そのあたりは、専用設計の強みですね。
アラン:長年ディスクやストレージの形が変わらなかったのは、大手メーカーがフラッシュをSSDの形で搭載していたからです。そこをイノベーションで変えていきたいと考えています。
フラッシュストレージの得意なところ不得意なところ
岸本:近年ハードディスクの容量は増えたけれど、スピードのほうはそれほど速くなっていません。そこにフラッシュへの期待があるのだと思います。既存のベンダーはSSDとハードディスクで階層化するなど複雑な構成で効率化と高速化を図りますが、Violin Memoryは至極シンプルで「速いのを並べました」です。中は冗長化しているので信頼性も高くシンプルなので、ディスク配置等のストレージ設計も簡単です。
谷川:デメリットはありますか?
アラン:デメリットはフラッシュにネガティブなイメージがまだ何点かあることだと思います。まずフラッシュは「値段が高い」や「寿命が短い」とよく聞きます。とはいえかつてとは違い、いまでは寿命や信頼性などの問題はかなり克服されています。フラッシュの寿命や信頼性の高さが浸透すれば、より普及するのではと考えています。
谷川:寿命に関しては、フラッシュ自体のハードウェア寿命が長くなっているのと、ソフトウェアを活用してデータロスしないような工夫がなされているのとの両面があり、両者が相まっての結果でしょうか? 現状だと、通常のハードディスクを使うのと遜色ないですか?
アラン:Violin Memoryだと(寿命は)気にする必要はありません。フラッシュのデメリットで寿命と言われていたのは、ディスクベースのRAIDや古いディスクベースのアーキテクチャをフラッシュと使っているからです。Violin Memoryでは、そのあたりはすべてフラッシュに最適化したハードウェアとソフトウェアを開発しているため、管理者なりが心配する必要はありません。
谷川:特別なドライバーがいるとかは?
アラン:全くないです。
岸本:サーバから見たら普通のSANストレージ装置です。特別なドライバーも何もありません。言い方を変えると、サーバから見ると、従来からあるSANストレージという「枯れた」テクノロジーで、素晴らしい高速化を手に入れられるソリューションです。
谷川:いままでハードディスクでやってきたことを、そのままViolin Memoryでやればいいということですね
アラン:そうです。さらに今までのシステムでは、ディスクのところがボトルネックでCPUが有効活用しきれていませんでした。フラッシュにするとこの部分のボトルネックが解消しCPUが有効活用されます。たとえば、富士通のPRIMEQUEST(プライムクエスト)だと、CPU処理性能が高いので、Violin Memoryとの相乗効果で、より多くの処理を行わせることが出来ます。
Violin Memory≪導入ビフォーアフター≫と
≪PRIMEQUESTとの組み合わせ検証結果≫
・大手通信事業社事例~導入前後で【パフォーマンス】【消費電力】【ラックスペース】に
見られた変化とは?
・PRIMEQUEST組み合わせ検証結果 及びサーバ内蔵HDDとのパフォーマンス比較
Violin Memoryの実力を、ぜひ、下記よりご確認ください!
フラッシュストレージをデータベースで活用するポイント
谷川:優位性は速さだと分かりました。そのかなり速いストレージでデータベースを運用する際には、何か意識したほうがいいことはありますか?
アラン:まずは「ディスクからフラッシュに置き換えるだけで速くなる」ということ。加えて、これまではハードディスクの遅さを前提としたキューイングなどのリミッタがOSやハイパバイザ側で設定されていましたが、フラッシュに置き換えればこうしたリミッタを外すことができます。そうすればフラッシュの良さがより生きてきます。
谷川:ハードディスクを想定していたリミッタからは解放されると。
アラン:例えば、Windowsだとサクサク動くのですが、Linuxだとカーネルレベルでキューイングなどハードディスクを想定した設定がいろいろとなされています。これらを外すと、性能向上するケースが多いです。
岸本:それだとデータベースレベルのチューニングではないですね(笑)。
アラン:そうですね(笑)。
岡本:データベースサーバに対するOSカーネルレベルのチューニングですと、こういうことを考える場合がありますね。
岸本:こうしたViolin Memoryの高性能をしゃぶりつくす為のカーネルレベルのチューニングも大事ですが、最大のポイントは、こうしたチューニングをせずとも「単純にハードを置き換えれば速くなる」では。データベースやアプリケーションを調整するとなると、人件費に直結しますから。装置を入れ替えるだけで、格段に効果が得られるのは効率的です。
谷川:素人質問なのですが、ディスクが速すぎるとネットワークなど別のボトルネックが出てくることもあるのでしょうか?
岸本:今後出てくるでしょうね。これまではハードディスクが(遅かったので)ボトルネックになっていました。ディスクが速くなれば次は違うものにボトルネックが移動します。移動先はCPUかネットワークでしょうね。
岡本:そこまで負荷をかけられるアプリケーションがあるかが鍵ですね。ただ、いまはCPUがすごく余っているというアンバランスな状況があります。ディスクが速くなると余っていたリソース(CPU)が使えるようになり、バランスがよくなるのではないかと考えています。これは、我々が検証しながら得た印象ですが。
岸本:今後アプリケーションがどのような負荷をかけられるようになっていくかは分かりませんが、もっともっとCPUを使いたいとなれば、私どものPRIMEQUESTが生きてくるのではないかと思います。
谷川:例えばそれは、仮想化でたくさんのシステムをコンソリデーションするようなイメージでしょうか。
岸本:そうですね。現在弊社PRIMEQESTでは筐体全体で最大80コア、今後はさらに増えていきます。
谷川:仮想化でコンソリデーションすると、ディスクがボトルネックになるというのはよく聞きます。そこがフラッシュストレージで解消されるということですね。
岸本:速いものを使うようになると、従来出来なかったことがいろいろなことができるようになるので、使い方そのものが変わってくると思います。
谷川:Violin Memoryでディスクが速くなりネックが解消されたら、次に性能が欲しくなるのはどこでしょうね?
岸本:それは、ユースケースにもよりますね。
アラン:答えは1つではないでしょうね。フラッシュに置き換えることで、ようやくネットワークとCPUとディスクのバランスがよくなるというのが、最初でしょうから。その後、アプリケーションの特性によって、何処に性能が欲しくなるかは変わってくると思います。
谷川:処理を増やすとか、アクセスを増やすとか、それによっても要求する部分は変わりそうですね。
岡本:PRIMEQUESTの利点はViolin Memoryの高いI/O処理を生かせるパイプがあることです。なので、PRIMEQUESTとViolin Memoryがベストマッチとなると考えています。
岸本:小さいPCサーバを1台Violin Memoryにつなげたところで、Violin Memoryの高性能を有効に活用しきれませんが、PRIMEQUESTならCPUもメモリもネットワーク帯域も大きいので、Violin Memoryの高性能によって、ネットワークとCPUとディスクのバランスが良くなると思います。さらにPRIMEQUESTは、CPU/メモリとネットワークをそれぞれ独立して増強出来るので、バランスが良くなった後さらに性能が要求される部分を増強する、といった性能面の全体最適が図れます。これは、データベースにはいいでしょうね。
アラン:これまではサーバとストレージは別という考え方でした。PRIMEQUESTなら速いViolin Memoryと組み合わせて、仮想化の中にOracle Database等のデータベースサーバも入れられます。結果、いままでは物理サーバでなければ出来なかったことも、仮想化でできるようになってきました。この間、数百台もの仮想サーバでOracle Databaseを稼働させている環境にViolin Memoryを入れても全く問題なしでした。
Violin Memory≪導入ビフォーアフター≫と
≪PRIMEQUESTとの組み合わせ検証結果≫
・大手通信事業社事例~導入前後で【パフォーマンス】【消費電力】【ラックスペース】に
見られた変化とは?
・PRIMEQUEST組み合わせ検証結果 及びサーバ内蔵HDDとのパフォーマンス比較
Violin Memoryの実力を、ぜひ、下記よりご確認ください!
フラッシュストレージのコストメリットをどう評価すればいいのか
谷川:ディスクのところで多少コストがかかっても、圧倒的に性能が上がればトータルではコストが下がる可能性はありそうですね。
岡本:十分あります。従来CPUが遊んでいたのを有効活用できるようになります。CPUの数はサーバの数でもあるので、ストレージ性能を得るためにストレージ装置の分離やそれと連動して分散化していたサーバの台数を、ストレージ装置の集約化とそれと連動してのサーバ集約で減らせられれば、それだけでもコスト削減になります。現実的にはサーバよりもソフトウェアのライセンスの部分が大きいと思います。余計なサーバ台数を減らすことでソフトウェアライセンスを減らせれば、かなりのコスト削減につながります。後は、電力消費量削減にも、おおいに効いてきます。
谷川:Violin Memoryの管理面はどうですか?
岡本:むちゃくちゃシンプルです。むしろ従来のSANストレージ装置より簡単です。先日納めたお客様は「普通のストレージより簡単だね」と言っていました。「フラッシュを使いたい」だけではなく、運用のシンプルさは導入の決め手となります。管理が楽なことも、最終的にはコスト削減につながるはずです。
谷川:管理の手間という意味では、従来はストレージをチューニングするというのもありますね。
岡本:一般的なストレージだと適切なRAIDを選択するかデータ配置の分散化するかして、冗長性や効率性、そして性能を調整します。Violin Memoryでは、そうした手間が一切なくなります。設計の段階で考えなければいけないのは、必要な容量とその割り当て方だけになります。
谷川:そうなると欲しい容量と値段さえ合えばOKだと。
岡本:近年ではギガバイトあたりの単価が下がっています。実際の価格を見ると、フラッシュがそんなに「高い」という印象を持つことはないと思います。
アラン:だんだんディスクとフラッシュの値段が近づいてきているので、何年か先にはフラッシュの値段がディスクを下回る可能性もあると思います。
谷川:将来的にはハードディスクはストレージとしてではなく、バックアップ媒体になるかもしれませんね(笑)
アラン:そうですね。将来データセンターはシリコンだけになるというのが弊社の考えです。ハードディスクも現在のテープのようにアーカイブ用途になるかもしれません。ディスクに合うソリューションも残るかと思いますが、今後プライマリーのデータはフラッシュに移行するでしょう。
インメモリーとオンメモリー
谷川:話は変わりますが、データベースの世界にはいま「インメモリー」が注目されています。フラッシュストレージとは、どう使い分ければいいでしょうか?インメモリーのメリットとフラッシュを使うメリットは違うところにあるのではと思っているのですが。
岸本:インメモリーだと揮発メモリー(消えるもの)なので、何らかのタイミングで永続性のあるものに書き込まなくてはなりません。また、故障や再起動時のデータロードも考えると、外部データ格納媒体としての外付けストレージ(フラッシュ)は必要です。例えば、インメモリデータベースがあるから外付けストレージを廃して内蔵のハードディスクのみでいいかというと、外付けストレージに比べて内蔵ハードディスクはシングルポイント障害のリスクがありますので、冗長化を考えなければならない。そうなれば、おのずと外付けストレージが必要という結論に至ると思います。
谷川:インメモリーデータベースがテラバイト規模になると、メモリーにデータをロードするのにもかなり時間がかかりますよね。そのときに、ディスクがフラッシュならかなり有利そうですね。
岸本:まあ、お金がたくさんあれば、インメモリデータベースサーバを2個並べて、同期型レプリケーション等で冗長化を図って、故障や再起動時の再データロードの必要性を減らすというのもありかもしれませんが。
谷川:それこそ、相当なコストがかかりそうですね(笑)。
アラン:外付けのフラッシュディスクをインメモリーの延長線上や、オン・ザ・メモリとして使うというソリューションも考えられますね。今後はインメモリとフラッシュストレージの壁が、なくなる可能性もあると思います。
谷川:インメモリーなのか、フラッシュなのか、そのどこを厚くするのか、それをどう選んでいくのかですかね。
アラン:ニーズ次第でしょうね。DRAM(メモリ)ですと、フラッシュよりレイテンシーがいいですがDRAMコスト高いですし容量が少ないです。外付けのフラッシュストレージはμs(micro sec)のレイテンシー、低コスト、共有可能なSANストレージがメリット。こうしたコストとビジネスのインパクトが、ソリューションを選択する上で大事になります。
岸本:いまはインメモリデータベースができたので、むしろフラッシュは導入しやすくなったように思います。データはメモリにあるか、フラッシュにあるかどちらかですよと。メモリは速く、外付けストレージにあるフラッシュも十分に速い。結果どちらにデータがあっても十分に速いと。階層化ストレージに比べればフラッシュストレージはコントロールもしやすい。こうした結果、アプリケーション開発やロジックに専念できるようになるはずです。
谷川:階層化ストレージだと、階層間のデータ移動でリソースコストなりは発生しますからね。
岸本:莫大(ばくだい)なデータ量があれば、階層化も必要かと思います。ちなみに、実際のところみなさんどのくらいのデータを抱えているのでしょうね。
谷川:そうですね、企業の多くは数百ギガ、テラバイトとしても1桁という話をよく聞きます。いまはどのデータベースにも圧縮機能があり、その技術が向上しています。なので、それがよく効いて実際のデータ容量は小さくなるようです。データベースのサーバーをバージョンアップしてデータを圧縮したら、あっさり数百ギガに収まってしまったケースもあるとか。で、「予想に反してディスクがたくさん余ってしまった」と。
岸本:ディスクに余裕があるならまた違う用途でデータを蓄え使えるようになりますね。
谷川:データは「入るなら入れておきたい」というニーズが出てくるでしょうね。集計した結果ではなくて、集計前のそのままのデータとか。要望は高くなりそうです。
岸本:これまでは最初から「ためたいデータ」を想定してためていました。いまは「なんでもいいからためておいて、使い方は後で考える」ができます。
谷川:データは捨てたら戻ってきませんからね。
岸本:パラダイムの変化を感じますね。とにかく貯めておく・そして使いたいときには高速で使いたいというようなところにフラッシュはフィットしてくると思います。
岡本:それと、いまのインメモリーデータベースでは、多くの場合データベースを新しいバージョンにする必要があるでしょう。結果インメモリーデータベースを活用しようとすれば何らかアプリケーションの変更が必要になります。そうした条件を飲めるお客様が、実際にはどれだけいるでしょうか。
谷川:確かに。
岡本:インメモリデータベースにしてもカラム型にしても、同じように見えて各社とも実装が違うので、特性など未知の要素がまだあると思います。それぞれに適した形で使えば速くはなるとは思いますが、技術が成熟するまで待てるでしょうかというのが正直な疑問です。
谷川:昨今期待されているインメモリデータベースに比べたら、フラッシュは枯れたところに最新技術が入っているイメージでしょうか。
岡本:だからこそ従来からあるデータベースのノウハウが生かせます。現行のデータベーススキルで性能が出せるとなると、やっぱり「楽」ですよね。またハードディスクへのデータ配置などDBAの腕の見せ所はいろいろとありましたが、フラッシュストレージでは、そういうのを考えなくて済むようになります。
岸本:かつては性能を出すためにハードディスク容量の一部しか使わないなど、もったいないこともしていましたね。
岡本:多数のハードディスクを使うと、1日に1本壊れることもあります。毎日交換できないので予備に大量に積んだり。こうしたリソースのムダ、それに伴う処理の遅延はフラッシュによって解消できます。これをメリットとしてフラッシュを採用するお客様もいるくらいです。
谷川:物理的に動くものが少ないフラッシュのほうが故障する割合が低いそうですね。
岡本:たとえ壊れたとしても、フラッシュだとリビルドが速いですよ。
Violin Memory≪導入ビフォーアフター≫と
≪PRIMEQUESTとの組み合わせ検証結果≫
・大手通信事業社事例~導入前後で【パフォーマンス】【消費電力】【ラックスペース】に
見られた変化とは?
・PRIMEQUEST組み合わせ検証結果 及びサーバ内蔵HDDとのパフォーマンス比較
Violin Memoryの実力を、ぜひ、下記よりご確認ください!
本当に信頼してフラッシュストレージを使ってもいいですか?
谷川:改めて、Violin Memoryを使った信頼性について、ポイントとなるところはどこでしょうか?
岸本:内部で徹底した冗長化をしているのが1つです。PRIMEQUESTとの組み合わせなら、サーバ1台でもHA構成が組めます。一般的にHA構成というと維持など稼働後が意外と面倒なんですが、サーバ1台というのはこういった面倒が無くシンプルです。PRIMEQUESTだとハード故障に関しては予備システムボードで代替することで、サーバ1台でのHA構成ができます。つまりボード障害時には別のボードで再起動することができます。ここにViolin Memoryを使うと、再起動が非常に速いわけです。
谷川:それはHAでコールドスタンバイだけれど、Violin Memoryを使えばホットスタンバイ的に使えるということですか?
岸本:要件次第ですが、数秒で切り替えなくてはいけないならホットスタンバイが必要です。その場合、データは共有できるところに置かなくてはなりません。Violin Memoryは(共用の外付けディスクとして使えるので)その際にもかなり有利です。さらに、「5~10分待ってもいい」場合でも、リブートの速度はViolin MemoryだとOSやデータベースの再起動もかなり速いです。ある意味これは、ホットスタンバイとコールドスタンバイの間に、もう1つの選択肢を提供するようなものでしょう。
谷川:その際、コストバランス的にはどうでしょう?
岸本:信頼性や可用性を高めるようとするなら、コストがかかるのは避けられません。「どれだけ投資してもいいですから、安定稼働させてください」と言われればいくらでも信頼性や可用性を高められます。しかし、現実的にはベストバランスの落としどころが問題です。PRIMEQUESTですと冗長性だけでも何段階もあるのでベストバランスを叶える選択肢が広まります。またPRIMEQUESTであれば、大量CPUコア、大量メモリ、豊富なI/O帯域があるので、信頼性面だけでなく、All Flash Arrayの広帯域で低遅延性能というものを最大限に引き出すことができます。とくに豊富なI/O帯域やI/Oスロットを持っているというあたりは、冗長性と拡張性を両立しますので、高性能なViolin Memoryとはベストマッチだと思います。
谷川:Violin Memoryと最新のPRIMEQUESTの組合せなら、高速化が期待できるだけではなく、その十分な性能を活用し(Violin Memory自体が冗長的なので)冗長性を1つ手前の構成にしてコストを下げるとか、要件を満たしつつちょうどいいところで落ち着くことができそうですね。
岡本: 実際に、PRIMEQUESTを含めた富士通製のサーバとViolin Memoryを組み合わせて、現実的にいったいどのような性能が発揮できるのか、さらには信頼性の確保やその際の管理性はどうなっているのかについて、実機を使って検証を行っています。その検証ではPRIMEQUESTが、大量CPUや大量IOスロットがあることによるViolin Memoryとの相性の良さも確認しています。IOの接続を切断してもトランザクションが継続し、また接続をし直すとすぐにフェイルオーバーするといった故障時の動きなども、細かく検証しています。もちろん性能についても検証を行っており、十分な負荷をかけてもViolin Memoryのカタログスペックと同等の性能が出ることが分かりました。検証結果の詳細はドキュメントとしてまとめていますので、興味のある方は是非そちらを参照して、Violin MemoryとPRIMEQUESTの組み合わせの実力を確認していただければと思います。さらには、導入前にお客様の実際のデータを使って性能を検証するPOCも行っています。POCをやれば、大きな効果があることが、事前に確認できるはずです。
谷川:最後に、こういったフラッシュストレージのメリットを発揮している事例で興味深いものはありますか?
アラン:アメリカで大手会社に卸している会社で面白い事例があります。その会社では毎日の集計処理の計算に1~2日かかり、発注から商品の発送まで1週間程の時間がかかっていました。Violin Memoryを入れたらその計算が6時間に短縮できたのです。つまり、その日の処理が夜間に終わるようになりました。すると朝には商品をトラックに積めるようになったのです。
谷川:それは劇的ですね。
アラン:これまで何日もかかっていた計算がストレージを変えただけでリアルタイムに近づくというソリューションが出始めています。そこから得られる余力をどう使うかという、さらなるビジネスインパクトへの発展を考えても面白いですね。
岸本:配送が翌日、数日後だったものが即座に終わるなら発注のタイミングも変わってきます。我々も、たんにストレージが速くなるというだけでなく、そういうビジネスが変革するところでお手伝いしていきたいなと思います。
谷川:先ほどの「発送まで1週間が翌日に」なんていうビジネスインパクが見えてくれば、Violin Memoryに投資する初期コストなんかは、すぐに回収できるでしょうね。
***
▼谷川より▼
さて今回、フラッシュストレージについて関係者に話を聞いたことで、確実にストレージの選択肢にフラッシュが入ってきている、いやむしろまずはフラッシュの採用を検討すべき時代になっているなと感じた次第。今回の話題にもあったように、システムで利用するのはメモリーとフラッシュストレージで、バックアップ媒体がハードディスクというのも、そう遠い将来の話でもなさそうだ。
Violin Memory≪導入ビフォーアフター≫と
≪PRIMEQUESTとの組み合わせ検証結果≫
・大手通信事業社事例~導入前後で【パフォーマンス】【消費電力】【ラックスペース】に
見られた変化とは?
・PRIMEQUEST組み合わせ検証結果 及びサーバ内蔵HDDとのパフォーマンス比較
Violin Memoryの実力を、ぜひ、下記よりご確認ください!