データベース高速化のための性能改善
SSDによるディスクアクセス低減
近年、HDDに替わる記憶媒体として、フラッシュメモリを利用したSolid State Drive(SSD)が注目されています。SSDを使用することでデータベースが格納されているディスクへのアクセスを高速化し、全体のパフォーマンスを改善させるものです。SSDの場合、HDDと違ってディスクのヘッドがデータをシークする必要がないため、ランダムアクセスに向いています。
では、高速化でSSDを使用するメリットは何でしょう。
一番大きいのはアプリケーションの改修が不要なことです。図2-1は、ベンチマークツールを用いて更新処理の比較を測定した検証結果です。HDD、SSDともアプリケーションにはまったく同じものを使用していますが、SSDにするだけで5.5倍もの性能差を得ることができています。
また、SSDはHDDに比べて消費電力が少ないメリットもあります。昨今話題になっているGreen ITとしてはもちろん、データセンターで増えつづける消費電力をいかに減らすかといった課題にも有効な手段となります。
SSD導入の注意点
ここまではSSDを導入するメリットを説明しました。ここからは、より効果的に活用するための注意点を紹介したいと思います。
SSD導入への一番の障壁は、やはり値段の高さです。今後の普及を考えれば劇的に値段が下がることも予想はされるのですが、同じ容量でもSATAのディスクに比べて数倍以上と高価です。
また、大容量モデルもまだまだ少ないため、数百GBやTBを超えるようなデータすべてをSSDに変えることは現実的ではありません。
先ほど紹介したベンチマークツールのデータは、すべてがSSDに載る小さなデータを使用しています。当然ですが、導入したSSDの容量以上のデータが存在すればそれだけHDDへのアクセスも増えるため、性能差は縮まります。
そのため、SSD導入にあたってはアプリケーションの改修は不要なものの、読み込み頻度の高いデータや索引をSSD上に配置させるなど、SSDの効果をより高めるための工夫が必要となります。
ここで、SSDにも関係があるストレージのキャッシュ機能について触れます。中規模以上のシステムで使用するストレージ製品には、Read、Writeともキャッシュ機能が搭載されているものが多く、製品によっては数十GBのキャッシュ容量搭載モデルもあります。
DWH(データウエアハウス)のように大容量データに対するアクセスが常に発生する場合には、ディスクアクセス発生は防ぎようがありませんが、OLTP(オンライントランザクション処理)であればこのストレージキャッシュがかなり有効に働くケースがあります。
図2-2は、Write Cache機能を有効にした時の検証結果です。データ量が小さいためCacheでまかなえる部分が大きく、結果としてSSDの方が速いものの、Cache無しに比べてそこまでの性能差は見られませんでした。
とはいえ、ディスクアクセスがボトルネックときちんと把握できており、かつデータベースやストレージのキャッシュ機能を使えないようなシステムでは、図2-1にあるように劇的な性能改善も見込むことができます。せっかく高価なSSD導入するのですから、より効果的となるように十分検討した上で導入するようにしてください。
先日、SSDを効果的に使用することをうたった製品として、Oracle社がDWHアプライアンス製品であるExadata V2を発表しました。こちらに関しては第4回で紹介しますので、興味のある方はそちらをご覧いただければと思います。