DBサーバストレージをHDDとSSDのいずれにすべきか?

| | コメント(0) | トラックバック(0)

最近管理しているシステムで、DBのストレージがシステムボトルネックになっています。

大体、一日1~5億トランザクション、インサートが5000万行くらい発生するので、主にストレージのランダム書込がボトルネックになっている様子です。

現在はRAIDも使わず単純にHDDを単体でぶら下げているだけなので、200IOPS(IO per Second)程度しかありません。DBのInsertやUpdateはランダム書込なので、IOPSが低いと使い物になりません。

IOPSをあげるための選択肢は3つあります。

  1. より高速なHDD使い、かつ多重化(RAID)を組む
  2. 半導体ディスク(DRAM)を利用する
  3. 半導体ディスク(FLASH)を利用する

それぞれ、メリットデメリットがあります。

メディアIOPSG当たり価格信頼性
HDD RAID1,000 IOPS1000円高い
DRAM SSD2~400,000 IOPS10万円高い
Flash SSD RAIDRead 100,000
Write 10,000
3~5000円低い

選択肢1ですが、SATA HDD 1500回転の製品を使って、5~8台程度のRAIDを組んでもさほどIOPSは向上しません。(RAIDコントローラがバッテリー持っていて、Writeもキャッシュするようなストレージシステムは対象外です)

DRAM SSDは、高性能なんですが、さすがに高すぎます。いくら、1000倍の性能でても、お値段も1000倍です。また、上限サイズも限られ上位製品でも64~128GByteです。テラ単位のストレージを調達するのは現状ではかなり難しくなります。

そこで、Flash SSDでRAIDを組むという選択肢なのですが、昨年くらいまではランダム書込の性能がSATAと比べて優位性があまりなく、選択外だったのですが、ここにきて一気に性能があがってきました。

インテルの新製品X-25EですとRandom 4KB Writesで最大3,300 IOPSというスペックになっています。既存のHDDの15倍です。

SSD×8台のRAID 0デモ開始、リード860MB/s

これをみるとランダム書込で38MByteでています。9,500IOPSです。HDDのRAIDと比べて一桁良いパフォーマンスをだしています。(まあ、実際にはRAID1+0でくむ必要があるので、もう少し性能おちるでしょうが・・・) 価格性能比でみると前者2つの選択肢を圧倒します。

Flash SSDが書き込み回数寿命が短いだけでなく、過渡期の技術なので実績がほとんどありません。また、SSDを12~16台くらいつんだeSATAのエンクロージャーなど製品としてでてないので、自分で組まないといけません。となると、信頼性にどうしても疑問が残ります

あと1年くらいすれば、環境もこなれてきてサーバストレージにFlash SSDを導入する選択も自然になると予測しますが、今年度はFlash SSDのサーバへの導入は控えるべきです。

システムの本格的なリプレイスが計画にあり、それまでのつなぎにどうしてもストレージ性能を2~5倍にする必要がある場合に限り、延命のためのシステム投資としてFlash SSD RAIDを1年だけ使うというのはありかとおもいます。

 

 

 

 

 

 

トラックバック(0)

このブログ記事を参照しているブログ一覧: DBサーバストレージをHDDとSSDのいずれにすべきか?

このブログ記事に対するトラックバックURL: http://mt.nogutetu.com/mt-tb.cgi/376

コメントする

コネタ

全部みる

このブログ記事について

このページは、noguが2008年9月21日 15:32に書いたブログ記事です。

ひとつ前のブログ記事は「GoogleもYahooもURLセッションIDを認識・除外しない」です。

次のブログ記事は「サブプライムローンの起源は韓国」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。