SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けに、EnterpriseZine Day、Security Online Day、DataTechという、3つのイベントを開催しております。それぞれ編集部独自の切り口で、業界トレンドや最新事例を網羅。最新の動向を知ることができる場として、好評を得ています。

直近開催のイベントはこちら!

EnterpriseZine編集部ではイベントを随時開催しております

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けの講座「EnterpriseZine Academy」や、すべてのITパーソンに向けた「新エバンジェリスト養成講座」などの講座を企画しています。EnterpriseZine編集部ならではの切り口・企画・講師セレクトで、明日を担うIT人材の育成をミッションに展開しております。

お申し込み受付中!

DB Press(AD)

ioMemoryがエンジニアをダメにする!?―MySQLでioMemoryの性能を使い切るためには

 フラッシュストレージを入れれば、システムは簡単に高速化する。一方で、せっかくフラッシュストレージを導入したのに、思ったよりも速くならないこともある。これらの違いは、いったいどんなところから生まれるのか。一方で、データベースの高速化にフラッシュストレージはかなり効果的というのも当たり前になりつつある。しかし、ストレージベンダーが言うように本当にチューニングはする必要がないのだろうか。データベースに対するフラッシュストレージの効果とそれを発揮するためのヒントについて、インターネットイニシアティブ プラットフォーム本部 プラットフォームサービス2部 データベース技術課 エンジニアの正原竜太氏とサンディスク エンタープライズ セールス シニア セールス エンジニアの高木健誠氏に話を聞いた。

神楽坂Tech Talk #1 ~データベース高速化~
勉強会開催のお知らせ

 

 旬のICT向け製品・サービス、技術動向について、カジュアルに、ゆるふわに、情報共有・発信していく場です。初回となる今回は、懇親会で豪華ノベルティ抽選会を企画。ここでしか手に入らないものも出てきます。ぜひ、ご参加ください。

 
