インメモリーとオンメモリー
谷川:話は変わりますが、データベースの世界にはいま「インメモリー」が注目されています。フラッシュストレージとは、どう使い分ければいいでしょうか?インメモリーのメリットとフラッシュを使うメリットは違うところにあるのではと思っているのですが。
岸本:インメモリーだと揮発メモリー(消えるもの)なので、何らかのタイミングで永続性のあるものに書き込まなくてはなりません。また、故障や再起動時のデータロードも考えると、外部データ格納媒体としての外付けストレージ(フラッシュ)は必要です。例えば、インメモリデータベースがあるから外付けストレージを廃して内蔵のハードディスクのみでいいかというと、外付けストレージに比べて内蔵ハードディスクはシングルポイント障害のリスクがありますので、冗長化を考えなければならない。そうなれば、おのずと外付けストレージが必要という結論に至ると思います。
谷川:インメモリーデータベースがテラバイト規模になると、メモリーにデータをロードするのにもかなり時間がかかりますよね。そのときに、ディスクがフラッシュならかなり有利そうですね。
岸本:まあ、お金がたくさんあれば、インメモリデータベースサーバを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の実力を、ぜひ、下記よりご確認ください!