パフォチュー日記&QA4

┏─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━┓
●【 パフォチュー・コンサル日記 】 ●
┗─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━┛
第4回 ディスク装置の認識

ディスクドライブの数とストライピング・サイズについて説明をしてきました
が今回はそれらの効果について話を掘り下げていこうと思います。

OLTP環境?
実は「OLTP環境」という言葉が通じない場合も多いです。またこの言葉はデー
タベースへの処理のニュアンスと区別するために勝手に使われている言葉かも
しれないので自分なりの解釈をしてみますと(TPC-Cベンチマークの定義とは違
うかな?)、

OLTP環境とは:
データ処理量はそれほど多くはないトランザクション(複数のSQL文からなるア
プリケーション処理のかたまり)が同時に複数たくさん発生する環境です。元々
はOnLine Transaction Processingから日中オンライン処理、すなわちユーザ数
が多い状況を指し、OLTP時間帯などと呼ぶ場合もあります。対して、夜間など
の単発の負荷の高い(データ処理量の多い)処理時間帯をバッチ処理時間帯な
どと呼びます。

ディスクドライブの数とOLTP環境
OLTP環境で複数のトランザクションがI/O待ちにならないように、複数のディス
クを用意するのです。ただ用意するだけだと同一オブジェクトのI/Oの分散がで
きないため待ちとなってしまいます。そこでストライピングという概念で同一
オブジェクトを複数のディスクドライブに分散するのです。

OLTP環境は同時トランザクションが発生する環境です。激しいOLTP環境、すな
わち大量にトランザクションが同時に発生する環境であれば、複数ディスクを
用意してストライピングを行うRAID装置が必須です。

RAIDの種類

RAID0
高速ですがデータの保障ができないため通常は使用しません。

RAID0+1あるいはRAID1+0
ディスクの数が十分であれば最強の構成です。0+1はストライピングしてミラー
リングをするという構成です。1+0はミラーリングしてストライピングをする
構成です。どちらが有利かはRAID装置がどちらをハードウェアRAIDとしてサポー
トしているか?による場合が多いです。

RAID5
RAID0+1(1+0)のようにミラーリングする事無しにデータ保護も実現します。た
だしデータ保護のためのパリティ情報を書き出すために書き込み処理にオーバ
ヘッドが発生します。

RAID5の書き込みオーバヘッドとは
上記のRAIDタイプを簡単に説明してみましょう。
ここでは4本のディスクドライブでそれぞれのRAIDタイプを実現するための指標
を説明しています:

RAID0 1 x 4 = 4
スピードの相対指標値でRAID0が4であった場合

RAID0+1(1+0) (1 x 4) / 2 = 2
ミラーリングされるため2となります。

RAID5 read 1 x (4 – 1) = 3
RAID5 write 1 x (4 / 4) = 1
Read パリティ情報があるので4 – 1 = 3本のストライピングとなります。
Write パリティ情報を書き出すため2本のディスクに対する2回のreadと1本のデ
ィスクに対するパリティ情報の書き出し、それにデータの書き込みが発生します。

本来であればこの計算式は少し「?」ですよ!あくまでもI/Oの回数を指標とし
ただけです。また、4個のRAIDではOLTP環境への配慮である同時トランザクショ
ン性能を上げることは難しいと思います!!

最後に、
激しいOLTP環境ではディスクドライブ数がI/O分散を実現するキー・ファクタと
なります。お客様にディスクの追加をお願いし、チューニングする場合も少な
くありません。

(注意!)
最新RAIDシステムではRAID0+1やRAID1+0という表記はせずに単にRAID0/1と表記
しています。

次号に続く、
茅ケ崎 フィッシャーマン