主要管理ツールを紹介
データベースはなぜ遅くなる? パフォーマンス管理で知っておきたい5つの要素(1/2 ページ)
データベースのパフォーマンス管理ツールを使用すると、ボトルネックと競合ポイントを特定し、ワークロードとスループットを監視できる。また、システムとデータベース管理システムのリソース使用状況も管理できる。
データベースシステムの動作効率を確保することは、現代のIT管理における中核的な要件である。データベース管理者などのIT担当者が、データベース自体とデータベースにアクセスするアプリケーションのパフォーマンスを監視、管理、改善するのに役立つ各種ツールがある。だが、データベースのパフォーマンス管理ツールの必要性について検討する前に、まずデータベースパフォーマンスの定義を明確にすることが重要だ。
概要レベルでは、データベースのパフォーマンスとは、データベース管理システム(DBMS)がユーザーに情報を提供する速さと定義できる。だが、データベースのパフォーマンスへの影響を理解するために、次の5つの要素を検討されたい。
1.ワークロード
ワークロードはDBMSで実行しなければならないアクティビティーである。ワークロードによってシステムへの処理要求が発生する。ワークロードには、トランザクション、バッチジョブ、アドホッククエリ、レポート/分析用アプリケーション、データベースユーティリティー、システムコマンドなどが複合的に含まれる場合がある。ワークロードは、日ごと、時間ごと、さらには分刻みで大幅に変動することもあり得る。ワークロードは、安定していて予測できることもあれば、急増する場合もある。例えば、小売業者の電子商取引サイトをサポートしているデータベースでは、ブラックフライデー(感謝祭《11月第4木曜日》翌日の金曜日で、クリスマス商戦が始まる日)にトランザクションワークロードが激増する。
2.スループット
スループットはシステムで処理できるデータ量の測定値である。I/O速度とCPU速度から成り、データベースサーバの並列処理能力とOSやシステムソフトウェアの効率の影響を受けることがある。
3.リソース
リソースはシステム側で自由に使えるハードウェアツールとソフトウェアツールである。これにはデータベースカーネル、ディスク領域、メモリ、キャッシュコントローラー、マイクロコードなどが該当する。データベースのデータにアクセスして変更するときのパフォーマンスは、リソースを適切に割り当てて活用することで改善される可能性がある。
4.クエリパフォーマンス
クエリパフォーマンスは最適化によって高速になる。どのような種類のシステムでも最適化は可能だ。ただし、リレーショナルデータベースはクエリの最適化が主にDBMS内で行われるという点で独特である。また、SQL式やデータベースパラメーターなど、その他の要素についても検討しなければならない。それにより、データベース最適化ツールを使用して最も効率的なアクセスパスを作り出すことができる。
5.競合
特定のシステムリソースに対する要求が多くなると競合が生じる。例えば、複数のワークロードのコンポーネントによって同じリソースの使用が相反する形で試みられた場合だ。これには、同じデータを2重に更新することなどが該当する。競合が増えるにつれ、スループットは低下する。
データベースパフォーマンスをより正確に定義すると、スループットを増やして競合を最小限に抑えるためにリソースの使用を最適化することと表せる。その結果、可能な限り多くのワークロードを処理できるようになる。
データベースのパフォーマンス管理ツールの種類
各種データベースパフォーマンス管理ツールについて掘り下げる前に、パフォーマンス監視とパフォーマンス管理の違いをはっきりさせておきたい。これらの言葉の意味は異なるが、混同されやすい。実際には、パフォーマンス監視はパフォーマンス管理の1つだ。また、パフォーマンス管理は次の3つの要素に大別できる。
- 問題を発生時に検知することを目的としたデータベースシステムの監視
- 修正措置の特定を目的としたシステムのデータの分析
- 問題の軽減を目的とした修正の実行
データベースのパフォーマンス管理ツールは、この3つの全ての領域で役に立つ。だが、システムの監視または問題の修正だけを行うものもあれば、複合的な機能を備えているものもある。
データベースのパフォーマンス管理ツールも対処するデータベースのパフォーマンス問題の種類によって細分化できる。例えば、データベースアプリケーションのパフォーマンスを管理する場合は次の3つの要素が関わってくる。
1.DBMS
このシステムソフトウェアを使用すると、プログラムからデータを保存したり、プログラムからデータにアクセスしたりできるようになる。DBMSは他のシステムソフトウェアやハードウェアとやりとりすることが必須である。的確かつ申し分なく機能させるには適切な構成が欠かせない。また、DBMSで使用するリソースとDBMSの動作の設定に使用するシステムパラメーターが数多く存在している。構成対象には、メモリ容量、I/Oスループット、データページのロックといった重要なパフォーマンス基準が含まれる。
2.データベース構造
データベース、テーブル、インデックスの設計もデータベースのパフォーマンスに影響する可能性がある。問題となるのは、データベースの物理的な設計、ディスクの使用状況、テーブルの数、インデックス設計、データ定義言語のパラメーターなどだ。また、データの編成方法も管理しなければならない。データベースのデータが変更されると効率は低下する。それから、無秩序に散在しているデータを修正するには定期的なデータの再編成とデフラグが必要だ。
3.SQLとアプリケーションコード
効率的なSQLステートメントをコーディングすることは一筋縄ではいかない。というのも、返される結果が同じでもSQLを記述する方法は1つではないからだ。ただし、式によって効率とパフォーマンスは大きく異なることがある。実行中のSQLコードを監視して、SQLコードで使用されているアクセスパスを提示し、SQLコードの改善方法について指針を提供するツールがデータベース管理者には必要だ。
Copyright © ITmedia, Inc. All Rights Reserved.
この記事の著者
関連記事
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
取手市がVDIと決別した理由 更改費用「4倍超」を約1.7倍に圧縮
-
2
「HDD終了」は本当か 巨大クラウド2社が下した大容量フラッシュへの決断
-
3
AIで人を減らした企業がもう心変わり 「AIブーメラン現象」の実態
-
4
100億円の「Linux更新」を回避 みずほ銀行が選んだ“おきて破り”のRHEL延命策
-
5
レガシー基幹システムをSAPに統合 山善が突き止めた「標準化と個別最適」の境界線
-
6
10年かけてBIを再構築したアマノの一手 「権限がない」「予算がない」でもDXは動かせる
-
7
人気のプログラミング言語「Rust」と「Python」の違いは何か?
-
8
レビューで高評価だったAI生成コードが本番環境でエラーを多発する理由
-
9
LLMの「過学習」、正しく説明している文章はどれ?
-
10
【漫画付き】"RAG導入失敗3例"と処方箋 「入れても使われない」を終わらせる
ホワイトペーパーランキング PR
-
1
セキュリティソフトをすり抜ける標的型攻撃メール、不審メールの見破り方とは?
-
2
「NAS」「SAN」「DAS」は何が違う? いまさら聞けないストレージの基礎
-
3
属人化や仕様バグはなぜ起きる? AI時代に必須のドキュメント文化の作り方
-
4
商用利用の安全性を確保し大量のコンテンツを高速で生成する、AI活用の秘訣
-
5
財務を戦略的組織へ進化させるAI活用術、4つの主要な障壁と解消方法
-
6
中小企業必見、Microsoft 365でゼロトラストセキュリティを実現する方法
-
7
5分で分かる「AI駆動開発エージェント」 要件定義から設計・実装・テストまで
-
8
動画で知るランサムウェア被害企業のリアル、会計データが無事だった理由とは
-
9
年収2000万「クラウドセキュリティのプロ」になれる資格とは
-
10
NTTドコモが実践したクラウド統合監視 業務量2倍でも残業削減を実現できた理由
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー