トップページへ PASSJ ブログへ
トップページへ
分科会
特集!
コミュニケーション
資格
セミナー・コンファレンス
インフォメーション
クエスト・ソフトウェア レポート募集キャンペーン
レポート 1
  和田 貴志さん


はじめに

SQL Server 2000/2005 では、標準のバックアップ機能で圧縮バックアップを行うことができません。
これは SQL Server 2008 では改善されるということですが、現場では今後数年は 2000/2005 が主として使われていくと考えられます。
そこで圧縮バックアップを行うことができるクエスト・ソフトウェア様の LiteSpeed for SQL Server を試用しました。

製品レビューに応募した背景

現在、実際の業務において、月次で本番環境の DB を検証環境と開発調査環境へ復元する作業を行っています。
(開発調査環境に本番環境の DB を復元すること自体に関して、セキュリティの観点から懸念がありますが、守秘義務契約締結の上、情報資産預かりの手続きを行っていることで良しとし、今回は考えないこととします。)

このうち、開発調査環境についてはネットワークで接続されておらず、記憶媒体経由でバックアップデータを複製しています。
これら、バックアップ・復元・データのコピーの作業に数時間を要するまでに至っており、各作業の改善が必要となっています。
そこで、バックアップの圧縮・高速化・暗号化に対応する LiteSpeed for SQL Server の製品レビューに応募しました。

検証対象 DB

mdb ファイルサイズ:14.8GB
テーブル数:約 200 テーブル
2000 万行程度のテーブルが 2 テーブル、数百万行程度のテーブルが 5 テーブルあります。
本番環境は SQL Server 2000 SP4 で運用されています。

検証事項

・DB の圧縮速度
・DB の暗号化速度
・その他気がついた点

実験環境

今回の試用ソフトウェアである LiteSpeed for SQL Server はサーバ側へのインストールが必要ですが、実際の開発調査環境へインストールすることは許されないため、同環境内にあるクライアント PC を実験環境として SQL Server をインストールし、そのクライアント PC 上で一連の操作を行いました。

実験環境スペック

OS:Windows XP SP2
CPU:Pentium4 2.80GHz
Memory:2GB
SQL Server:2000 Standard Edition SP4

インストール

ウィザード形式となっており、特に問題なくインストールできました。
今回はクライアント PC 上での試用のため、アクティビティログはローカルリポジトリのみとしました。(画面 01)

(画面 01)
画面1

インストール後に登録の種類を選択する画面(画面 02)になります。

(画面 02)
画面2

15 日間の試用をする場合は、デモモードという表記に戸惑いましたが、ここで「LiteSpeed をデモモードで実行します」を選択します。
他にも「リポジトリ」と「レポジトリ」など、ところどころ用語に戸惑う箇所があったのは、残念な点でした。

なお、インストール方法としては、コマンドラインによるサイレントインストールなども可能とのことですが、今回は確認していません。

また、インストールはインスタンス単位となっています。
これは拡張ストアドプロシージャなどをインストールするためと思われます。
複数のインスタンスを実行しているサーバなどでは、インストール対象を設定することが可能です。

クエストコメント:
ご指摘ありがとうございます。用語の統一・改善はマイナーバージョンアップ時に反映させていただきたいと思います。


ツール

LiteSpeed for SQL Server をインストールすると、主な管理ツールとして「MMC コンソール」と「エンタープライズコンソール」(画面 05)の 2 つがインストールされます。(画面 03)

(画面03)
画面3

MMC コンソール(画面 04)は、一見すると SQL Server 2000 の Enterprise Manager に似ていますが、各テーブルの行数が表示されているなど、控え目ながら便利な機能が見受けられました。

(画面 04)
画面4

エンタープライズコンソール(画面 05)は、どちらかというと Windows XP のデフォルトのフォルダ表示や SQL Server 2005 の SQL Server Management Studio に近い見た目で、今回の検証作業は全てこちらのツールを使用しました。

(画面 05)
画面5

