SQL Serverで高速化するか、ストレージで高速化するか
Microsoft SQL Server 2012のパフォーマンス向上機能を補完するフラッシュ技術
Microsoft SQL Server 2012で新たに追加されたパフォーマンスに効く主な機能として、カラムストアインデックス、データ圧縮、AlwaysOn Availability Groupという3つの機能が挙げられます。
SQL Serverの高速化を検討する上で重要となるのは、これらの機能によって高速化できる部分とそうでない部分があることを理解した上で、高速化できない部分に対する最適な対処方法を考えていくことです。
たとえば、カラムストアインデックスは列単位にインデックスを格納することで、クエリー実行時に不要な行の読み込みを回避します。そのため、DWHでの参照系処理や、バッチ処理による日時集計、月次集計等における読み取りの高速化に大変有効なソリューションといえます。その半面、行単位での読み取り、書き込みが頻繁に発生する通常の業務アプリケーションのOLTPを高速化するための機能ではありませんので、その対処には、これらの高速化の仕組みと競合しない別のアプローチが必要となります。
そのアプローチとして求められるのは、透過的にトランザクション処理ができ、DB設計上の追加の考慮が不要で、OLTPとOLAPの両方に有効であるという点ですが、そのための最もシンプルな高速化手法は、フラッシュ(SSD)を使った高速化です。
フラッシュ技術は単にストレージだけではなく、サーバだけでもなく、今後ネットワーク上でも共有リソースとして利用可能となり、さらにサーバ、ネットワーク、ストレージのフラッシュを1つのプールとして、必要に応じて活用することで最適な効率性とパフォーマンスが得られるようになります。(詳細:DB Online:「データベースを高速化するフラッシュ技術の多様化」)
たとえば、ストレージ上のキャッシュとしてSSDを使うEMCの「FAST Cache」では、4倍以上のトランザクション(TPS)の向上が可能です。FAST Cacheは、一般的なフラッシュキャッシュテクノロジと違い、読み取り/書き込みの両方のキャッシュとして使用可能であることから、書き込みの多いアプリケーションに対しても有効です。
また、EMCが提供するサーバサイドキャッシュ「VFCache」を使用した場合、データベースの読み取り遅延を10分の1に削減し、4.5倍以上のトランザクションをサーバ上で処理できるようになります。
資料ダウンロード
EMCジャパン株式会社が提供する「SQL Server2012環境のパフォーマンスと可用性を最大化するEMCストレージ技術」の資料ダウンロードが可能です。
ダウンロードはこちらからどうぞ。