データベース監視:基礎と概要

IT Stephen Watts

データベース監視とは、データベースをリアルタイムで監視することで、データベースパフォーマンス監視とも呼ばれています。特定のメトリクスを追跡することにより、データベースシステムの健全性と動作を把握できるため、トラブルシューティングや、データベースのパフォーマンスを最適化する方法を見つけることができます。

Splunkを利用したデータベースクエリーのパフォーマンス監視

時間のかかるデータベースクエリーが、サービスの可用性におけるさまざまな問題の原因となっている場合があります。データベースクエリーのパフォーマンス監視を行う場合、Splunk APMを使用すれば、データベースクエリーがサービスの可用性に与える影響を直接監視できます。また、時間のかかるクエリー、最適化されていないクエリー、負荷の高いクエリーをすばやく特定し、それらが引き起こす可能性のある問題を軽減できます。データベースをインストルメントする必要はありません。

APMの他にも、Splunk DB ConnectSplunkbaseで提供されている他のAppを使用して、さまざまなデータベースをSplunk EnterpriseやSplunk Cloud Platformに接続できます。この機能について詳しくは、次のビデオをご覧ください。

データベースは、あらゆる組織のビジネスクリティカルなアプリケーションやサービスを支えているため、データベース監視はデータベース管理の重要な部分を担っているといえるでしょう。クエリーに時間がかかる、確立済みの接続が多すぎるなど、データベースのパフォーマンス上の問題によって、アプリケーションやサービスが遅くなったり、一時的に利用できなくなったりすると、エンドユーザーエクスペリエンスに影響を与える可能性があります。データベース監視を行い、ソフトウェアの健全性やデータベースサーバーのハードウェアの健全性に関するインサイトを取得することで、ユーザーに影響を与える前にパフォーマンスの問題を特定して修正することができます。また、データベース監視から得られるインサイトを活かせば、アプリケーションインフラを改善し、高いパフォーマンスを維持する方法も見出せます。

以下のセクションでは、データベース監視の仕組みと、パフォーマンスを最適化するために監視すべき最も重要なデータベースメトリクスの概要を説明します。また、利用可能なデータベース監視ツールの種類と、自社にとって最適なツールを選択する方法についても取り上げます。

データベース監視の重要性

データベース監視が重要なのは、データベースが現代のITインフラにおいて不可欠な要素であるためです。データベースに問題があると、アプリケーションやサービスの応答時間が遅くなり、パフォーマンスが低下する可能性があります。しかし、データベース監視を効果的に行えば、パフォーマンスの問題を特定して迅速に解決することができるため、データベースサーバーの可用性を維持し、データベースを基盤とするサービスやアプリケーションの運用を支え、日々のビジネスを推進し続けることができます。

データベースのパフォーマンスの向上と管理

データベースのパフォーマンスとは、リクエストに応じてデータベースが情報を提供する速度のことです。このリクエストを高速で処理するデータベースは、パフォーマンスが高いとみなされます。一方で、ビジネスプロセスやアプリケーションでボトルネックを引き起こしていれば、パフォーマンスが低いとみなされます。

データベースのパフォーマンスに影響を与える要因は多数ありますが、特に影響が大きいのは以下の5つです。

  1. ワークロード:ワークロードとは、データベースがユーザーやアプリケーションから受け取るリクエストの合計量を指します。これには、さまざまな種類のクエリー、バッチジョブ、オンライントランザクション、システムコマンドのほか、特定の時点でシステムで処理するその他すべてのリクエストが含まれます。ワークロードは時間とともに1秒単位で大幅に変動します。季節の買い物や月末の給与支払処理時にはリクエストが多く、営業終了後にはリクエストが少ないなど、状況によってはワークロードを予測できます。しかし、ほとんどの場合、ワークロードの予測は不可能といっても過言ではありません。
  2. スループット:スループットとは、時間の経過とともにデータベースによって実行される作業量を表し、通常は1秒、1分、または1時間あたりに処理されるクエリーの数として測定されます。受け取るクエリー数よりもデータベースのスループットが低い場合、サーバーが過負荷になり、その結果、クエリーの応答時間が長くなって、Webサイトやアプリケーションの速度が低下する可能性があります。スループットの問題が生じていれば、クエリーを最適化するか、サーバーをアップグレードする必要があるといえるでしょう。
  3. リソース:リソースとは、データベースが使用するハードウェアやソフトウェアツールのことです。CPU、メモリー、キャッシュコントローラー、マイクロコードなどが挙げられます。データベースで自由に使えるリソース量は、データベースのパフォーマンスを左右する他のすべての要因に大きく影響します。
  4. 最適化:最適化とは、データベースから情報を取得する速度と効率を向上させるために使われる戦略のことです。最適化の方法には、未使用のテーブルの削除、適切なインデックスの作成、適切なデータ型の使用など、データベースの調整手法が含まれます。最適化は継続的なプロセスであり、監視、分析、改善を続けていく必要があります。
  5. 競合:競合は、2つ以上のワークロードプロセスで同時に同じデータにアクセスしようとするときに発生します。たとえば、SQLデータベースでは、複数のトランザクションで同時に同じ行を更新しようとすると競合が発生します。あるトランザクションで変更中のデータを別のトランザクションが操作しようとした場合、データベースでは、データの正確性と一貫性を確保するために、変更が完了するまでデータへのアクセスを禁止(すなわち「ロック」)する必要があります。リクエストが多いときに発生しやすい傾向があり、競合が増えるとスループットが低下します。

