SSDによるデータベース高速化
少し前にチューニングしたデータベースで
さらにパフォーマンスアップする必要が出たので
最近流行?のSSDを使ったデータベースの高速化について検討してみたのでメモ。
ここ間違ってない?等フィードバック下さると嬉しい。
現在のサーバー構成
パフォーマンスアップ対象のデータベースサーバーは
データベースファイルをNAS(NFSv3接続)においている。
数TBレベルの比較的大規模なデータベースサーバー。
SSDの特性
リードは早いがライトが遅い
基本的にはエンタープライズ向け製品であればリード/ライトスピード両方ともがHDDより数倍向上するが
一般向け製品の中にはランダムライト速度がHDDより劣る製品もある。
SLCタイプはMLCタイプに比べてライト速度が早いためデータベース用途ではSLCタイプを選択したほうが良い。
容量あたりの単価がHDDと比較して極めて高価
SSDインターフェース
大きく分けてSATAタイプとPCIExpressタイプと2種類のタイプが存在する。
SATAタイプ
簡単にHDDの代わりとして活用することができRAIDによる大容量化&冗長化も可能だが、
PCIExpressバスに比べてSATAバスは低スピードのためバススピードがボトルネックになりやすい。
SATA2.6の場合は300MB/sec程度のスピードが出る。
PCIExpressタイプ
PCIExpressタイプは大容量化&冗長化は難しいが、
PCI Express1.1の場合は250MB/sec程度のスピードが出る。
PCI Express1.1 x4の場合は1000MB/sec程度のバススピードが出る。
単純にHDDを置き換えるという使い方は出来ないため利用する際は注意が必要。
- 容量1.2TB、転送速度1.5GB/秒の超高速SSD 「ioDrive Duo」 - Engadget 日本版
- http://h50146.www5.hp.com/products/storage/blade/io_accelerator/
HDDとSSDの価格を比較すると同容量で5〜10倍程度の価格差があるため、
現在の数百本あるNASのディスクを全てSSDに変えることは難しい。
またNASのディスクをSSDに変えたところで所詮NFSv3接続のため
ネットワーク&バス側がボトルネックになり応答時間の向上はすぐに限界になる。
今回はPCIExpressのSSDを利用した性能向上にターゲットを絞って検討する事とする。
PCIExpressのSSDを使ったデータベースの高速化
PCIExpressタイプのSSDは容量が限られる為
どの領域をSSD上に移すかがパフォーマンスアップの肝となる。
SSDに移行する領域の判断時は以下の3つの点を考慮するとよい。
- セグメント容量:容量が限られるため少ない容量でいかに高速化するかを考える
- I/O頻度:アクセス頻度の高い領域を移さないと勿体無い
- I/O特性:ライトよりリードの多い領域をSSDに移すと効果的
ログ領域
セグメント容量:小さい
I/O頻度:高い
I/O特性:ライトが多い
ログ領域はライトが多いため逆に遅くなる可能性があるが、
HPのSSDはデータ転送速度:Read時 最大700MB/s、Write時 最大600MB/s、
最大100,000 IOPS、遅延約50マイクロ秒のため検証の価値はある。
テンプ領域
セグメント容量:小さい
I/O頻度:高い
I/O特性:リード&ライト
ETLアプリケーションではテンプ領域でソートと集計を行う事が多いので効果的。
データベースの物理アクセス情報の取り方
OracleだとAWRレポートにあるSegments by Physical Readsが判断の材料になる。
Informixだと以下のサイトのスクリプト等を活用して情報をとるとよい。
PCIExpress SSDのバックアップ方法
データベースファイルレベルのバックアップを行っている場合は
NASのバックアップに合わせてSSD内のファイルもバックアップする必要がある。
データベース静止モードでバックアップをとっている場合は
SSD to NASの場合はデータベース静止時間が長くなるため
PCIExpressのカードを2枚挿し同一筐体内でのSSD to SSDバックアップが現実的と思われる。
(製品によってはカード内部でバックアップ機能?を持つものもあるようだ)
たとえばデータベースのデータファイルをSSD-1とSSD-2に交互に作成し、
お互いファイルを相手のSSDにバックアップするという泥臭い方法も検討。
参考情報
検証にあたって以下のエントリーを参考にさせていただいた。Blog主に感謝。
- Leo's Chronicle: Flash-Based DBMSの最前線
- 2009-03-25
- SSD(半導体ディスク)とDBMS データベースコンサルタントのノウハウちょい見せ
- 漢(オトコ)のコンピュータ道: 爆速SSD Fusion-io ioDrive Duo現る。ただしインターフェイスはPCI Expiress
またOracle OpenWorld Tokyo 2009のDELL社&EMC社のSSDに関するセッションも非常に参考になった。
DELL社から近いうちにOracle&DELL&EMCの検証に関するホワイトペーパーが出るようだ。
EMC社が公開している以下の情報も参考になった。
技術情報を公開してくださっているOracle社&DELL社&EMC社に感謝。