日時:2015年10月29日(木) 19:00 - 21:30(開場18:30)
場所:IIJ本社 13F(飯田橋グラン・ブルーム

   ※2Fオフィスエントランスで受付後、エレベータで13Fにお越しください。

定員:50名

 ※懇親会参加(無料)

お申込みはこちら

フラッシュストレージは、入れれば速くなるのは本当か?

サンディスク エンタープライズセールス 
シニアセールスエンジニア 高木 健誠氏

谷川:実際のところフラッシュはただ入れれば速くなるのでしょうか。何らかのフラッシュ向けの設定やチューニングがやはり必要になるのでは。

正原:ベンダーが言うように、とりあえず入れればそれだけで速くなります。とくにストレージに負荷のかかるテストを行えば確実に性能が出ます。一方で、データベースの処理はそのままでもそこそこ速くなりますが、やはり手を入れなければダメな場合も。じつはこのあたりは「やってみないと分からない」ことも多々あります。OSの設定などどのパラメータがどう影響するかが掴みきれていないのです。

 とくにサンディスクの「Fusion ioMemory」のようなものだと、ソフトウェアのほうでそれを扱いきれていないこともあります。逆にそこが、技術者的にはまだまだ手の入れようがあって面白いところでもあるのですが。

高木:とにかく入れれば速いと言ってもらえるのは、我々ベンダーとしてはありがたいことです。とはいえ、アプリケーションがフラッシュストレージに最適化していないのも事実でしょう。これはなかなか簡単にはいかないところです。我々としては、アプリケーションからフラッシュをどう使えばいいのか、設定はどうすればいいのかの情報も出してはいます。しかし、十分ではない面もあります。なので、今回のようにIIJさんにきっちりと検証してもらえるのは嬉しいところです。

谷川:実際、フラッシュ化しても速くならないケースがあると。

高木:フラッシュを入れれば何でも速くなると言う誤解は確かにあります。たとえばCPU処理にボトルネックがあるシステムでは、いくらいフラッシュ化しても速くなりません。たとえば多コアのシステムなのに、インサート処理に1コアしか使っていなくてそこが詰まっているなど。フラッシュの効果を出してもらうならば、この場合はCPU処理にまで踏み込む必要があります。

正原:ソフトウェアでもストレージへのランダムアクセス処理ならば、フラッシュ化でかなり速くなります。一方でシリアル処理しかできないデータベースなどを利用していて、データ へのアクセスもシーケンシャルなものだったりすると性能があまり改善されない 場合がある。ソフトウェア部分がボトルネックになることもあるのです。また、フラッシュが十分に高速であればあるほど、CPU処理が間に合わなくなることも。解消するには多コアのシステムにしてハードウェア性能を上げ、効率的な並列処理をできるようにします。

 一方で、システムを多コア化すると商用データベースではライセンス費用が嵩むことにもなります。データベースの中でフラッシュの性能をどう活かすか、CPU性能を使い切るにはどうしたらいいかなどは、これからのデータベースエンジニアにとって課題の一つになるでしょう。IIJはシステム基盤を顧客に提供する立場ですが、フラッシュストレージの良さをどう伝えるかといったことも今後重要になると考えています。

ioMemoryがエンジニアをダメにする!?

インターネットイニシアティブ プラットフォーム本部 プラットフォームサービス2部
データベース技術課 エンジニア 正原 竜太氏

谷川:世の中的には、フラッシュストレージの速さは理解されつつありますか?

正原:以前から、ioMemoryがすごく速いという噂は聞こえていました。一度ioMemoryとか使っちゃうと、もうその人は普通のストレージには戻って来られない。入れるだけで速くなる。それでけっこう満足してしまうエンジニアもいて、フラッシュはエンジニアをダメにするとの声も聞こえますね。

高木:ioMemory使うやつは甘いなんてことも言われるそうです。

正原:最初に驚いたのは、カタログスペックのIOPSの値です。本当にそんなに性能が出るのかと疑いたくなる。SSDのときも驚きましたがそれ以上です。実際にioMemoryを使ってみてもその性能に驚きましたし、これならばシステムを大幅に集約できるのではないでしょうか。ただこれではクラウド事業としては儲から ないので悩みどころです。

 速いことで、確実に負荷分散のためのレプリケーションの数は減ります。ほとんどをマスターだけで処理できてしまうからです。逆にマスターノードが速すぎて、レプリケーションが遅延するとの新たな課題も出てきます。ioMemoryのような高速なフラッシュストレージが出てきて、システムのボトルネックの考え方は変わってきているとも言えます。

谷川:何もせずに速いとエンジニアをダメにしますか。

正原:本来は、メモリをどうするとか設定やチューニングを気にせずに速くなるというのは、悪いことではないと思います。エンジニアはその他のアプリケーションの開発などに注力できることになりますから。また、エンジニアがこれまで苦労していた一部の性能と運用の両立は、 ioMemoryならばサンディスクが提供している不揮発性メモリーファイルシステム 「NVMFS(Non-Volatile Memory File System)」を用いることで可能になるでしょう。

 以前であれば、データ領域をローデバイスにしてデータベースのパフォーマンスを向上させようとしたわけですが、これは運用するのも大変でした。今はNVMFSのような賢いファイルシステムがあって、高性能化が簡単に実現できます。ioMemoryというハードウェアが速いのに加え、その上のレイヤーでも工夫がなされているわけです。その最先端なものがNVMFSではないでしょうか。NVMFSのいいところは、ファイルシステムとして提供しているため 利用するのにアプリケーション側でコードを書き換える必要がないことです。 もちろん特別なAPIも叩く必要はありません。こうでないと、 なかなか使ってもらえないでしょう。

MySQLでioMemoryを活かすためには

DBオンライン チーフキュレータ― 谷川 耕一

谷川:ところで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名

 ※懇親会参加(無料)

お申込みはこちら

この記事は参考になりましたか?

  • Facebook
  • Twitter
  • Pocket
  • note

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

EnterpriseZine(エンタープライズジン)
https://enterprisezine.jp/article/detail/7197 2015/09/29 13:00

イベント

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けに、EnterpriseZine Day、Security Online Day、DataTechという、3つのイベントを開催しております。それぞれ編集部独自の切り口で、業界トレンドや最新事例を網羅。最新の動向を知ることができる場として、好評を得ています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング