JP2022105456A - 情報処理プログラム、情報処理方法及び情報処理装置 - Google Patents

情報処理プログラム、情報処理方法及び情報処理装置 Download PDF

Info

Publication number
JP2022105456A
JP2022105456A JP2021000278A JP2021000278A JP2022105456A JP 2022105456 A JP2022105456 A JP 2022105456A JP 2021000278 A JP2021000278 A JP 2021000278A JP 2021000278 A JP2021000278 A JP 2021000278A JP 2022105456 A JP2022105456 A JP 2022105456A
Authority
JP
Japan
Prior art keywords
information
management system
module
query
database management
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2021000278A
Other languages
English (en)
Inventor
良平 永浦
Ryohei Nagaura
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2021000278A priority Critical patent/JP2022105456A/ja
Publication of JP2022105456A publication Critical patent/JP2022105456A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】DBMSの管理コストを低減すること。【解決手段】情報収集部が、フィードリストカタログに基づいてDBMS1の情報を収集してフィードカタログに登録し、クエリの処理時間を収集してクエリカタログに登録する。そして、判定部が、クエリカタログの情報に基づいて、DBMS1に性能劣化が発生しているか否かを判定する。そして、判定部によりDBMS1に性能劣化が発生していると判定された場合に、対策実行部が、収集情報に基づいた対策を実行する。【選択図】図1

Description

本発明は、情報処理プログラム、情報処理方法及び情報処理装置に関する。
データベースマネジメントシステム(以下、DBMS:Data Base Management System)を継続的に適切に運用するために、データベース管理者によりDBMSの管理が行われる。データベース管理者は、DBMSの動作を定期的に監視し、DBMSの性能劣化を検知すると、DBMSの情報を収集して劣化の原因を特定する。そして、データベース管理者は、最も適切な対策を適切なタイミングで実施し、対策の効果を測定する。
図14は、データベース管理者によるDBMSの管理を説明するための図である。図14に示すように、DBMS91は、テーブル形式でデータを記憶し、クエリを受け付け、テーブルの検索及び操作を行い、応答を返す。データベース管理者は、DBMS91の動作を監視し、劣化を検知すると、試行錯誤を行いながら対策を実施する。
なお、DBMSに関する従来技術として、統計分析を通じてSQL(Structured Query Language)の改善案を提案するチューニング自動化システムがある。このチューニング自動化システムは、データベースを運営する運営サーバーとモニタリングサーバーで構成される。モニタリングサーバーは、クライアントと運営サーバー上のデータベース間に送受信されるネットワークストリームからSQLを含むトランザクション情報及び応答時間、処理結果を抽出して性能をモニタリングしつつ、性能低下の原因を分析して改善案を提供する。
また、従来技術として、クラウド・システムの性能低下を抑制して、適切な計算機リソースを提供する計算機システムがある。この計算機システムは、物理計算機の計算機リソースを仮想計算機に割り当てる仮想化部と、1以上の仮想計算機でサービスを提供する仮想計算機群を制御する管理計算機とを備える。管理計算機は、サービスを提供する仮想計算機群の性能を取得して、取得した仮想計算機群の性能と、予め設定されたサービスの性能条件とを比較し、比較結果に応じて、仮想計算機群で変更する計算機リソースを決定する。そして、管理計算機は、変更の対象となる計算機リソースに応じた仮想計算機でサービスを試行して、当該仮想計算機の性能を測定し、測定した性能がサービスの性能条件を満たす場合には変更を適用する。
また、従来技術として、トランザクション処理のロギングを行うためのシステムがある。このシステムは、ロギング・ポリシー・テーブルと、トランザクション処理の応答時間を自動的に監視するトランザクション処理監視部と、トランザクション処理のログを記録する記憶デバイスを備える。ロギング・ポリシー・テーブルは、サービス・レベル・アグリーメントに規定される要求応答時間に基づいてトランザクション処理のログのデータ量が変化するロギングを実行するように定義されたロギング・ポリシーを記録する。このシステムは、ロギング・ポリシー・テーブルに記憶されたロギング・ポリシーを選択し、選択されたロギング・ポリシーに従って、当該トランザクション処理のログを記録デバイスに記録させるロギング制御部をさらに備える。ロギング制御部は、トランザクション処理監視部によって監視されたトランザクション処理の応答時間に基づいて、ロギング・ポリシーを選択する。
特開2019-114241号公報 特開2016-103179号公報 国際公開第2007/074680号
DBMSの管理にはコストがかかるという問題がある。例えば、DBMSが受け付けたクエリごとに処理時間を監視すると、監視にコストがかかる。また、緩やかに性能が劣化した場合など、性能劣化の検知が困難な場合があり、検知にコストがかかる。また、性能劣化の原因を特定するためには、様々な種類の情報を取得する必要があり、取得した情報の管理にコストがかかる。また、対策の効果の測定にもコストがかかる。
本発明は、1つの側面では、DBMSの管理コストを低減することを目的とする。
1つの態様では、情報処理プログラムは、データベース管理システムの管理を行う。前記情報処理プログラムは、前記データベース管理システムが受け付けたクエリの情報と前記クエリの処理時間を含む前記データベース管理システムの情報とを収集情報として収集し、収集した前記クエリの処理時間に基づいて前記データベース管理システムの処理性能が低下しているか否かを判定し、低下していると判定した場合に、前記収集情報に基づいた対策を実行する処理をコンピュータに実行させる。
1つの側面では、本発明は、DBMSの管理コストを低減することができる。
図1は、実施例に係るDBMS管理を説明するための図である。 図2は、DBMSの機能構成を示す図である。 図3は、フィードリストカタログの一例を示す図である。 図4は、フィードカタログの一例を示す図である。 図5は、LRUによる情報管理を説明するための図である。 図6は、ペットカタログの一例を示す図である。 図7は、クエリ処理時間の収集例を示す図である。 図8は、クエリ処理時間の平均及び標準偏差の計算を説明するための図である。 図9は、クエリ処理時間の分布を示す図である。 図10Aは、モジュールの呼び出し例を示す第1の図である。 図10Bは、モジュールの呼び出し例を示す第2の図である。 図10Cは、モジュールの呼び出し例を示す第3の図である。 図11は、情報収集処理のフローを示すフローチャートである。 図12は、性能劣化に対する処理のフローを示すフローチャートである。 図13は、実施例に係る管理プログラムを実行するコンピュータのハードウェア構成を示す図である。 図14は、データベース管理者によるDBMSの管理を説明するための図である。
以下に、本願の開示する情報処理プログラム、情報処理方法及び情報処理装置の実施例を図面に基づいて詳細に説明する。なお、この実施例は開示の技術を限定するものではない。
まず、実施例に係るDBMS管理について説明する。図1は、実施例に係るDBMS管理を説明するための図である。図1に示すように、実施例に係るDBMS1は、複数のテーブル20aにデータを記憶し、複数のテーブル20aを用いてクエリを処理する。また、DBMS1は、管理部10を有する。なお、実施例に係るDBMS1は、情報処理を行う情報処理装置の一例である。
管理部10は、管理用テーブル10aを用いてDBMS1を管理する。具体的には、管理部10は、DBMS1の性能を監視し、性能劣化を検知すると、複数のモジュール2に必要な各種情報を提供し、各モジュール2から対策を受け取る。そして、管理部10は、対策を実行し、対策の有効性を検証する。
モジュール2は、管理部10から必要な情報を受け取って、性能劣化に対する対策を管理部10に応答する。モジュール2には、例えば、統計情報ずれ解決モジュール2、テーブル肥大化解決モジュール2、インデックス肥大化解決モジュール2、インデックス付与・削除モジュール2がある。
統計情報ずれ解決モジュール2は、テーブル20aの行数、テーブル20aのサイズなどの統計情報のずれを修正することで性能を向上させる対策を作成する。DBMS1は、統計情報に基づいてクエリの処理を行う。例えば、DBMS1は、統計情報に基づいてどのようにテーブル20aにアクセスするかを決める。したがって、統計情報がずれるとクエリの処理が遅くなる。また、統計情報は、データベースの利用にともなって変化する。そこで、統計情報ずれ解決モジュール2は、例えば「pg_class_per_hour」を受け取って、統計情報のずれを修正する対策を応答する。
テーブル肥大化解決モジュール2は、不要になったデータによりテーブル20aが肥大化した場合に、ガベージコレクションを行うことで性能を向上させる対策を作成する。DBMS1では、データの削除、更新が行われるごとに不要になるデータが発生するが、不要となったデータは削除されることなく、不要のマークが付与される。そこで、テーブル20aの肥大化を解決するモジュール2は、不要となったデータをガベージコレクションにより回収する対策を応答する。
インデックス肥大化解決モジュール2は、テーブル20aの検索に用いられるインデックスの情報に基づいてインデックスの肥大化具合が閾値以上である場合に、対策を応答する。インデックス肥大化解決モジュール2が必要とする情報の取得には、例えば、pgstattupleが用いられる。pgstattupleモジュールは、タプルレベルの統計情報を入手するための各種関数を提供する。対策は、通常はREINDEXであり、特にひどい場合はCLUSTERである。ここで、REINDEXはインデックスの再構築であり、CLUSTERはテーブル20aのクラスタ化である。
インデックス付与・削除モジュール2は、適切なインデックスを付与(例えば、create index)し、不適切なインデックスを削除する(例えば、drop index)ことを対策として応答する。
次に、DBMS1の機能構成について説明する。図2は、DBMS1の機能構成を示す図である。図2に示すように、DBMS1は、管理部10と、データ記憶部20と、クエリ処理部30とを有する。データ記憶部20は、複数のテーブル20aを記憶する。クエリ処理部30は、ユーザからクエリを受け付け、データ記憶部20を用いてクエリを処理し、ユーザに応答を返す。管理部10は、カタログ記憶部11と、収集情報登録部12と、情報収集部13と、判定部14と、協調部15と、対策実行部16と、検証部17とを有する。
カタログ記憶部11は、管理用テーブル10aをカタログとして記憶する。カタログには、フィードリストカタログ41、フィードカタログ42、ペットカタログ43及びクエリカタログ44がある。
フィードリストカタログ41は、モジュール2がどのような情報を個別収集情報として必要とし、必要な情報をどのようなときにどうやって収集すべきかを示す情報を保持する。フィードリストカタログ41は、モジュール2の追加及び削除時にデータベース管理者により更新される。管理部10は、DBMS1が起動されたときに、フィードリストカタログ41を読み込み、フィードリストカタログ41に基づいて情報を取集する。
図3は、フィードリストカタログ41の一例を示す図である。図3に示すように、フィードリストカタログ41は、モジュール名と情報名とWhenとHowとを対応付けた情報を保持する。モジュール名は、モジュール2を識別する名前である。情報名は、収集する情報を識別する名前である。Whenは、いつ情報を収集するかを示す。Howは、どのように情報を収集するかを示す。
例えば、「モジュール#1」で識別されるモジュール2は、「Query_execution_start_time」で識別される情報を必要とする。この情報は、関数「ExecutorStart()」が起動されたときに、関数「gettimeofday()」を呼び出すことで収集される。また、「モジュール#n」で識別されるモジュール2は、「Daily_snapshot」で識別される情報を必要とする。この情報は、24時間ごとにコマンド「pg_dump」を呼び出すことで収集される。また、「モジュール#n」で識別されるモジュール2は、「pg_class_per_hour」で識別される情報を必要とする。この情報は1時間ごとにコマンド「psql -c “select reltuples, relpages from pg_class;”」により収集されるデータベースの統計情報である。
フィードカタログ42は、フィードリストカタログ41に基づいて収集された情報を保持する。管理部10は、フィードカタログ42に含まれる情報をモジュール2に渡す。図4は、フィードカタログ42の一例を示す図である。図4に示すように、フィードカタログ42は、クエリ識別子と情報名と値とを対応付けた情報を保持する。クエリ識別子は、情報が収集されたクエリを識別する識別子である。情報名は、収集された情報を識別する名前である。値は、収集された情報である。例えば、「クエリ#1」で識別されるクエリについて「Query_execution_start_time」で識別される情報が収集され、収集された情報は「yyyy_mm_dd_hh_...」である。
フィードカタログ42の情報は、LRU(Least Recently Used)により管理される。図5は、LRUによる情報管理を説明するための図である。図5に示すように、クエリ#1について情報が収集され、フィードカタログ42への登録が行われる際、フィードカタログ42に空がない(over)と、クエリ#1の情報のうち最古の情報が破棄される。そして、収集された情報がフィードカタログ42に登録される。
ペットカタログ43は、モジュール2が対策の作成に必要とする情報を保持する。モジュール2は、ペットカタログ43に基づいて呼び出される。図6は、ペットカタログ43の一例を示す図である。図6に示すように、ペットカタログ43は、モジュール名に複数のフィードを対応付けた情報を保持する。モジュール名は、モジュール2を識別する名前である。フィードは、モジュール2が必要とする情報の名前である。例えば、「統計情報ずれ解決モジュール」で識別されるモジュール2は、対策の作成に「pg_class_per_hour」で識別される情報を必要とする。ペットカタログ43は、フィードリストカタログ41から作成される。
クエリカタログ44は、クエリ処理時間を保持する。ここで、クエリ処理時間は、クエリを受信してから応答するまでの時間である。定数部分だけが異なるクエリは同じクエリとして扱われる。クエリカタログ44に基づいて、DBMS1の性能劣化が判定される。図7は、クエリ処理時間の収集例を示す図である。図7に示すように、クエリカタログ44は、クエリ識別子と一般化クエリとtimeを対応付けた情報を保持する。
クエリ識別子は、一般化クエリを識別する識別子である。一般化クエリは、定数部分が「$1」で置き換えられたクエリである。timeは、クエリ処理時間である。例えば、「select name from tbl where id = 5432;」と「select name from tbl where id = 2785;」は、「id=定数」の定数部分だけが異なるので、一般化されると、識別子が「123」の同じ「select name from tbl where id = $1;」になる。
図2に戻って、収集情報登録部12は、データベース管理者の指示に基づいてフィードリストカタログ41に情報を登録する。データベース管理者は、モジュール2を追加した場合及び削除した場合に、収集情報登録部12を用いてフィードリストカタログ41を更新する。
情報収集部13は、フィードリストカタログ41に基づいてDBMS1の情報を収集し、フィードカタログ42に登録する。情報収集部13は、フィードカタログ42の情報を、LRUにより管理する。また、情報収集部13は、クエリ処理時間を収集し、クエリカタログ44に登録する。
判定部14は、クエリカタログ44の情報に基づいて、DBMS1に性能劣化が発生しているか否かを判定する。判定部14は、例えば、一般化クエリごとに直近k(kは正の整数)件のクエリ処理時間の平均及び標準偏差を計算する。図8は、クエリ処理時間の平均及び標準偏差の計算を説明するための図である。図8では、クエリ識別子が「123」であるクエリについてtimeの値が取り出され、平均及び標準偏差が計算される。
判定部14は、計算した平均及び標準偏差から、次のクエリの偏差値を計算し、クエリ処理時間の分布を作成する。図9は、クエリ処理時間の分布を示す図である。図9の横軸はクエリ処理時間の偏差値であり、縦軸はクエリ数である。
判定部14は、例えば、図9に示すように、クエリの偏差値がデータベース管理者により設定された閾値αを超えているか否かに基づいてDBMS1に性能劣化が発生しているか否かを判定する。あるいは、判定部14は、k件ごとの平均値の増加量が大きくなったか否かに基づいてDBMS1に性能劣化が発生しているか否かを判定する。
協調部15は、判定部14がDBMS1に性能劣化が発生していると判定した場合に、モジュール2と協調して性能劣化に対する対策を特定する。協調部15は、ペットカタログ43に基づいて、各モジュール2に渡す情報名を特定し、各モジュール2に、特定した情報名の情報をフィードカタログ42から取り出して渡す。そして、協調部15は、モジュール2から対策を受け取る。なお、モジュール2は、対策がない場合には、対策なしを応答する。
図10A~図10Cは、モジュール2の呼び出し例を示す図である。図10Aに示すように、協調部15は、ペットカタログ43に基づいて、統計情報ずれ解決モジュール2が「pg_class_per_hour」で識別される情報を必要とすると判断する(t1)。そして、協調部15は、図10Bに示すように、フィードカタログ42で情報名が「pg_class_per_hour」に対応する値を必要な情報として選択する(t2)。そして、協調部15は、図10Cに示すように、統計情報ずれ解決モジュール2を呼び出して、選択した情報を渡す(t3)。
対策実行部16は、協調部15から対策を受け取って実行する。協調部15が複数の対策を受け取った場合には、対策実行部16は、複数の対策を実行する。あるいは、対策実行部16は、複数の対策から1つ対策を選択して実行してもよい。データベースの管理者により対策の通知が指定されている場合には、対策実行部16は、データベースの管理者に対策を通知し、データベースの管理者から実行指示を受け取ると、対策を実行する。
検証部17は、対策の実行結果を検証する。検証部17は、例えば、フィードリストカタログ41に基づいて、対策の実行前後のクエリ処理時間の平均及び標準偏差を計算し、対策の実行前後のクエリ処理時間の平均及び標準偏差に有意性があるか否かを検定することで対策の実行結果を検証する。検証部17は、対策の効果が確認できなかった場合には、データベースの管理者にアラートを通知する。あるいは、検証部17は、対策の効果が確認できなかった場合には、DBMS1の動作を継続監視した後に対策の実行結果の検証を再度行ってもよい。
次に、管理部10による処理のフローについて図11及び図12を用いて説明する。図11は、情報収集処理のフローを示すフローチャートである。図11に示すように、管理部10は、DBMS1の起動時に、フィードリストカタログ41を読み込む(ステップS1)。例えば、管理部10は、フィードリストカタログ41を磁気ディスクからメモリに読み込む。
そして、管理部10は、フィードリストカタログ41に基づいて情報収集を行い(ステップS2)、フィードカタログ42の情報が満杯であるか否かを判定する(ステップS3)。そして、満杯である場合には、管理部10は、フィードカタログ42に、LRUにより空領域を作成する(ステップS4)。
そして、管理部10は、フィードカタログ42に収集した情報を登録する(ステップS5)。そして、管理部10は、DBMS1が停止するか否かを判定し(ステップS6)、停止しない場合には、ステップS2に戻り、停止する場合には、情報収集処理を終了する。なお、DBMS1の停止判定は、DBMS1のパフォーマンスの低下、所定のクエリ処理のパフォーマンスの低下、リードライトエラーまたは各種障害などの様々な停止要因を判定することができる。
このように、管理部10は、フィードリストカタログ41に基づいて情報を収集するので、モジュール2が必要とする情報を提供することができる。
図12は、性能劣化に対する処理のフローを示すフローチャートである。図12に示すように、管理部10は、クエリ処理が遅延しているか否かを判定し(ステップS11)、遅延していない場合には、ステップS11に戻る。一方、クエリ処理が遅延している場合には、管理部10は、ペットカタログ43に基づいて、各モジュール2が必要とする情報を各モジュール2に提供し(ステップS12)、各モジュール2から対策を取得する(ステップS13)。
そして、管理部10は、対策通知の指定があるか否かを判定し(ステップS14)、対策通知の指定がない場合には、対策を実行し(ステップS15)、実行した対策を検証する(ステップS16)。一方、対策通知の指定がある場合には、管理部10は、データベース管理者に対策を通知し(ステップS17)、データベース管理者からの実行指示があるか否かを判定する(ステップS18)。そして、データベース管理者からの実行指示がある場合には、管理部10は、対策を実行し(ステップS15)、実行した対策を検証する(ステップS16)。一方、データベース管理者からの実行指示がない場合には、管理部10は、性能劣化に対する処理を終了する。
このように、管理部10は、各モジュール2が必要とする情報を各モジュール2に提供し、各モジュール2から対策を取得するので、DBMS1の性能劣化に対応することができる。
上述してきたように、実施例では、情報収集部13が、フィードリストカタログ41に基づいてDBMS1の情報を収集してフィードカタログ42に登録し、クエリの処理時間を収集してクエリカタログ44に登録する。そして、判定部14が、クエリカタログ44の情報に基づいて、DBMS1に性能劣化が発生しているか否かを判定する。そして、判定部14によりDBMS1に性能劣化が発生していると判定された場合に、協調部15が、モジュール2に必要な情報を提供してモジュール2から性能劣化に対する対策を取得する。そして、対策実行部16が、協調部15が取得した対策を実行し、検証部7が、対策の実行前後の処理性能に基づいて対策の効果を検証する。したがって、管理部10は、DBMS1の管理コストを低減することができる。
また、実施例では、ペットカタログ43が、モジュール2とモジュール2が対策の作成に必要とする情報とを対応付けて保持する。そして、協調部15は、ペットカタログ43に基づいて、モジュール2に情報を提供する。したがって、モジュール2は、対策を作成することができる。
また、実施例では、フィードリストカタログ41は、モジュール2が対策の作成に必要とする情報をいつどのように収集するかを示す情報(取得するタイミング及び取得する方法)を保持し、情報収集部13は、フィードリストカタログ41に基づいて情報を収集する。したがって、管理部10は、モジュール2が対策の作成に必要とする情報を収集することができる。
また、実施例では、統計情報ずれ解決モジュール2が、DBMS1の統計情報のずれを修正する対策を作成して協調部15に応答する。したがって、管理部10は、統計情報のずれを修正してDBMS1の性能を向上することができる。
また、実施例では、テーブル肥大化解決モジュール2が、不要になったデータによりテーブル20aが肥大化した場合に、ガベージコレクションを行うことで性能を向上させる対策を作成する。したがって、管理部10は、ガベージコレクションを行うことでDBMS1の性能を向上することができる。
また、実施例では、インデックス肥大化解決モジュール2が、テーブル20aの検索に用いられるインデックスの情報に基づいてインデックスの肥大化具合が閾値以上である場合に、REINDEX又はCLUSTERを対策として応答する。したがって、管理部10は、REINDEX又はCLUSTERを行うことでDBMS1の性能を向上することができる。
また、実施例では、インデックス付与・削除モジュール2が、適切なインデックスを付与し、不適切なインデックスを削除することを対策として応答する。したがって、管理部10は、インデックス付与及び削除を行うことでDBMS1の性能を向上することができる。
なお、実施例では、管理部10について説明したが、管理部10が有する構成をソフトウェアによって実現することで、同様の機能を有する管理プログラムを得ることができる。そこで、管理プログラムを実行するコンピュータについて説明する。なお、管理プログラムは、情報処理を行う情報処理プログラムの一例である。
図13は、実施例に係る管理プログラムを実行するコンピュータのハードウェア構成を示す図である。図13に示すように、コンピュータ50は、メインメモリ51と、CPU(Central Processing Unit)52と、LAN(Local Area Network)インタフェース53と、HDD(Hard Disk Drive)54とを有する。また、コンピュータ50は、スーパーIO(Input Output)55と、DVI(Digital Visual Interface)56と、ODD(Optical Disk Drive)57とを有する。
メインメモリ51は、プログラムやプログラムの実行途中結果等を記憶するメモリである。CPU52は、メインメモリ51からプログラムを読み出して実行する中央処理装置である。CPU52は、メモリコントローラを有するチップセットを含む。
LANインタフェース53は、コンピュータ50をLAN経由で他のコンピュータに接続するためのインタフェースである。HDD54は、プログラムやデータを格納するディスク装置であり、スーパーIO55は、マウスやキーボード等の入力装置を接続するためのインタフェースである。DVI56は、液晶表示装置を接続するインタフェースであり、ODD57は、DVDの読み書きを行う装置である。
LANインタフェース53は、PCIエクスプレス(PCIe)によりCPU52に接続され、HDD54及びODD57は、SATA(Serial Advanced Technology Attachment)によりCPU52に接続される。スーパーIO55は、LPC(Low Pin Count)によりCPU52に接続される。
そして、コンピュータ50において実行される管理プログラムは、コンピュータ50により読み出し可能な記録媒体の一例であるDVDに記憶され、ODD57によってDVDから読み出されてコンピュータ50にインストールされる。あるいは、管理プログラムは、LANインタフェース53を介して接続された他のコンピュータシステムのデータベース等に記憶され、これらのデータベースから読み出されてコンピュータ50にインストールされる。そして、インストールされた管理プログラムは、HDD54に記憶され、メインメモリ51に読み出されてCPU52によって実行される。
1,91 DBMS
2 モジュール
10 管理部
10a 管理用テーブル
11 カタログ記憶部
12 収集情報登録部
13 情報収集部
14 判定部
15 協調部
16 対策実行部
17 検証部
20 データ記憶部
20a テーブル
30 クエリ処理部
41 フィードリストカタログ
42 フィードカタログ
43 ペットカタログ
44 クエリカタログ
50 コンピュータ
51 メインメモリ
52 CPU
53 LANインタフェース
54 HDD
55 スーパーIO
56 DVI
57 ODD

Claims (11)

  1. データベース管理システムの管理を行う情報処理プログラムであって、
    前記データベース管理システムが受け付けたクエリの情報と前記クエリの処理時間を含む前記データベース管理システムの情報とを収集情報として収集し、
    収集した前記クエリの処理時間に基づいて前記データベース管理システムの処理性能が低下しているか否かを判定し、
    低下していると判定した場合に、前記収集情報に基づいた対策を実行する
    処理をコンピュータに実行させることを特徴とする情報処理プログラム。
  2. 前記収集情報に基づいて実行する対策は、前記収集情報に基づいて前記処理性能の低下の対策を作成するモジュールに前記収集情報を送信し、送信した前記収集情報に応じて前記モジュールから受信する対策であることを特徴とする請求項1に記載の情報処理プログラム。
  3. 前記対策の実行前後の処理性能の比較結果に基づいて前記対策の効果を検証する処理をコンピュータに実行させることを特徴とする請求項1または2に記載の情報処理プログラム。
  4. 前記対策を実行する処理は、
    モジュールと前記収集情報のうち該モジュールが用いる個別収集情報とを対応付けてモジュールごとに記憶する記憶部を参照して、各モジュールに個別収集情報を提供して対策を取得し、
    各モジュールから取得した対策を実行することを特徴とする請求項1から3のいずれか一つに記載の情報処理プログラム。
  5. 前記記憶部は、前記個別収集情報を取得するタイミング及び取得する方法を示す取得実行情報を前記個別収集情報に対応付けて記憶し、
    前記収集する処理は、前記取得実行情報に基づいて前記データベース管理システムにおいて情報を収集することを特徴とする請求項4に記載の情報処理プログラム。
  6. 前記対策を実行する処理は、
    前記データベース管理システムの統計情報のずれを修正する対策を作成するモジュールから該対策を取得し、
    前記統計情報のずれを修正することを特徴とする請求項1から5のいずれか一つに記載の情報処理プログラム。
  7. 前記対策を実行する処理は、
    前記データベース管理システムが使用するテーブルに含まれる不要なデータを削除する対策を作成するモジュールから該対策を取得し、
    前記不要なデータを削除することを特徴とする請求項1~6のいずれか1つに記載の情報処理プログラム。
  8. 前記対策を実行取得する処理は、
    前記データベース管理システムが検索に使用するインデックスの肥大化に対してインデックスの再構築又は前記データベース管理システムが使用するテーブルのクラスタ化を行う対策を作成するモジュールから対策を取得し、
    前記インデックスの再構築又は前記テーブルのクラスタ化を行うことを特徴とする請求項1~7のいずれか1つに記載の情報処理プログラム。
  9. 前記対策を実行する処理は、
    前記データベース管理システムが検索に使用するインデックスを付与又は削除する対策を作成するモジュールから該対策を取得し、
    前記インデックスの付与又は削除を行うことを特徴とする請求項1~8のいずれか1つに記載の情報処理プログラム。
  10. データベース管理システムの管理を行う情報処理方法であって、
    前記データベース管理システムが受け付けたクエリの情報と前記クエリの処理時間を含む前記データベース管理システムの情報とを収集情報として収集し、
    収集した前記クエリの処理時間に基づいて前記データベース管理システムの処理性能が低下しているか否かを判定し、
    低下していると判定した場合に、前記収集情報に基づいた対策を実行する
    処理をコンピュータが実行することを特徴とする情報処理方法。
  11. データベース管理システムとして動作する情報処理装置であって、
    前記データベース管理システムが受け付けたクエリの情報と前記クエリの処理時間を含む前記データベース管理システムの情報とを収集情報として収集する情報収集部と、
    前記情報収集部により収集された前記クエリの処理時間に基づいて前記データベース管理システムの処理性能が低下しているか否かを判定する判定部と、
    前記判定部により前記処理性能が低下していると判定された場合に、前記収集情報に基づいた対策を実行する対策実行部と、
    を有することを特徴とする情報処理装置。
