DBチューニングのキモはSQLにあらず!?:Database Watch(2012年10月版)(1/2 ページ)
The Microsoft Conference 2012のDB関連セッションや、database.comサービスの勘所をウォッチ!
SQL Server 2012の「禁断のチューニング」?
9月27日から2日間、日本マイクロソフトは「The Microsoft Conference 2012」を開催しました。
まずは同社サーバープラットフォームビジネス本部 アプリケーション プラットフォーム製品部 エグゼクティブ プロダクト マネージャー 北川剛氏(写真)が提案した「禁断のチューニング方法」をダイジェストで紹介しましょう。
全体動向の共有だけなら負荷は低いけれど……
SQL Server 2012の目玉の1つに「セルフサービスBI」があります。北川氏はコーヒーチェーン店を想定したセルフサービスBIのデモ画面を見せながら、経営者は全社的な売り上げやその推移を一覧できるものを好むと指摘、いわゆる「ダッシュボード」です。
「こうしたダッシュボードは何人に閲覧されても、深掘りしてもSQL文としてはあまり変わらず、データはバッファキャッシュにあるためサーバにはあまり負荷がかからない」(北川氏)
一方、各店長が自分の店舗の売り上げを独自に分析するとなると、どうでしょう。ここはセルフサービスBIの醍醐味(だいごみ)でもあるところです。
「これはデータベース管理者からしたら悪夢です」(北川氏)
店舗ごとのデータを独自の切り口で抽出するのですから、SQL文はバラバラ、キャッシュにないデータを掘り起こすことにもなるでしょう。当然サーバの負荷は高まり、運用上のリスクにもなります。
負荷が高いと分かると、管理者の中には負荷を過度に高めないためにセキュリティ(情報漏えい)などを理由にユーザーに分析の利用を制限させることもあるのだとか。苦渋の選択なのかもしれませんが、ビッグデータ活用の障壁にもなりかねません。
いまやDBチューニングのキモはストレージI/Oに
ソフトウェア的には分析が可能なのに、マシンパワーが追い付かない。「それならば」とチューニングをするにしても、そう簡単ではありません。従来のチューニングといえばテーブル設計や索引、実行計画の見直しなど、ソフトウェアで行うものが王道でした。
しかし、近年ではストレージI/Oを減らす方が効率的でインパクトが大きいとされています。なにせストレージへのデータ出し入れはメモリに比べて遅いことは周知の通りです。
そこで北川氏が勧めるのが「ストレージアーキテクチャを根本的に変える」こと。
具体的にはストレージに高速なフラッシュメモリを使用することです。
従来は選択肢にすらなりませんでしたが、近年では価格が下がったこともあり、現実的なソリューションとなってきました。北川氏はさらに踏み込み、Fusion-io ioDrive2、HP VMA3200など具体的な製品名も挙げて紹介していました。こうしたフラッシュメモリなら従来のハードディスク(ストレージ)と比べて数十倍から数百倍高速と言われています。
実際にgloopsでのフラッシュメモリ採用事例も紹介されました。gloopsでは「三国志バトル」や「マジゲート」などのオンラインゲームを展開しており、マイクロソフト技術が多く採用されているのも特徴です。
gloopsのパフォーマンス
セッションではgloopsのシステム基盤部 サーバーエキスパートであり、2011年に「Microsoft MVP for SQL Azure」を受賞した大和屋貴仁氏が登壇し、Fusion-io ioDrive2やioDrive2 Duoを1年以上運用していること、また「オンラインで数百万行のテーブルにインデックスを作成するのに15秒、400GBのフルバックアップが15分」と話していました。ハードディスクでは出ない数字ではないでしょうか。
北川氏は「SQL Server 2012にはI/O削減やI/O競合を防止する機能もある」としつつも、「反応が遅いとユーザーは分析を諦めてしまいます。それよりも(性能改善のインパクトが大きい)フラッシュメモリストレージの採用を」と推奨していました。フラッシュメモリがより現実味を帯びてきました。
Copyright © ITmedia, Inc. All Rights Reserved.