データベースミラーリングの実力を評価する:SQL Server 2005を使いこなそう(10)(3/3 ページ)
5年ぶりのメジャーバージョンアップとなったSQL Server 2005。本連載では、SQL Server 2005への移行を検討しているデータベース管理者に向け、新規に実装されたさまざまな機能の詳細を紹介していく。(編集局)
ミラーリングモードによるパフォーマンスの違い
データベースミラーリングには3つの動作モードが存在します。自動フェールオーバーを実現する「高可用性モード」、自動フェールオーバーは機能せずプリンシパルサーバとミラーサーバの同期のみが行われる「高度な保護モード」、そしてプリンシパルサーバとミラーサーバが非同期で動作する「高パフォーマンスモード」の3つです。
ここで気になるのが、データベースミラーリングを利用しない環境と利用する環境で、どの程度パフォーマンスに差が出るのか、という点です。ミラーリングの利用によりある程度パフォーマンスの劣化は避けられないことは想像できますが、その劣化がどの程度のレベルなのか、確認しておく必要があります。
パフォーマンスの検証は、次の3つの環境で行いました。
- ミラーリングなしの環境
- 高パフォーマンスモードを利用する環境
- 高可用性モードを利用する環境
参照処理(SELECT)のパフォーマンス傾向
こちらは特に環境によるパフォーマンスの違いは見られませんでした。これはデータベースミラーリングが更新処理を行った場合のみサーバ間の処理を行い、参照時は特に処理は発生しないためです。ミラーリング環境であっても参照処理についてはパフォーマンスの劣化は発生しません。
更新処理(INSERT)のパフォーマンス傾向
10万レコードのINSERT処理についてパフォーマンスを比較してみました。コミット件数ごとにそれぞれの処理完了時間を計測しています。
1commit | 100commit | 1000commit | 10000commit | |
---|---|---|---|---|
高可用性モード | 27秒 | 26秒 | 43秒 | 220秒 |
高パフォーマンスモード | 24秒 | 22秒 | 37秒 | 98秒 |
ミラーリングなし | 26秒 | 15秒 | 18秒 | 43秒 |
表1 ミラーリングモードの違いによる更新処理のパフォーマンス傾向 |
明らかにコミットの頻度がミラーリング環境のパフォーマンスに大きな影響を与えています。これはコミットによりプリンシパルとミラーの間で処理が行われるため、コミットの回数が多いほどデータベース間の処理がボトルネックになるためです。
コミットの頻度がさほど高くない場合は各環境に大きな差はありませんが、コミット件数の高まりとともにパフォーマンスが悪化しています。また、高可用性モードと高パフォーマンスモードを比較した場合、その名前と動作原理のとおり高パフォーマンスモードがパフォーマンスの点において勝っています。
今回の環境は試験用として構築した特殊なものですが、本来の利用方法を考えればサーバ間の構成差、ネットワーク速度や信頼性、データベースに対する処理内容など、パフォーマンスに影響を与える要素が各種考えられます。このため、高可用性と引き換えに実稼働環境でどこまで劣化を許容できるか、必ず検証を行う必要があるでしょう。
編集部注
ここに掲載した検証データは、マイクロソフト社の提供するホワイトペーパー「SQL Server 2005データベース ミラーリング検証」を参考にしたうえで、筆者が独自に調査した結果です(2006年11月29日追記)。
まとめ
今回は検証編ということで、データベースミラーリングの自動フェールオーバーとパフォーマンスについて取り上げました。パフォーマンスの問題を避けることはできませんが、その構築の手軽さとコストの低さ、そして実現される高可用性を考えると非常に魅力的な機能です。
その利用に当たっては実稼働環境を想定した検証を欠かすことはできませんが、予算や技術の問題で可用性に問題を残すシステムには導入を検討する価値が十分にあるはずです。検証も容易に行うことができるため、SQL Server 2005を利用する際はデータベースミラーリングの有効性について、ぜひ検討を行ってください。(次回へ続く)
著者紹介
石橋潤一
株式会社システムインテグレータ勤務。Web+DBの業務アプリをメインに開発に携わる。@IT連載記事「SQL Server 2005 CTPレビュー」執筆のほか、著書に『DBマガジン別冊 SQL Server 2005徹底活用ガイド』(翔泳社刊/共著)、『ASP.NET+SQL Server ゼロからはじめるWebアプリケーション』(ソフトバンクパブリッシング刊/共著)。
Copyright © ITmedia, Inc. All Rights Reserved.