JP2021000278A 2021-01-04 2021-01-04 情報処理プログラム、情報処理方法及び情報処理装置 Pending JP2022105456A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021000278A JP2022105456A (ja) 2021-01-04 2021-01-04 情報処理プログラム、情報処理方法及び情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021000278A JP2022105456A (ja) 2021-01-04 2021-01-04 情報処理プログラム、情報処理方法及び情報処理装置

Publications (1)

Publication Number Publication Date
JP2022105456A true JP2022105456A (ja) 2022-07-14

Family

ID=82362609

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021000278A Pending JP2022105456A (ja) 2021-01-04 2021-01-04 情報処理プログラム、情報処理方法及び情報処理装置

Country Status (1)

Country Link
JP (1) JP2022105456A (ja)

Similar Documents

Publication Publication Date Title
US11416463B1 (en) Incremental feature development and workload capture in database systems
US8239369B2 (en) Method and apparatus for enhancing performance of database and environment thereof
US9674031B2 (en) Automated management of a distributed computing system
US6996576B2 (en) Database management system and method which automatically schedules and performs actions and monitors results
US20200050694A1 (en) Burst Performance of Database Queries According to Query Size
US11514317B2 (en) Machine learning based resource availability prediction
US20120144234A1 (en) Automatic error recovery mechanism for a database system
US20140188888A1 (en) Assigning shared catalogs to cache structures in a cluster computing system
US8452901B1 (en) Ordered kernel queue for multipathing events
US20120310921A1 (en) Identifying impact of installing a database patch
WO2007068667A1 (en) Method and apparatus for analyzing the effect of different execution parameters on the performance of a database query
US7660790B1 (en) Method and apparatus for utilizing a file change log
CN114490677A (zh) 数据分析系统中的数据同步
US20220129172A1 (en) Storage system configuration change tracking for root cause/troubleshooting
US20050097130A1 (en) Tracking space usage in a database
US20050278350A1 (en) Providing mappings between logical time values and real time values
JP2022105456A (ja) 情報処理プログラム、情報処理方法及び情報処理装置
CN110493326B (zh) 基于zookeeper管理集群配置文件的系统和方法
US20240069948A1 (en) Mapping common paths for applications
US11481305B2 (en) Method and apparatus for detecting a monitoring gap for an information handling system
JP7135780B2 (ja) ライブマイグレーション調整プログラム及びライブマイグレーション調整方法
US20240152521A1 (en) Database system observability data querying and access
Malcher et al. Automation and Troubleshooting
CN116610536A (zh) 业务系统模块处理耗时检测方法、装置、设备及存储介质
Belknap et al. Oracle Database 2 Day+ Performance Tuning Guide, 11g Release 2 (11.2) E10822-03