データベース千夜一夜第35回

データベースの調整と保守 長谷川裕行
有限会社 手國堂

データベースの調整・保守とは?

データベースを調整し保守するとはどういう作業をいうのか、また、なぜそのような作業が必要なのかを考えておきましょう。


- データベースがシステムの効率を左右する -

大規模なRDBMS(データベース管理システム)は、常に大量のデータを保存し、管理し、読み書きしています。ユーザーからは端末のアプリケーションがデータを処理しているように見えますが、最終的にはネットワークを介してつながったデータベース・サーバーのデータベース・エンジンがデータを処理している……ということは、敢えて説明するまでもないでしょう。

データベース・エンジンは、日々休むことなく、ネットワークを介してやってくるクライアントからの処理要求に応え、抱えている大量のデータを処理しています。業務システムの『要』と言ってもいいでしょう。そのため、データベース・エンジンを含むRDBMSの処理能力が低下すれば、業務システム全体の能力に影響を及ぼします。

逆に言えば、RDBMSが快適にスムーズに動作すれば、システム全体の処理効率が向上することにもなります。そのためには、RDBMSとデータベースを最適な状態に調整しなければなりません。これを(データベースの)「チューニング」と言います。


- 稼働してからが勝負 -

事前にしっかり設計しておけば、データベースを見直す必要などないのじゃないか? という気もします。が、決してそんなことはありません。テーブルが作られたり削除されたり、レコードが増えたり減ったり……。データベースは、動いている間にどんどん姿を変えています。

このデータベースの変化を、事前に完璧に把握することは困難です。どのテーブルが、あるいはどのレコードが、そしてどのフィールドが最も頻繁にアクセスされているか? それに基づいて、例えば最も効率的なインデックスの設定を考える必要があります。一度設定したからといって、将来までそのままでよいという訳ではありません。

また、データベースの使用頻度に基づいた定期的なバックアップ計画も必要です。机の配置などオフィスのレイアウト変更に伴って、ネットワーク構成が変わっているかもしれません。すると、知らぬ間に無駄な配線がされている可能性も出てきます。

このように、日々業務を進めていくうちに、データベースとそれを利用する業務システム全体の状況が変わり、いつの間にか当初予想していたパフォーマンスを発揮できなくなっていることもあるのです。

データベースの調整と保守は、稼働してからが勝負です。


- システム全体のチューニングを -

データベースをチューニングする――というと、例えばテーブルの最適化を連想する人も多いかと思います。テーブルの最適化は、テーブル同士の関連付けを無駄なく行うため、目的の業務で用いるデータを複数のテーブルに合理的に分割し、各テーブルのフィールド構成も見直すという作業です。

もちろんテーブルの最適化は重要なことですが、単にひとつひとつのデータベースに対して構成を見直すだけでは、業務システム全体の効率化を実現できません。また、テーブルの最適化はシステムの設計時に行っておくべきことであって、稼働してから見直す必要があるとすれば、それは設計に間違いがあったことになります。

データベースのチューニングとは、そのような事前設計段階で見越せる問題が対象なのではなく、実際にはクライアント・サーバー型ネットワークを基盤とした業務システム全体のチューニング――最適化を指します。

そのためには、以下の点に注目するべきです。

・個々のデータベースの最適化
個々のデータベースが無駄なく動作できること。

・RDBMSの最適化
RDBMS自体が無駄なく動作できること。

・ハードウェアの最適化
サーバー、クライアント共に快適に動作できること。

・ネットワークの最適化
ネットワーク全体が効率的に稼働できること。

・アプリケーションの最適化
個々のアプリケーションが効率的に動作できること。

これらについて詳しく見ていきましょう。



トップページ
データベースの調整・保守とは?
データベースがシステムの効率を左右する
稼働してからが勝負
システム全体のチューニングを
何をどのように調整するのか?
SQLプロファイラ
データベースの保守
インデックスのチューニング
SQL Serverの環境設定
あとがき
Copyright © MESCIUS inc. All rights reserved.