最終的に、データベース管理者がこれらの要因を調整して最適なデータベースのパフォーマンスを確保します。リソースを最適化してスループットを最大化し、競合を最小限に抑えて、データベースが可能な限り最大のワークロードを効率的に処理できるようにします。

これら5つの要因は、データベースのパフォーマンスにとって特に重要です。

データベース監視の一般的な例とユースケース

データベース監視の例には、追跡を含め以下のものがあります。

これらの要素は、データベースの健全性とパフォーマンスに大きな影響を及ぼします。データベース監視では、データベースがオンラインであるかどうかに加え、そのリソースの使用量も追跡されます。どちらもデータベースがサポートするアプリケーションやサービスの可用性を大きく左右します。

データベース監視のメリット

データベース監視を行って以下のような問題を特定することで、さまざまなメリットが得られます。

データベース監視の課題

データベース監視の主な課題は、監視対象を決めることです。すべてを監視したいのはもちろんですが、それではチームが忙殺されてしまい、重点的に最適化すべき領域をなかなか把握できません。まずは、上記で概説した基本的なメトリクスと、顧客に影響を与えるその他のメトリクスを監視することから始めるとよいでしょう。

データベース監視のメトリクスとKPI

ITインフラの他のコンポーネントと同様に、データベースの健全性とパフォーマンスを示すのに役立つメトリクスが数多くあります。しかし、それらすべてを追跡すると、IT管理者の負担が大きくなってしまいます。しかし、基本的な要素を監視することで、データベースの動作を詳しく理解できます。たとえば、以下のようなものがあります。

データベースのパフォーマンスメトリクスは他にも多数ありますが、メトリクスを監視するための万能なアプローチは存在しません。とはいえ、ここに挙げたメトリクスを使えば、どのような組織でも強力な基盤を構築できます。

上の図は、データベースのパフォーマンス監視を開始するための基本的なメトリクスの一部です。

データベース監視の実装

監視はシステムアーキテクチャ全体に実装でき、組織のニーズに合わせてカスタマイズすることができます。一般的に導入される監視には次のものがあります。

監視ソフトウェアや監視ツールを選定するにあたり、オープンソース版と商用版のどちらが適切かを検討する必要があります。オープンソースの監視ツールのメリットは、価格面と、カスタマイズが全面的に可能なため、既存のアーキテクチャに容易に統合できることです。一方、デメリットは、実装と保守に専門的なスキルと知識が求められることが多く、まとまった開発時間が必要になることでしょう。商用ツールの場合、高額になりますが、より堅牢な機能とサポートを備えています。また、ソリューションの管理に加えて、十分なトレーニングとカスタマーサービスが提供され、一般に、ツールを自社の既存スタックに統合するためのサポートも受けられます。

データベース監視のベストプラクティス

以下のようないくつかのベストプラクティスに従うことで、データベース監視から得られる価値を最大化できます。

データベース監視の導入

データベース監視を始めるには、監視ツールが必要です。しかし、特定のシステムコンポーネントに対応するツールからオールインワンのソリューションまで、さまざまな製品が提供されているため、購入にあたっての意思決定が難しい場合があります。組織のニーズに焦点を合わせて製品を絞り込むために、次の質問について検討してみるとよいでしょう。

結論:アプリケーションの可用性の確保にはデータベース監視が不可欠である

データベースは現代の組織を支えています。パフォーマンスが低下すると、アプリケーションやサービスが遅くなり、最終的にビジネスに悪影響を及ぼす可能性があります。データベース監視で可視性を獲得すれば、可用性の確保、パフォーマンスの最適化はもちろん、最高レベルのユーザーエクスペリエンスを実現できます。

このブログはこちらの英語ブログの翻訳です。

関連記事

ITインフラの定義
IT
7 分程度

ITインフラの定義

このブログ記事では、「ITインフラとは具体的に何か?」という疑問にお答えするために、ITインフラのタイプと分類、管理方法、将来の展望について詳しく解説します。
ログ管理とは?目的やメリット・デメリットから考える“必要性”
IT
6 分程度

ログ管理とは?目的やメリット・デメリットから考える“必要性”

社内のIT環境で、なにが起きているのか、を把握するために欠かせないのがログです。ソフトウェアやネットワーク、インフラのトラブルから、セキュリティインシデントまで、迅速に原因を調査し、対処するには、適切なログ管理をおこなう必要があります。ログ管理の基本や目的、メリット・デメリットを整理するとともに、ログ管理に用いるツールについても紹介します。
SNMPおよびSNMPの監視について
IT
8 分程度

SNMPおよびSNMPの監視について

Simple Network Management Protocol (SNMP)を使用すると、管理者はネットワークのほぼすべての要素を保守できます。この記事では、管理者が活用できるツールとコマンドについて紹介します。