エンタープライズコンソールは、メニューから各種ウィザードを起動することができるため、初めて使う場合に使いやすいと感じました。なお、いずれのツールも、インストールを行っていない SQL Server を表示することができました。

クエストコメント:
和田さんのご感想のとおり、お好みでコンソールを使い分けしていただくために、2種類用意しています。


DB の圧縮バックアップ

DB の圧縮を、以下の 6 ケースについて計測しました。
グラフ1

ケース 1 は今回のベースラインになり、このケースのみ Enterprise Manager からバックアップを行っています。
ケース 2 と 3 は、圧縮レベルの差を比較しています。
ケース 4 と 5 は、暗号化ありの場合の、圧縮レベルの差を比較しています。
ケース 6 は、対象 DB を変えた場合の参考値になります。

ケース 1 と 2 を比較すると、圧縮レベル 1 で 85% 程圧縮されており、十分な効果が確認できます。
また、所要時間も 60% 程短縮されており、十分な効果が確認できます。
ケース 3 では、圧縮レベルを最高の 11 に設定しましたが、20 分程度経過しても全く進行せずやむなく一晩放置したため、時間を計測できませんでした。
ケース 2 と 3 を比較すると、圧縮レベルに応じてたしかにバックアップファイルのサイズは小さくなっていますが、ディスク容量の要求がよほどシビアでない限りは、圧縮レベル 1 で十分な効果が得られると言えます。
言い方を変えれば、圧縮レベル 1 はその圧縮率と速度において、非常に高いレベルにあると言えます。

ケース 4 と 5 を比較すると、所要時間が 2.5 倍超と、やはり圧縮レベルを高くした場合に所要時間が跳ね上がる傾向がありました。
バックアップファイルのサイズは 30% 程より圧縮されてはいますが、所要時間の増加を考えると、ケース 2 と 3 の場合と同様に、圧縮レベル 1 のほうが魅力的だと言えます。

ケース 2 や 4 の圧縮レベル1という設定は、 ベースラインのケース 1 に比べて高い圧縮率と十分な高速化を果たしており、非常に優秀だと言えます。


DB の暗号化バックアップ

DB の暗号化を、圧縮の際のケースに 1 ケース追加して計測しました。ケース No. に「(再掲)」とあるものは、圧縮の際に記載したケースと同一です。
グラフ2

ケース 1 は今回のベースラインになり、このケースのみ Enterprise Manager からバックアップを行っています。
ケース 2 と 4 と 7 は、暗号化レベルの差を比較しています。

ケース 2 と 4 と比較すると、暗号化によるオーバーヘッドが 27% 程あることが分かります。
しかし、ケース 1 と比較すると、所要時間は約半分であり、圧縮による高速化で十分に補われた範囲であると言えます。

また、ケース 4 と 7 を比較すると、暗号強度での明確な差は見受けられませんでした。
昨今のセキュリティ意識の高まりを考えると、対応している暗号方式の中でもっとも暗号強度の高い 256bitAES を使用する以外の選択肢は考えられないと言えます。
それでもケース 1 と比較すると、所要時間は 51% 程度と十分に高速化を果たしていると言えます。


バックアップの復元

DB の復元を、以下の 2 ケースについて計測しました。
グラフ3

ケース 1 は今回のベースラインになり、このケースのみ Enterprise Manager から復元を行っています。
ケース 1 と 2 は、圧縮による復元への影響を比較しています。
ケース 2 と 7 は、暗号化による復元への影響を比較しています。

ケース 1 と 2 を比較すると、圧縮によって 28% 程復元時間が短縮されており、ある程度の効果があることが確認できます。
圧縮の高速化と併せて考えると、圧縮機能を使う魅力は十分にあると言えます。

ケース 2 と 7 を比較すると、暗号化による明確な差は確認できませんでした。
今回はサーバとクライアントが 1 台の実験環境の PC にあるため、ディスク負荷がボトルネックとなった可能性もあります。
そのため、有益なデータが得られなかった可能性があります。


オブジェクト単位のバックアップ・復元

