データベースの「何」を「どう」監視すべきか:ゼロからのリレーショナルデータベース入門(10)(1/3 ページ)
第9回「転ばぬ先のつえ、絶対知るべきDB障害復旧の基礎」は、障害対策の仕組みとしてバックアップの必要性とリカバリー時に必要な基本的な流れを説明しました。今回はデータベースシステムの監視について解説します。【更新版】
目次
そもそも「監視」とはどのような行為なのでしょうか。三省堂「大辞林」によれば、「不都合なことの起こらぬように見張ること」と定義されています。つまり、データベースシステムの監視とは、データベースシステムの安定稼働を阻害する事象が発生しないように、「何か」を見張ることです。今回は、データベース運用において、監視する対象や方法について説明します。
データベースの健康状態を把握する
ところで、「データベースシステムの安定稼働を阻害する事象」とは何でしょうか。
人の場合で考えてみると、健康に生活することを阻害する要因として「病気」が考えられます。病気にならないように定期的なチェック(血圧、体温、体重の測定など)や、医師による診断が必要なように、データベースにおいても普段からの定期的な健康状態の把握や診断が必要です。
例えば、システムの利用状況はビジネスの変化により影響を受けるため、カットオーバー時には想定していなかった負荷状況になることがよくあります。処理量やデータ量の増加、アプリケーションの改修、パラメーター変更など、実にさまざまな要因がデータベースに影響を与えます。その影響によっては、データベースの性能が劣化するだけでなく、データベースとしてのサービスを提供できない問題に発展する場合もあります。
データベースの健康状態を把握するためには、そのデータベースに対するベースライン(健全性を測るための基準値)を知る必要があります。人間も性別や年齢によって健康の指標となる基準値が異なるように、データベースも利用されるシステムの特性によって、基準値が異なるためです。
データベースのベースライン情報とは
データベースのベースライン情報とは、CPUやメモリ、ディスクI/Oなどのハードウェアリソースの使用状況や、データベースへの処理量(トランザクション量やSQL実行数、変更履歴生成量)などの情報です。収集したベースライン情報は、以下のような場面で活用することができます。
- (1)レスポンス問題発生の予測
アプリケーションのレスポンス問題が発生した際のデータベースのベースライン情報から、次に同様なレスポンス問題が発生する可能性が高い時期を予測することができます。事前にこのような予測をしておくことで、想定される時期や時間帯にデータベース技術者をすぐに対処できるような場所に待機させたり、そのタイミングに合わせてサーバリソースを増強したりするなど、運用計画を立てることができます。
- (2)問題発生時の原因特定
問題発生時に取得した情報と、それまでに取得しているベースライン情報とを比較することで、原因の特定に役立てることもできます。ベースライン情報と比較することで「いつもと違うところはどこか」といった観点から調査を開始することで、迅速な対応ができます。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- SQLの基礎 「SELECT」文を覚えよう
- SQLとはどういう言語か
「SQLは何となく苦手」という人は意外と多いものです。すでに何らかのプログラミング言語を習得している人を見ても、SQLを苦手としている人は少なくありません。そこで、実際にSQLを入力して結果を見ながら学習する連載を始めます。用意するのはインターネットにつながったWebブラウザだけ。気軽に始めてみてください。(編集部) - RDBMS製品のビッグ3、それぞれの“癖”をつかもう
本連載はOracleを使ったデータベースシステムの開発・運用管理にある程度の知識を持つ読者を対象に、Oracle以外の商用RDBMSであるMicrosoft SQL ServerとIBM DB2とのアーキテクチャの違いを明らかにし、マルチベンダに対応できるデータベースシステムの設計・開発・運用ノウハウを紹介していく。(編集局) - NoSQLはRDBMSに取って代わるものなのか?
「memcached」や「Apache Cassandra」、「Apache CouchDB」など、RDBMSとは異なる考えで設計してあるデータベース管理システムが普及しつつあります。この連載では、これら新しいデータベース管理システムの特徴と、RDBMSとの使い分け方について解説します。(編集部)