より速いデータベースを求めることはコンピューティングの永遠のテーマ
データ処理をいかに高速化するか──。ビジネスにおけるデータの重要性が増すなか、この問いはあらゆる企業にとっての経営課題になったと言っても過言ではない。
例えば、WebサイトやECサイト運営では、スマートフォンの利用が広がったことなどを受け、突発的なアクセス急増が発生しやすくなった。ビジネスの機会損失を減らすためには、データ処理をいかに高速化し、サービスを継続するかが大きなカギとなる。
また、顧客情報や販売情報といったさまざまなデータの分析においても、よりすばやいデータ処理が求められている。従来のように専用の分析システムを構築し、1日かけて分析していてはビジネスのスピードに追いつけない。その場で分析しリアルタイムに結果を得ていくことが重要だ。
こうした事情は、IoTやAIといった最近のデジタル変革の取り組みについても同様だ。膨大で多種多様なデータをすばやく処理し、その結果をすばやくサービスに反映することで、サービスの改善サイクルが回るようになる。データ処理が高速であればあるほどビジネスメリットにつながりやすくなるのだ。
では、高速なデータ処理はどのようにすれば実現できるのか。それに対して「最も重要な要素はデータベースシステムの高速性です」と指摘するのは伊藤忠テクノソリューションズ(CTC)の稲吉英宗氏だ。

伊藤忠テクノソリューションズ
エンタープライズビジネス企画室
プロダクトビジネス推進部
部長代行 稲吉 英宗氏
「より速いデータベースを求めることはコンピューティングの永遠のテーマです。だからこそエンジニアはデータベースにあらゆるチューニングを施して、最大限のパフォーマンスを引き出そうとします。ただ近年は、チューニングをほとんど施さなくても、パフォーマンスを大きく向上させる手段も登場しはじめています。それらをうまく使うことで、簡単に劇的にデータベースを高速化することができるのです」(稲吉氏)
データベースを高速化する手段としてよく知られているのはSSDだろう。SSDをキャッシュとして用いたり、データベースをHDDからSSD上に移行したりするだけで、パフォーマンスは目に見えて良くなる。近年は、オールフラッシュアレイも登場し、データベースを利用するシステム全体のパフォーマンスを大きく向上させることもできるようになった。
「さらにオールフラッシュよりも高速なデータベースを実現する手段も登場しています。それが新たな不揮発性メモリ(NVDIMM)と、それに対応したファイルシステムソフトウェア『NetApp Memory Accelerated Data(MAX Data)』です」(稲吉氏)
ソフトウェア導入だけでデータベースパフォーマンスが劇的に向上
NVDIMMは、DRAM DIMMソケットに挿入して利用する不揮発性メモリだ。DRAMは電源供給が途絶えると記憶情報も消失する揮発性メモリだが、NVDIMMはDRAMと同じように利用しながら、電源供給が途絶えてもデータが揮発せずに永続する。特徴は、SSDなどのフラッシュデバイスよりも低レンテンシーで、DRAMに近いアクセス速度を持つことだ。
近年のデータベースシステムは、DRAMを使って処理を高速化するインメモリ機能を備えているが、大容量のデータを処理するためには膨大なDRAMを装着する必要があり、コストが課題になりやすい。NVDIMMを利用することで大容量のメインメモリを備えた高速なデータベースシステムを構築しやすくなる。
また、HDDやSSDと組み合わせたキャッシュシステムとしても利用できる。アクセス頻度に応じたデータの階層化を行うことで、データベースのパフォーマンスが大きく向上する。

伊藤忠テクノソリューションズ
エンタープライズビジネス企画室
プロダクトビジネス推進部
プロダクトビジネス推進第4課
主任 福井 康平氏
このNVDIMMを活用しやすくするソフトウェアが、NetAppのMAX Dataだ。NVDIMMと組み合わせて利用することで、アプリケーションやデータベースのパフォーマンスを劇的に向上させることができる。スループットはフラッシュアレイよりも高速で、レイテンシーは10マイクロ秒未満を実現している。
CTCの福井康平氏はMAX Dataの特徴をこう説明する。
「MAX Dataは、アプリケーションのパフォーマンスを向上させるサーバサイドのストレージソフトウェアです。メモリに最適化したファイルシステムを提供し、そのうえで動くあらゆるワークロードをリード、ライトの両面から高速化します。また、NVDIMMとオールフラッシュアレイを自動的に階層化して管理するため、アプリケーションの改修も不要です。データベースも従来と同じように運用するだけでパフォーマンスが向上します。HDDをSSDに換装することでデータベースのパフォーマンスが向上したように、オールフラッシュアレイにNVDIMMとMAX Dataを導入するだけで、データベースのパフォーマンスが劇的に向上するのです」(福井氏)
ライト処理のスループットが2倍以上、レイテンシーが2分の1に
では、NVDIMMとMAX Dataによっていったいどの程度のパフォーマンス向上が可能なのか。CTCでは、MAX Dataの提供にあわせてデータベースを使って効果検証を行っている。検証作業で採用したデータベースはMySQLだ。MySQL採用の理由について、稲吉氏はこう説明する。
「MySQLは、世界で最も使われているOSSデータベースです。国内でもさまざまなお客様が利用されていて、用途も多岐にわたっています。MySQLがユニークなのは、通信、オンラインゲーム、SNSなど、Webビジネスを展開する企業がスモールスタートしやすいデータベースとして採用し、事業の成長にあわせてスケールさせていったケースが多いことです。小規模な環境から大規模な環境まで多岐にわたる用途で用いられており、MAX Dataと組み合わせることで効果が得られやすいという理由がありました」(稲吉氏)

