データベース高速化でオールフラッシュストレージを諦めてはいけない理由元データベース製品ベンダー社員が語る真実

データベースを高速化するため、オールフラッシュストレージの購入を検討する企業は多い。一方で、製品の価格が高いために諦めるケースもよく見られる。だが、データに基づいて考えれば、多額の投資をしなくても、データベースの高速化効果を実感できる、現実的なソリューションが見えてくる。

» 2015年04月01日 10時00分 公開
[PR/@IT]
PR

 多額の投資をしなくても、データベースの高速化効果をしっかりと享受できる、コストと性能が両立した現実的なソリューションは、どうすれば見つかるだろうか。

決め手その1:データベースの容量は1TB以下が大半を占める

 まずは、次のグラフをご覧いただきたい。これは、IDC Japanの「2014年 国内企業のストレージ利用実態に関する調査(2014年12月調査版):次世代ストレージがもたらすITインフラの変革」で、フラッシュストレージ(※)を利用中、あるいは利用予定の国内企業が答えた利用容量、あるいは利用予定容量だ。6割以上が、1TB未満と答えている。

※オールフラッシュアレイ、ハイブリッドアレイ、サーバー内蔵SSDを含む

図1 フラッシュストレージの利用容量は大半が1TB未満 Source:IDC Japan, 2014 年 12 月 「2014 年 国内企業のストレージ利用実態に関する調査(2014年12月調査版):次世代ストレージがもたらすITインフラの変革」(J15550601)

 オールフラッシュストレージ製品の価格が高いために、利用するデータの量を意識的に減らすことを考えている企業もあるだろう。だが、「オールフラッシュストレージを使ってでも高速化したいアプリケーションのデータ量は、多くの場合1TBを超えない」と表現できる。実際に、読者の方々が自社で運用しているSQLデータベースのデータ量は、ほとんど例外なく1TBを下回るのではないだろうか。データベース高速化のためのオールフラッシュストレージの活用を諦めるケースについても、ほとんどの場合、データ量こそ大きくはないが、単純に製品価格が高すぎることに原因があると考えられる。

 もしそうであるのなら、1TB程度、あるいはそれ以下の容量で、安価なオールフラッシュストレージを積極的に検討すればいいということになる。当然ながら前提として、その製品は性能要件を満たすものであり、また安心して使えるものでなければならない。

決め手その2:OLTPならIOPS、バッチ処理なら帯域幅

 もう1つ、性能に関して指摘できることがある。それは、「OLTPの高速化ではIOPS、バッチ処理の高速化では帯域幅」が決め手になるということだ。

 下のグラフは、前掲のIDC Japanによる調査で、オールフラッシュストレージにおいて利用中、あるいは利用予定のアプリケーション(用途)について聞いたものだ。バッチ処理が、OLTPおよびビジネスインテリジェンス(BI)を大きく上回り、それ以外のアプリケーションも抑えて、最も利用したいアプリケーションとなっている。

図2 フラッシュストレージの最大の用途は、データベースのバッチ処理 Source:IDC Japan, 2014 年 12 月 「2014 年 国内企業のストレージ利用実態に関する調査(2014年12月調査版):次世代ストレージがもたらすITインフラの変革」(J15550601)

 もし、読者の組織で、夜間のバックアップやバッチ処理の高速化が欠かせないのなら、IOPSだけでオールフラッシュストレージを選択することはリスクが大きい。高いIOPS性能を発揮するとともに、帯域幅にも優れた製品を選ばなければならない。

 OLTPにおけるI/Oはランダムリードだ。ハードディスクドライブ(HDD)で構成されたストレージをデータベースで利用した場合、ストレージからのランダムな読み出しに時間が掛かるため、データベースサーバーが処理待ち状態になる。これに対し、フラッシュストレージを採用すれば、高いIOPS性能のため、ボトルネックはサーバーのCPUに移る。つまり、データベースサーバーがストレージの処理を待つことはなくなり、これがそのまま高速化につながる。

 一方、バックアップやバッチ処理の大部分は、シーケンシャルリードだ。一気に連続した読み出しを行う処理であるため、その所要時間は、オールフラッシュストレージ製品がどれだけの帯域幅を備えているかに直接影響を受ける。高いIOPS性能をうたっていても、帯域幅が劣る製品を採用したために、「こんなはずではなかった」ということにならないよう、注意したい。

価格と性能を両立させたい人のための「意外な」選択肢

 これまで、データベースのデータ量が大きなものでないなら、それを前提に、リーズナブルなオールフラッシュストレージを検討できる余地があること、そして、バッチ処理の高速化のためには、帯域幅に優れる製品を選択すべきであることをみてきた。