LiteSpeed for SQL Server ではテーブルなどオブジェクト単位でのバックアップや復元を行うことができます。
今回試しに以下の 2 ケースについて計測しました。
グラフ4

実験環境の都合により、ケース 8 と 9 で対象のテーブルが異なってしまっています。
ケース 8 のオブジェクト単位のバックアップは、所要時間が DB 単位でのバックアップの数倍となってしまいました。
今回はサーバとクライアントが 1 台の実験環境の PC にあるため、極端な結果が出てしまった可能性があります。
そのため、今回はこれ以上の確認はしていません。

ケース 9 のオブジェクト単位の復元は、所要時間が DB 単位での復元と同程度となってしまいました。
こちらもケース 8と 同様に実験環境に起因する結果の可能性があります。
そのため、今回はこれ以上の確認はしていません。

今回は 15 日と限られた試用期間の中では、十分な実験環境を用意できなかったこともあり、残念ながらオブジェクト単位のバックアップ・復元については、有益な計測を行うことができませんでした。
こちらについては別途機会があれば試してみたいと考えています。

クエストコメント:
オブジェクト単位のリカバリはEnterpriseエディションのみでご利用いただける強力な機能です。今回の検証では効果を実感していただくまでに至らなかったようですが、是非別途お試しいただきたいと思います。


その他気がついた点

バックアップウィザードにてバックアップをすぐ実行する場合、(画面 06)の「開始」ボタンを押します。

(画面 06)
画面6

そうすると(画面 07)の画面になるのですが、画面中央のログや下部のプログレッシブバーが変化するまで、数分待たされることがありました。

(画面 07)
画面7

ウィザードの画面タイトルが「完了」とあるだけに、最初は戸惑いました。
ログに「バックアップの開始中...」などの表記や、あるいはウィザードの画面タイトルがバックアップ処理などと表記されていれば、より親切かと思いました。
他にも前述した「リポジトリ」と「レポジトリ」という用語の揺れなどもあり、使い慣れる分には問題ありませんが、慣れないうちは戸惑う表記が散見された点は、残念でした。

クエストコメント:
この振る舞いは既知のバグです。次期マイナーバージョンアップ時には修正される予定です。


最後に

LiteSpeed for SQL Server について、今回実際に使用する前に製品の最大のセールスポイントだと個人的に考えていた圧縮と暗号化と高速化について、その効果を実際の DB を対象に確認することができました。
バックアップファイルのサイズ縮小、暗号化によるセキュリティ、そして通常のバックアップよりも高速なバックアップを、同時に実現するという、魅力的な結果を確認できました。
一方で CPU 単位のライセンス体系と、その価格から、開発環境などにはなかなか導入しづらいとも言えます。
ぜひ開発環境向けの安価なライセンス体系を別途用意いただけたらと願ってやみません。

最後に、末筆ながら今回実際に製品を試す機会を与えてくださったクエスト・ソフトウェア様と PASSJ に感謝いたします。

クエストコメント:
短い期間できめ細やかな検証を実施していただき、誠にありがとうございました。


■ ライセンスに関して

従来のライセンス形態では、LiteSpeed for SQLServer(圧縮)、LiteSpeed for Enterprise SQLServer(暗号化) で分かれており、CPU単位でのライセンス体系による若干高めの設定でした。今回、LiteSpeed for SQLServer4.8Jのリリースと同時に、見直しを 行いました。LiteSpeed for SQLServer(圧縮/暗号化)とし、標準機能として ご提供させていただいております。そして、LiteSpeed for Enterprise SQLServerでは、 オブジェクト単位でのリカバリ機能を必要とされるお客様にご選択いただく設定にいたしました。 ライセンス体系は、従来通りCPU単位でのライセンス形態に変更はありませんが、価格は下がっております。 また、開発環境などでご検討の場合は、別途営業までご相談ください。

宜しくお願いいたします。

 

PASSJメールニュース 著作権ついて プライバシーポリシー リンクポリシー お問い合わせ
(C) 2005 Professional Association for SQL Server Japan. All rights reserved.