実際、データベースを利用していると規模拡大時に性能問題が発生するケースがあるという。例えば、利用ユーザー数が増大したためフロントエンドのWebサーバを増やしたところ、データ更新(所持アイテムなど)のためのUpdateクエリが増え、ユーザーアクセスの待ち時間も長くなった、などだ。
対処が難しいのは、調査を行って原因を特定したところ、パフォーマンスチューニングだけでは対応できないケースが出てきたときだ。オールフラッシュストレージを採用し、データベースのチューニングを行っているのに、原因が「OSレベルのライトI/Oのボトルネック」だった場合、ほとんど打つ手がなくなってしまう。しかし、こうしたケースでもNVDIMMとMAX Dataは解決策になりえるのだ。福井氏はこう説明する。
「検証では、NetAppのオールフラッシュアレイAll Flash FAS(AFF)にNVDIMMとMAX Dataを導入し、導入前と導入後でMySQLのパフォーマンスがどのくらい向上するかを計測しました。特に顕著な効果が確認できたのがライトの処理です。1秒あたりのトランザクションは2倍に、レイテンシーも2分の1に高速化しました。一般にデータベースではメモリを使って高速化できるのでリードの処理についてはそれほど大きな問題にはなりません。しかしライトの処理についてはボトルネックを排除しにくく、性能問題に陥りやすい。NVDIMMとMAX Dataの導入だけで、ライトの処理性能を向上できる点はユーザーにとって大きな価値になるはずです」(福井氏)
MAX Dataでは、NetAppのストレージOSであるONTAPが提供するSnapshotによるデータ保護や、RDMA(RoCE)によるリカバリ構成などにも対応している。パフォーマンスの向上のほか、データ保護の面でのメリットも得られる。

今後の展開という面でも大きな期待が持てる。NVDIMMで現在有力な選択肢の1つとなっているのが「Intel Optane DC パーシステントメモリー(PMM)」だ。2019年4月にリリースしたMAX Data 1.3では、すでにこのOptane DC PMM対応済みだ。そして、Optane DC PMMは今後更なる大容量化が見込まれている。メモリモジュールを差し替えていくことで、今後そのメリットを享受することができるようになる。
また、MAX Dataはファイルシステムソフトウェアであることもメリットだ。データベース以外にも様々な展開が期待できる。例えば、VDI基盤や仮想サーバの集約基盤、業務アプリケーションの提供基盤、アナリティクス用の分析基盤、IoTやAIのデータ処理基盤などだ。
「MySQL Enterprise Edition + MAX Data」で高速データベースを突き詰める
MySQLを使ったMAX Dataの性能評価テストの結果は、CTCが展開する商用版MySQLであるMySQL Enterprise EditionとMAX Dataを組み合わせたソリューションにも生かされている。
CTCは10年以上にわたってMySQLの販売を手がけてきており、販売だけでなくアセスメントからビジネスやシステムに合わせた環境構築、構築後の運用保守までを一貫してサポートできることが強みだ。また、日本オラクルからも国内販売パートナーの上位レベルである「プラチナパートナー」として認定され、2018年には「MySQL Partner of the Year 2018」を2年連続で受賞している。
NetAppについても「NetApp Japan Partner Award 2018」で「Partner of the Year」を獲得。NetApp日本進出当初からその展開を担うなど、20年来の強固なパートナーシップを築いている。
また、MySQL Enterprise Editionの最新バージョンの8.0では、従来からのSQLに加えて、NoSQLとしての利用もサポートされた。MAX DataではSQL、NoSQLの両方について効果を発揮するシステムであり、その意味でもMySQLとの親和性は高い。
MySQL Enterprise Edition にはコミュニティ版の機能に加えて、セキュリティやバックアップ、コンプライアンス、管理と分析のツール、テクニカルサポートなどがつく。コミュニティ版でスモールスタートし、事業規模拡大とともに商用版にアップグレードする際にも、データベースの構成を変えずにパフォーマンスを向上できるMAX Dataは有効な選択肢になる。
稲吉氏は「ビジネススピードが増し、デジタル変革の流れも加速するなか、データベースの重要性は高まっています。ただ、データベースのチューニングはスキルが伴う作業で、人手不足が深刻化するITの現場では実施が難しくなってきています。そのようなときに大きなチューニング作業をせずにただ導入するだけでパフォーマンスが向上するMAX Dataは企業にとって大きな助けとなるはずです。CTCでも、MySQLとNetApp製品について豊富な取扱実績があることや、ベンチマークを実施して事前に検証済であることなどを生かし、ユーザーが使いやすくメリットが得られるシステムを提供していきます」と話す。
データ処理をいかに高速化するか。MySQLとMAX Dataでこの問いをさらに突き詰めてはいかがだろうか。