ネットアップのフラッシュ技術関連エバンジェリスト、岩本知博氏

 この2つの要件を満たす、データベース高速化に最適なオールフラッシュストレージ製品が、「NetApp EFシリーズ フラッシュアレイ」だと、ネットアップの「Flashtronaut」(フラッシュ技術関連のエバンジェリスト)である岩本知博氏は強調する。大手データベース製品ベンダーに在籍していた経験を持つ同氏は、EFシリーズが、これまでデータベース高速化のためのオールフラッシュストレージ活用を諦めていた人々にとっても、福音となる製品だという。

 EFシリーズは、SSDによってリーズナブルにオールフラッシュストレージを構成できる製品だ。SSDについては現在、400GB、800GB、1.6TBの選択肢があり、24基を1つの筺(きょう)体に搭載できる。どの容量のSSDを使った場合でも、IOPSは最大65万、帯域幅はカタログスペックで12GB/s、検証結果としても8GB/s以上は確実に出ているという。

 オールフラッシュストレージの新興ベンダーは、どれだけ従来のストレージ製品と異なる斬新な設計によって、性能を向上しているかを喧伝する。だが岩本氏は、ユーザーにとって重要なのは、設計の新しさではなく実際の性能値だと強調する。

 「デバイス屋としては(内部アーキテクチャの)議論は楽しいです。しかし、これはNFSとファイバチャネルのオーバーヘッド比較と似ていて、処理全体で見た時の影響度はほとんどないといえます。このことは、スペックが物語っています」(岩本氏)

 EFシリーズの価格は、当然ながら利用するSSDの容量によって変わる。最新モデルであるEF560の場合、400GB×24本の構成では、(本記事執筆時点で)1000万円を切るという。どのオールフラッシュストレージでも、物理容量と実効容量にはある程度のかい離があるが、EF560のこの構成では、RAID6の進化版であるDDP使用時で、6.3TBを利用できる。

 一般的には、エントリー製品でも2000万円近いのが、現在のオールフラッシュストレージの世界。「エントリーオールフラッシュでは、通常10万IOPS程度しか期待できませんが、EFシリーズでは65万IOPSです。帯域幅についても、ハイエンド製品で4GB/sというスペックが見られるなかで、2倍以上の性能を備えています。圧倒的なコストパフォーマンスがEF560の魅力です」(岩本氏)

オールフラッシュストレージの帯域幅がもたらす効果

 岩本氏はEFシリーズの帯域幅の効果を、実際の検証結果を基に次のように説明する。

 下のグラフは、EF560の一つ前のモデルであるEF550で、Oracle Database 12cでの6種のバッチ処理の実行に掛かる時間を検証したものだ。黄色がSAS HDD(1万rpm)×24本の構成、緑色がSSD×24本の構成による結果。「1. 表を全件検索」「3. 索引を高速全件検索」「4. 索引のメンテナンス処理」で、所要時間が大幅に短縮していることが分かる。

図3 バッチ処理に関する、オールHDD構成とオールSSD構成の性能比較

 次のグラフは、上の処理における所要時間の内訳を、比率で示したものだ。水色がI/O待ち、緑がCPU処理に掛かる時間、青色がその他の処理となっている。SSD構成で所要時間が大幅に短縮された3つの処理は全て、HDD構成の場合にI/O待ちの比率が高かったものだ。この3つの処理をさらに分析すると、全てシーケンシャルリードに基づくものであることが確認できる。

図4 バッチ処理実行中の待機イベント内訳

 シーケンシャルリードの性能を左右するのはスループット、つまり帯域幅だ。EFシリーズの帯域幅が、上記のような処理の所要時間短縮に大きな効果をもたらすことが、この検証により可視化できたと岩本氏は話す。

それでも「オールフラッシュストレージは高い」という人へ

 EF560のような製品を使えば、一般的に考えられてきたよりはるかに低コストで、実効性のある性能改善効果が得られる。「それでも高すぎる」という読者に向けて、データベース製品ベンダーでの経験がある岩本氏は、「データベースチューニング・コストの節約効果」「データベース製品ライセンスコストの節約効果」を考慮してほしいと話す。

 データベースチューニング・コストの節約効果については、次のように言う。

 「データベースのチューニングは、基本的にはデータベースサーバーのキャッシュにどれだけヒットさせるかという作業であり、その意味ではシンプルです。しかし、データアクセスレンジが広い、あるいは夜間のバッチ処理を実行した後の翌朝のリードは全てディスクからになるなど、どうしてもキャッシュにヒットさせられないケースが出てきます。こうした場合に、チューニングで、結果が出るか分からないのに頑張るのか、オールフラッシュで楽をするのか。これはコストに響いてきます」

 では、データベース製品ライセンスコストの節約効果についてはどうか。

 「OLTPでフラッシュストレージを活用することにより、I/Oボトルネックを解消できるので、データベースのライセンスコストを削減できるという単純な言い方をする人がいますが、Oracle Databaseには必ずしも当てはまりません。もともとストレージI/O性能に見合ったCPUコア数でライセンスすればいいからです。

 Oracle Databaseの場合、それよりも重要なのは、Enterprise EditionをStandard Editionに変えられる可能性があることです。Enterprise EditionはStandard Editionと比較にならないほど高価ですが、これが使われているのには理由があります。最大の違いは、データベースのフラグメンテーションを、オンラインで解消できる機能です。ですが、1TBに満たないような規模のデータベースで、年中無休で動かさなくてもいいのであれば、Standard Editionでやることは十分可能です」

 つまり、データベース高速化のためのオールフラッシュストレージは、表面的な製品価格だけを考えても、導入しやすい選択肢が登場している。さらにデータベース運用の総体的なコストを考えると、導入によってもたらされる潜在的なメリットは大きいと、岩本氏は話している。

Copyright © ITmedia, Inc. All Rights Reserved.


提供:ネットアップ株式会社
アイティメディア営業企画/制作:@IT 編集部/掲載内容有効期限:2015年4月30日

新着記事

仮想デスクトップ(VDI)でオールフラッシュストレージを活用するケースが増えてきた。だが、運用開始後に、必ずしも想定していなかった課題が浮き彫りになることが多い。では、導入してから「しまった」ということにならないためには、何を考えればいいのだろうか。

クラウド的なデータ管理がしたいが、クラウドサービス事業者に、自社のデータのコントロールを奪われたくない。そう考えるIT担当者は、従来型のストレージ製品と、クラウドサービスの二者択一となっている現状に悩んでいる。だが、実はよく見ると、それ以外の選択肢はたくさん出てきている。

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。