データベース系フリーエンジニアお仕事帳

仮想化環境でデータベースを統合すると、パフォーマンスが下がるという落とし穴

データベース系フリーエンジニアお仕事帳

データベース統合化の落とし穴とは

データベース統合化の落とし穴とは

もっと早く、もっと多く、という人の欲望に限りはないようですが、それがIT分野でも如実に現れています。今や社内のネットワーク環境がより効率良く、より正確に動くことは、その企業の命運を分けるまでになりつつあります。その流れに推し進められて、世の中は仮想化へと突き進んでいますが、その変化はスムーズとは言えないようです。


船は広い海からボトルの中へ

さて、これまでのデータベースが徐々に増えたためにいくつにも分かれている場合、これを統合して一つにしようと誰でも考えます。そして仮想化環境でOLTP系データベースを統合したところ、もともと個々で実現していたパフォーマンスの半分以下になってしまうということが現実に起こっています。どうやら単純に足せばよいとはならないようですが、原理を考えれば納得です。すなわち、近年はマルチコアCPUにより大幅に速度が向上しているのに対し、供給側のHDD側が性能上追いつくことができないのです。いわゆるストレージI/Oのボトルネックという現象で、仮想環境では特に、ストレージI/O性能を引き上げることが困難なのです。元々Oracleデータベースでは、SQL処理の高速化のためにはDatabase Buffer Cache上にHDD上のデータブロックをキャッシュするということがパフォーマンス実現の前提となっており、そのためのメモリ領域を確保することが不可欠なのです。従って、このDatabase Buffer Cacheに十分な領域が割り当てられないと、その分キャッシュミスが続発するのは当然の結果であり、積もり積もった挙句には処理に大きく時間を食ってしまうことになるのです。

ワインボトルの太さはいろいろ

ところで、今や一昔前とは桁違いなデータ量とユーザー数に対応しなければならないのですが、仮想化によって個々に対して割り当てることができるメモリサイズは減少しています。このようにして顕在化したのがボトルネックといえるのですが、ピンセットで中に船を造るのだからボトルネックの太いものを選べば解決すると考えれば、HDDの代わりにSSDを導入するという手もあります。今のところ高価なため、残念ながらどこにでも使えるという状態ではありませんが、HDDとは比べ物にならないほどに高速です。

スマートなピンセットさばき

その一方で、HDD上のすべてのデータが均一な価値を持つのではなく、アクセス頻度によって重要度に差を付けることができれば、この優先順位を手掛かりにボトルネックをスムーズに流すことができそうです。Database Smart Flash Cacheはこのような考え方から生まれたもので、物理メモリより安価でSSDをDatabase Buffer Cacheの拡張領域として活用するためパフォーマンスは上々です。

おすすめ記事

Copyright © 2014 データベース系フリーエンジニアお仕事帳 All Rights Reserved.