第9回「転ばぬ先のつえ、絶対知るべきDB障害復旧の基礎」は、障害対策の仕組みとしてバックアップの必要性とリカバリー時に必要な基本的な流れを説明しました。今回はデータベースシステムの監視について解説します。【更新版】
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
そもそも「監視」とはどのような行為なのでしょうか。三省堂「大辞林」によれば、「不都合なことの起こらぬように見張ること」と定義されています。つまり、データベースシステムの監視とは、データベースシステムの安定稼働を阻害する事象が発生しないように、「何か」を見張ることです。今回は、データベース運用において、監視する対象や方法について説明します。
ところで、「データベースシステムの安定稼働を阻害する事象」とは何でしょうか。
人の場合で考えてみると、健康に生活することを阻害する要因として「病気」が考えられます。病気にならないように定期的なチェック(血圧、体温、体重の測定など)や、医師による診断が必要なように、データベースにおいても普段からの定期的な健康状態の把握や診断が必要です。
例えば、システムの利用状況はビジネスの変化により影響を受けるため、カットオーバー時には想定していなかった負荷状況になることがよくあります。処理量やデータ量の増加、アプリケーションの改修、パラメーター変更など、実にさまざまな要因がデータベースに影響を与えます。その影響によっては、データベースの性能が劣化するだけでなく、データベースとしてのサービスを提供できない問題に発展する場合もあります。
データベースの健康状態を把握するためには、そのデータベースに対するベースライン(健全性を測るための基準値)を知る必要があります。人間も性別や年齢によって健康の指標となる基準値が異なるように、データベースも利用されるシステムの特性によって、基準値が異なるためです。
データベースのベースライン情報とは、CPUやメモリ、ディスクI/Oなどのハードウェアリソースの使用状況や、データベースへの処理量(トランザクション量やSQL実行数、変更履歴生成量)などの情報です。収集したベースライン情報は、以下のような場面で活用することができます。
アプリケーションのレスポンス問題が発生した際のデータベースのベースライン情報から、次に同様なレスポンス問題が発生する可能性が高い時期を予測することができます。事前にこのような予測をしておくことで、想定される時期や時間帯にデータベース技術者をすぐに対処できるような場所に待機させたり、そのタイミングに合わせてサーバリソースを増強したりするなど、運用計画を立てることができます。
問題発生時に取得した情報と、それまでに取得しているベースライン情報とを比較することで、原因の特定に役立てることもできます。ベースライン情報と比較することで「いつもと違うところはどこか」といった観点から調査を開始することで、迅速な対応ができます。
Copyright © ITmedia, Inc. All Rights Reserved.