MySQLでioMemoryを活かすためには
谷川:ところでIIJのサービス利用者は、どんなデータベースを使うことが多いですか?
正原:MySQLを利用するユーザーが多いですね。とくにioMemoryを利用する場合はほぼ皆さんMySQLです。
谷川:ioMemoryとMySQLを組み合わせて利用する際の工夫としてはどんなところがありますか?
正原:チューニングをせずに高速化はできますが、やはり最適化するには構成に応じてパラメータを変更する必要があります。それとアトミックライトを使うようにするとかも。アトミックライトはMySQLの書き込みにおける原子性を確保する機能ですが、最初はこれがどういうものかよく分かっていませんでした。ちなみに原子性を確保するには、標準ではダブルライトバッファを利用します。ただこれだと結果的には2回書き込むことになる。そうしないようにするにはファイルシステム側に任せるという方法もありましたが、そこにアトミックライトが出てきて、いろいろ気になってパラメータとかを調べ、それを変えたらどうなるかを検証しました。
高木:ハードウェアの提供だけでなく、サンディスクでは利用するためのSDKも提供しています。SDKは研究者や一部の開発者がコードを書いて利用しますが、すべての人がそれをするわけではありません。なので、幅広い要求を吸収するために、NVMFSのようなファイルシステムも提供します。MySQLで実現しているアトミックライト機能も、NVMFSの利用を前提としております。
正原:実際にアトミックライトはすごく簡単に使えます。サンディスクさんからも手順書が出ているので、それに合わせデバイスの設定を変更するとかだけです。あとは、普段使っているLinuxの管理コマンドだけでいけます。
IIJとしては、インフラサービスの一つとしてioMemoryを積んだハードウェア環境も提供しています。SIの立場でこれを使ったシステム開発のサポートもしますし、インフラの上で動かすデータベースを活用のための技術的なサポートも行います。将来的にはIIJのデータベースサービスでもioMemoryを活用したいと考えています。
この他にも、IIJが提供するインフラをユーザーが使いこなせるようにさまざまな検証を行っています。その結果の情報を提供したり、それらをもとに技術勉強会を開催したりもしています。
高木:サンディスクとしてはioMemoryを活用するためにSDKや技術資料を提供していますが、個別での案内になることが多く、まだまだ多くのお客様に浸透しておりません。なので、IIJさんに検証いただいて、結果を勉強会の形で公開してくれるのは大変ありがたいことです。
ioMemoryを利用していてアプリケーションやワークロードによって性能がどう違うかは、やってみないと分からない部分もあります。そういったケーススタディは我々のほうでもかなり蓄積しているので、今度行うIIJさんとの勉強会ではそれらを提供するいい機会になると思っています。
MySQLやioMemoryに興味があるなら勉強会に
谷川:勉強会の話が出ました。そこではどのような話をするのですか?
正原:今度の勉強会のテーマは「データベースの高速化」です。先ほど話題に出たアトミックライトの検証結果をもとに、具体的にどのような設定でどう使えばいいかのヒントを紹介する予定です。
また先ほど話題に出た、レプリケーションの話なんかも今後は取りあげたいと考えています。マスターの性能を向上させたならば、スレーブもネットワークも速くしないと別なところにボトルネックが発生すると。スレーブ側が遅れないようにするには具体的にどうすればいいか、伝播が遅れる潜在的な問題が何でそれをどう改善したらいいか等々です。IIJの提供するインフラを使い切るためにどうしたらいいかを考えていきたいです。
高木:サンディスクとしてもフラッシュストレージを活用するための情報を提供したいと思っています。たとえばアトミックライトなら2回書くところを1回でいい。これは素子寿命にももちろん貢献しますが、それだけではなくトランザクション性能の向上にも貢献します。寿命への懸念はだいぶ薄れて来ています。実際寿命まで使い切ることはほとんどありません。最近ではフラッシュストレージの寿命よりもエンジニアの技術者人生のほうが短いのではと言われるくらいです。であれば性能を使い切るためにどうしたらいいか、そのための情報をたくさん提供したいと思っています。
正原:今度の勉強会ではファイルシステムの話など少しインフラ寄りの話もしますが、単純にデータベースとかioMemoryに興味を持っている人にも是非参加して欲しいです。あとはもちろん新しいインフラに興味を持っている人にも来てもらいたいです。
今後も技術者交流の場は、継続して作っていく予定です。参加してくれる人の要望に応じテーマも変えていきます。
神楽坂Tech Talk #1 ~データベース高速化~
―勉強会開催のお知らせ
旬のICT向け製品・サービス、技術動向について、カジュアルに、ゆるふわに、情報共有・発信していく場です。初回となる今回は、懇親会で豪華ノベルティ抽選会を企画。ここでしか手に入らないものも出てきます。ぜひ、ご参加ください。
日時:2015年10月29日(木) 19:00 - 21:30(開場18:30)
場所:IIJ本社 13F(飯田橋グラン・ブルーム)
※2Fオフィスエントランスで受付後、エレベータで13Fにお越しください。
定員:50名
※懇親会参加(無料)