JP6093962B2 - Analysis system, computer system, and analysis method - Google Patents

Analysis system, computer system, and analysis method Download PDF

Info

Publication number
JP6093962B2
JP6093962B2 JP2015237190A JP2015237190A JP6093962B2 JP 6093962 B2 JP6093962 B2 JP 6093962B2 JP 2015237190 A JP2015237190 A JP 2015237190A JP 2015237190 A JP2015237190 A JP 2015237190A JP 6093962 B2 JP6093962 B2 JP 6093962B2
Authority
JP
Japan
Prior art keywords
information
processing
task
dbms
parallelism
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.)
Active
Application number
JP2015237190A
Other languages
Japanese (ja)
Other versions
JP2016105281A (en
Inventor
出射 英臣
英臣 出射
西川 記史
記史 西川
信男 河村
信男 河村
茂木 和彦
和彦 茂木
喜連川 優
優 喜連川
正史 豊田
正史 豊田
和生 合田
和生 合田
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.)
Hitachi Ltd
University of Tokyo NUC
Original Assignee
Hitachi Ltd
University of Tokyo NUC
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 Hitachi Ltd, University of Tokyo NUC filed Critical Hitachi Ltd
Priority to JP2015237190A priority Critical patent/JP6093962B2/en
Publication of JP2016105281A publication Critical patent/JP2016105281A/en
Application granted granted Critical
Publication of JP6093962B2 publication Critical patent/JP6093962B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

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

Description

本発明は、データベース(DB)に関わる挙動や性能等の解析を行う技術に関する。   The present invention relates to a technique for analyzing behavior, performance, and the like related to a database (DB).

現在、DBを基盤とする多くのアプリケーションが存在しており、DBに関する一連の処理・管理を行うDBMSは極めて重要なものとなっている。DBMSの特徴の一つは、多大な量のデータを扱うことである。そのため、DBMSが稼動する計算機システムの多くにおいては、DBMSが動作する計算機に大容量のディスクを持つ記憶装置を接続し、記憶装置上にDBのデータを記憶するシステム形態が一般的である。   Currently, there are many applications based on DBs, and DBMSs that perform a series of processing and management related to DBs are extremely important. One of the features of DBMS is that it handles a large amount of data. Therefore, in many computer systems in which a DBMS operates, a system configuration in which a storage device having a large-capacity disk is connected to a computer in which the DBMS operates and the DB data is stored on the storage device is common.

このシステム形態をとっている場合においては、記憶装置のディスク上にデータが記憶されるので、DBに関する処理(DB処理)を行う際にはディスクに対してアクセスが必然的に発生する。特に、ペタバイトクラスの超大規模DBにおいて、そのDBのデータから、ある特定のデータを探し出す処理には膨大な時間を要することになる。そこで、大量のデータの中から特定のデータを探し出す検索処理を高速化する技術として、特許文献1に開示されている技術が知られている。   In the case of adopting this system form, data is stored on the disk of the storage device, so that access to the disk inevitably occurs when performing DB processing (DB processing). In particular, in a very large DB of petabyte class, it takes a lot of time to search for certain specific data from the DB data. Thus, a technique disclosed in Patent Document 1 is known as a technique for speeding up a search process for searching for specific data from a large amount of data.

特許文献1に開示されている技術は、データの読み出しを行う都度、タスクを動的に作成し、タスクを並列に実行することでデータの読み出しを多重化する技術である。当該技術を用いたDBMSによると、タスクを発生順に実行する従来のDBMSと比較して、検索性能を飛躍的に向上することができる。   The technique disclosed in Patent Document 1 is a technique for dynamically creating a task each time data is read and multiplexing the data read by executing the tasks in parallel. According to a DBMS using this technology, search performance can be dramatically improved as compared with a conventional DBMS that executes tasks in the order of occurrence.

上記DBMSは、DB処理をタスクと呼ばれる処理単位に細分化し、高並列でタスクを実行してI/O(非同期I/O)を高多重で発行し、ストレージの性能を最大限に引き出すことで性能を向上する。従って、I/Oを含む処理(タスク)の並列度が性能を出す上で非常に重要となる。例えば、記憶装置の各HDDにどれだけのI/Oを同時に発行できるか、すなわち、各HDDにどれだけのタグ(計算機から記憶装置に発行したSCSIコマンド)を積めるかということが重要である。   The DBMS subdivides DB processing into processing units called tasks, executes tasks in high parallelism, issues I / O (asynchronous I / O) in a highly multiplexed manner, and maximizes storage performance. Improve performance. Therefore, the parallelism of processing (tasks) including I / O is very important for achieving performance. For example, it is important how many I / Os can be issued simultaneously to each HDD of the storage device, that is, how many tags (SCSI commands issued from the computer to the storage device) can be loaded on each HDD.

特開2007−34414号公報JP 2007-34414 A

処理(タスク)を高並列に実行し、高多重でI/Oを発行するDBMSにおいて、その処理挙動は大変複雑なものとなり、開発時の動作デバッグや、システム運用時の性能デバッグ等のための挙動・性能解析には膨大な時間を要する。   In a DBMS that executes processes (tasks) in parallel and issues I / O with high multiplex, the processing behavior becomes very complicated, and it can be used for operation debugging during development, performance debugging during system operation, etc. A huge amount of time is required for behavior and performance analysis.

本発明は、上記課題に鑑みなされたものであり、その目的は、タスクを並列に実行するDBMSの挙動、性能等の解析を容易且つ適切に行うことのできる技術を提供することにある。   The present invention has been made in view of the above problems, and an object of the present invention is to provide a technique capable of easily and appropriately analyzing the behavior, performance, and the like of a DBMS that executes tasks in parallel.

タスクを並列に実行するDBMSにおいては、並列に実行するタスク数である処理並列度が性能を出す上で非常に重要であり、この処理並列度は実行するクエリの内容やハードウェア資源等によって決まるものである。本発明は、上記目的を達成するため、この処理並列度に着目し、上記DBMSの挙動や性能解析を容易化するものである。   In a DBMS that executes tasks in parallel, the processing parallelism, which is the number of tasks executed in parallel, is very important for achieving performance, and this processing parallelism is determined by the content of the query to be executed, hardware resources, etc. Is. In order to achieve the above object, the present invention focuses on this processing parallelism and facilitates the behavior and performance analysis of the DBMS.

本発明の一観点に係る解析システムは、DBMSのDB処理における計算機システムの挙動を解析する。計算機システムは、記憶装置と計算機とを有する。記憶装置は、DBのデータを記憶する複数の記憶媒体を有する。DBMSは、プロセッサコアを有する計算機上で動作し、DBに対するクエリを実行するための複数のデータ読み出し要求を前記記憶装置に送信することが可能である。DBMSは、クエリの処理において、オペレーションを実行するためのタスクを動的に生成し、動的に生成されたタスクを実行して良い。具体的には、例えば、DBMSは、クエリの処理において、(a)オペレーションを実行するためのタスクを生成すること、(b)生成されたタスクを実行すること、(c)前記(b)で実行されたタスクに対応したN番目のオペレーションの実行結果に基づき(N+1)番目のオペレーションを実行する場合には、当該実行結果に基づくタスクを新たに生成すること(Nは1以上の整数)、及び、(d)その新たに生成したタスクについて前記(b)及び前記(c)を行うこと、を行って良い。前記(b)及び(d)において、DBMSは、2以上の実行可能なタスクが存在する場合には、それら2以上のタスクのうちの少なくとも2つのタスクを並列に実行するようになっていて良い。タスクの実行には、OSが管理するスレッド(プロセス)を用いて良く、プロセッサコアによって実行される複数のスレッドがタスクを実行し、それぞれのスレッドは複数のタスクを実行して良い。このDBMSの動作は、前述した特許文献1に開示の技術に従う動作であって良い。   An analysis system according to an aspect of the present invention analyzes a behavior of a computer system in DB processing of a DBMS. The computer system has a storage device and a computer. The storage device has a plurality of storage media for storing DB data. The DBMS operates on a computer having a processor core, and can transmit a plurality of data read requests for executing a query to the DB to the storage device. The DBMS may dynamically generate a task for executing an operation and execute the dynamically generated task in query processing. Specifically, for example, in the query processing, the DBMS (a) generates a task for executing the operation, (b) executes the generated task, (c) in (b) When the (N + 1) th operation is executed based on the execution result of the Nth operation corresponding to the executed task, a task based on the execution result is newly generated (N is an integer of 1 or more); And (d) performing (b) and (c) on the newly generated task. In the above (b) and (d), when there are two or more executable tasks, the DBMS may execute at least two of the two or more tasks in parallel. . The task may be executed by using a thread (process) managed by the OS. A plurality of threads executed by the processor core may execute the task, and each thread may execute a plurality of tasks. The operation of the DBMS may be an operation according to the technique disclosed in Patent Document 1 described above.

前記解析システムは、情報を記憶可能な記憶資源と、処理を実行するプロセッサとを含む。   The analysis system includes a storage resource capable of storing information and a processor that executes processing.

前記記憶資源は、前記DBMSにおける前記クエリに対する最大のスレッド数を特定可能なスレッド数特定情報と、前記計算機の前記記憶装置とのインタフェースにおける並列実行可能な第1入出力処理数を特定可能な第1処理数特定情報と、前記記憶装置における前記記憶媒体に対する並列実行可能な第2入出力処理数を特定可能な第2処理数特定情報と、各前記記憶媒体が並列実行可能な第3入出力処理数を特定可能な第3処理数特定情報とを記憶する。   The storage resource can specify the number of threads specifying information that can specify the maximum number of threads for the query in the DBMS and the number of first input / output processes that can be executed in parallel at the interface with the storage device of the computer. 1 process number specifying information, second process number specifying information capable of specifying the number of second input / output processes that can be executed in parallel with respect to the storage medium in the storage device, and third input / output capable of executing each storage medium in parallel The third process number specifying information that can specify the process number is stored.

前記プロセッサは、前記DBMSからクエリに関する索引キーのキー値に対応する選択行数を取得し、前記選択行数と、前記スレッド数特定情報により特定される最大のスレッド数と、前記第1処理数特定情報により特定される第1入出力処理数と、前記第2処理数特定情報により特定される第2入出力処理数と、前記第3処理数特定情報により特定される第3入出力処理数とに基づいて、前記クエリに対応する処理におけるモデルに基き予測した処理並列度である処理並列度モデル予測値を算出する。前記プロセッサは、前記クエリに対応する処理を実際に実行した際の前記記憶媒体に対する入出力イベントに関するイベント情報を前記記憶装置から取得し、前記イベント情報に基づいて、前記クエリに対応する処理を実際に実行した際の処理並列度である処理並列度実測値を算出し、前記処理並列度モデル予測値と、前記処理並列度実測値とに基づいた情報を表示させる制御を行う。   The processor acquires the number of selected rows corresponding to a key value of an index key related to a query from the DBMS, and the number of selected rows, the maximum number of threads specified by the thread number specifying information, and the first processing number The first input / output process number specified by the specific information, the second input / output process number specified by the second process number specifying information, and the third input / output process number specified by the third process number specifying information Based on the above, a process parallelism model predicted value that is a process parallelism predicted based on a model in the process corresponding to the query is calculated. The processor acquires event information related to an input / output event for the storage medium when the processing corresponding to the query is actually executed from the storage device, and performs the processing corresponding to the query based on the event information. The process parallelism actual measurement value which is the process parallelism at the time of execution is calculated, and control based on the process parallelism model predicted value and the process parallelism actual measurement value is displayed.

本発明に係る解析システムによると、タスクを並列に実行するDBMSの挙動、性能等の解析を容易且つ適切に行うことができる。   With the analysis system according to the present invention, it is possible to easily and appropriately analyze the behavior, performance, and the like of a DBMS that executes tasks in parallel.

図1は、実施例1に係る計算機システムの一例の構成図である。FIG. 1 is a configuration diagram of an example of a computer system according to the first embodiment. 図2Aは、実施例1に係るスキーマ情報の一例の構成図である。FIG. 2A is a configuration diagram of an example of schema information according to the first embodiment. 図2Bは、実施例1に係るDBファイル情報の一例の構成図である。FIG. 2B is a configuration diagram of an example of DB file information according to the first embodiment. 図2Cは、実施例1に係るDB統計情報の一例の構成図である。FIG. 2C is a configuration diagram of an example of DB statistical information according to the first embodiment. 図2Dは、実施例1に係るクエリプラン情報の一例の構成図である。FIG. 2D is a configuration diagram of an example of query plan information according to the first embodiment. 図2Eは、実施例1に係るDB処理情報の一例の構成図である。FIG. 2E is a configuration diagram of an example of DB processing information according to the first embodiment. 図3Aは、実施例1に係るOSマッピング情報の一例の構成図である。FIG. 3A is a configuration diagram of an example of OS mapping information according to the first embodiment. 図3Bは、実施例1に係るOS処理情報の一例の構成図である。FIG. 3B is a configuration diagram of an example of OS processing information according to the first embodiment. 図4Aは、実施例1に係るSTマッピング情報の一例の構成図である。FIG. 4A is a configuration diagram of an example of ST mapping information according to the first embodiment. 図4Bは、実施例1に係るST処理情報の一例の構成図である。FIG. 4B is a configuration diagram of an example of ST processing information according to the first embodiment. 図5Aは、実施例1に係るシステム情報の一例の構成図である。FIG. 5A is a configuration diagram of an example of system information according to the first embodiment. 図5Bは、実施例1に係るクエリ(SQL)例を示す図である。FIG. 5B is a diagram illustrating an example of a query (SQL) according to the first embodiment. 図5Cは、実施例1に係るクエリプランの一例を示す図である。FIG. 5C is a diagram illustrating an example of a query plan according to the first embodiment. 図6は、実施例1に係る解析・可視化処理のフローチャートである。FIG. 6 is a flowchart of the analysis / visualization process according to the first embodiment. 図7は、実施例1に係る処理並列度モデル予測値算出処理の第1のフローチャートである。FIG. 7 is a first flowchart of the process parallelism model predicted value calculation process according to the first embodiment. 図8は、実施例1に係る処理並列度モデル予測値算出処理の第2のフローチャートである。FIG. 8 is a second flowchart of the process parallelism model predicted value calculation process according to the first embodiment. 図9は、実施例1に係る処理並列度実測値算出処理のフローチャートである。FIG. 9 is a flowchart of the process parallelism actual value calculation process according to the first embodiment. 図10Aは、実施例1に係る処理並列度モデル予測値グラフの例を示す図である。FIG. 10A is a diagram illustrating an example of a process parallelism model predicted value graph according to the first embodiment. 図10Bは、実施例1に係る処理並列度モデル予測値及び処理並列度実測値のグラフの第1の例を示す図である。FIG. 10B is a diagram illustrating a first example of a graph of the process parallelism model predicted value and the process parallelism actual measurement value according to the first embodiment. 図10Cは、実施例1に係る処理並列度モデル予測値及び処理並列度実測値のグラフの第2の例を示す図である。FIG. 10C is a diagram illustrating a second example of the graph of the process parallelism model predicted value and the process parallelism actual measurement value according to the first embodiment. 図11Aは、実施例1に係る処理並列度モデル予測値のグラフを含む画面表示例を示す図である。FIG. 11A is a diagram illustrating a screen display example including a graph of the processing parallelism model predicted value according to the first embodiment. 図11Bは、実施例1に係る処理並列度モデル予測値及び処理並列度実測値のグラフを含む画面表示例を示す図である。FIG. 11B is a diagram illustrating a screen display example including a graph of the process parallelism model predicted value and the process parallelism actual measurement value according to the first embodiment. 図11Cは、実施例1に係る滞留数についてのグラフを含む画面表示例を示す図である。FIG. 11C is a diagram illustrating a screen display example including a graph regarding the staying number according to the first embodiment. 図12Aは、実施例1に係るHDDにおける処理並列度のモデル予測値と実測値との適合・不適合を示すグラフを含む画面表示例を示す図である。FIG. 12A is a diagram illustrating a screen display example including a graph indicating conformity / nonconformity between the model predicted value and the actual measurement value of the processing parallelism in the HDD according to the first embodiment. 図12Bは、実施例1に係る各HDDについての処理並列度のモデル予測値と実測値との適合・不適合を示す画面表示例を示す図である。FIG. 12B is a diagram illustrating a screen display example indicating conformity / nonconformity between the model predicted value of the processing parallelism and the actual measurement value for each HDD according to the first embodiment. 図12Cは、実施例1に係る処理並列度のモデル予測値と実測値との不適合率が高いHDDを順番に示す画面表示例を示す図である。FIG. 12C is a diagram illustrating a screen display example in which HDDs having a high mismatch rate between the model predicted value and the actual measurement value of the processing parallelism according to the first embodiment are sequentially illustrated. 図13Aは、実施例1に係るDBMSがアクセスしている表や索引毎のタスク数の統計値のグラフを含む画面表示例を示す図である。FIG. 13A is a diagram illustrating a screen display example including a table accessed by the DBMS according to the first embodiment and a graph of a statistical value of the number of tasks for each index. 図13Bは、実施例1に係るタスクの状態毎の統計値のグラフを含む第1の画面表示例を示す図である。FIG. 13B is a diagram illustrating a first screen display example including a graph of statistical values for each task state according to the first embodiment. 図13Cは、実施例1に係る各タスクの状態のグラフを含む第2の画面表示例を示す図である。FIG. 13C is a diagram illustrating a second screen display example including a graph of the state of each task according to the first embodiment. 図14は、実施例1に係る処理並列度モデル予測値及び処理並列度実測値のグラフの第3の例を示す図である。FIG. 14 is a diagram illustrating a third example of the graph of the process parallelism model predicted value and the process parallelism actual measurement value according to the first embodiment. 図15Aは、実施例1に係る論理ボリューム情報の一例の構成図である。FIG. 15A is a configuration diagram of an example of logical volume information according to the first embodiment. 図15Bは、実施例1に係るボリュームグループ情報の一例の構成図である。FIG. 15B is a configuration diagram of an example of volume group information according to the first embodiment. 図16は、実施例2に係るスキーマ群の一例を示す。FIG. 16 illustrates an example of a schema group according to the second embodiment. 図17Aは、実施例2に係るクエリの一例を示す。FIG. 17A illustrates an example of a query according to the second embodiment. 図17Bは、実施例2に係るクエリプランの一例を示す。FIG. 17B illustrates an example of a query plan according to the second embodiment. 図17Cは、実施例2に係るクエリ結果の一例を示す。FIG. 17C illustrates an example of a query result according to the second embodiment. 図18は、実施例2に係る索引IA及び関係表Aのデータ構造を示す。FIG. 18 shows the data structure of the index IA and the relation table A according to the second embodiment. 図19は、実施例2に係る索引IB及び関係表Bのデータ構造を示す。FIG. 19 shows the data structure of the index IB and the relational table B according to the second embodiment. 図20は、実施例2に係るデータ構造サマリテーブルの一例を示す。FIG. 20 illustrates an example of a data structure summary table according to the second embodiment. 図21は、従来のDBMSが逐次的にタスクを実行することを示すFIG. 21 shows that a conventional DBMS executes tasks sequentially. 図22は、従来のDBMSのDB処理情報の一例を示す。FIG. 22 shows an example of DB processing information of a conventional DBMS. 図23は、実施例2に係るDBMSが並列にタスクを実行することを示す。FIG. 23 illustrates that the DBMS according to the second embodiment executes tasks in parallel. 図24は、実施例2に係るDBMSのDB処理情報の一例を示す。FIG. 24 illustrates an example of DB processing information of the DBMS according to the second embodiment. 図25は、実施例2に係る可視化ウィンドウを示す。FIG. 25 illustrates a visualization window according to the second embodiment. 図26は、実施例2に係るタスク挙動可視化ツリーの一例を示す。FIG. 26 illustrates an example of a task behavior visualization tree according to the second embodiment. 図27は、実施例2に係るデータ構造挙動可視化ツリーの一例を示す。FIG. 27 illustrates an example of a data structure behavior visualization tree according to the second embodiment. 図28は、指定時刻が変更された後のタスク挙動可視化ツリーの一例を示す。FIG. 28 shows an example of a task behavior visualization tree after the designated time is changed. 図29は、指定時刻が変更された後のデータ構造可視化ツリーの一例を示す。FIG. 29 shows an example of the data structure visualization tree after the designated time is changed. 図30は、実施例2に係るタスク挙動可視化ツリーの一変形例としてのラディカルツリーの一例を示す。FIG. 30 illustrates an example of a radical tree as a modification of the task behavior visualization tree according to the second embodiment. 図31は、指定時刻が変更された後のラディカルツリーの一例を示す。FIG. 31 shows an example of a radical tree after the designated time has been changed.

本発明の幾つかの実施例について、図面を参照して説明する。なお、以下に説明する実施例は特許請求の範囲にかかる発明を限定するものではなく、また実施例の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。   Several embodiments of the present invention will be described with reference to the drawings. The embodiments described below do not limit the invention according to the claims, and all the elements and combinations described in the embodiments are essential for the solution of the invention. Is not limited.

以下の説明では、「プログラム」を主語として処理を説明する場合があるが、プログラムは、計算機、ストレージ装置等に含まれるプロセッサ(例えばCPU(Central Processing Unit))によって実行されることで、定められた処理を、適宜に記憶資源(例えばメモリ)及び/又は通信インターフェースデバイス(例えば通信ポート)等を用いながら行うため、処理の主語がプロセッサとされてもよい。プログラムを主語として説明された処理は、プロセッサ或いはそのプロセッサを有する装置(計算機、ストレージ装置等)が行う処理としても良い。また、コントローラは、プロセッサそれ自体であっても良いし、コントローラが行う処理の一部又は全部を行うハードウエア回路を含んでも良い。プログラムは、プログラムソースから各コントローラにインストールされても良い。プログラムソースは、例えば、プログラム配布計算機又は記憶メディアであっても良い。   In the following description, processing may be described using “program” as the subject, but the program is defined by being executed by a processor (for example, a CPU (Central Processing Unit)) included in a computer, a storage device, or the like. Therefore, the subject of the processing may be a processor, using a storage resource (for example, a memory) and / or a communication interface device (for example, a communication port) as appropriate. The processing described with the program as the subject may be processing performed by a processor or a device (computer, storage device, etc.) having the processor. The controller may be the processor itself or may include a hardware circuit that performs part or all of the processing performed by the controller. The program may be installed in each controller from a program source. The program source may be, for example, a program distribution computer or a storage medium.

また、計算機における入出力装置の代替としてシリアルインタフェースやイーサーネットインタフェース(イーサーネットは登録商標)を入出力装置とし、当該インタフェースにディスプレイ又はキーボード又はポインタデバイスを有する表示用装置を接続し、表示用情報を表示用装置に送信したり、入力用情報を表示用装置から受信することで、表示用装置で表示を行ったり、入力を受け付けることで入出力装置での入力及び表示を代替してもよい。   In addition, a serial interface or an Ethernet interface (Ethernet is a registered trademark) is used as an input / output device as an alternative to an input / output device in a computer, and a display device having a display, a keyboard, or a pointer device is connected to the interface. May be sent to the display device or input information may be received from the display device to display on the display device or accept input to replace the input and display on the input / output device. .

以後、計算機システムにおける各種情報を解析する一つ以上の計算機の集合を解析システムと呼ぶことがある。計算機が前記表示用情報を表示する場合は、当該計算機が解析システムである。また、計算機と表示用装置の組み合わせも解析システムである。また、解析処理の高速化や高信頼化のために複数の計算機で解析及び表示の処理を実現してもよく、この場合は当該複数の計算機(表示を表示用装置が行う場合は表示用装置も含め)が解析システムである。   Hereinafter, a set of one or more computers that analyze various types of information in the computer system may be referred to as an analysis system. When the computer displays the display information, the computer is an analysis system. A combination of a computer and a display device is also an analysis system. Further, analysis and display processing may be realized by a plurality of computers in order to increase the speed and reliability of the analysis processing. In this case, the plurality of computers (in the case where the display device performs the display, the display device) Analysis system).

図1は、実施例1に係る計算機システムの一例の構成図である。   FIG. 1 is a configuration diagram of an example of a computer system according to the first embodiment.

計算機システムは、計算機100と、記憶装置の一例としてのストレージ装置150と、解析システムの一例としての計算機180とを有する。図1において、計算機100、及びストレージ装置150はそれぞれ1台のみ記載しているが、どちらとも複数台でも良い。計算機100と、ストレージ装置150とは、通信ネットワーク140を介して接続される。ストレージ装置150は、DBのデータを格納する。計算機100は、ストレージ装置150に格納されているDBのデータを管理する。以下、計算機100を操作する人間のことを、便宜上「システム管理者」と言うが、計算機100は、システム管理者以外の者によって操作されても良い。   The computer system includes a computer 100, a storage device 150 as an example of a storage device, and a computer 180 as an example of an analysis system. In FIG. 1, only one computer 100 and one storage device 150 are shown, but a plurality of them may be used. The computer 100 and the storage device 150 are connected via a communication network 140. The storage device 150 stores DB data. The computer 100 manages DB data stored in the storage device 150. Hereinafter, a person who operates the computer 100 is referred to as a “system administrator” for convenience, but the computer 100 may be operated by a person other than the system administrator.

計算機100、ストレージ装置150、及び計算機180は、通信ネットワーク142を介して接続される。計算機180は、計算機100、ストレージ装置150から各種モニタ情報を取得して解析・可視化処理を行う。通信ネットワーク140、142は、ローカルエリアネットワーク(LAN)やワイドエリアネットワーク(WAN)等のネットワークであっても良く、また、ファイバチャネル等で構成されるネットワーク(ストレージエリアネットワーク:SAN)でも良い。   The computer 100, the storage device 150, and the computer 180 are connected via a communication network 142. The computer 180 acquires various types of monitor information from the computer 100 and the storage device 150 and performs analysis / visualization processing. The communication networks 140 and 142 may be a network such as a local area network (LAN) or a wide area network (WAN), or may be a network (storage area network: SAN) configured with a fiber channel or the like.

計算機100は、例えば一般的な計算機により実現することができる。例えば、計算機100は、CPU(制御プロセッサ)104、入出力装置106、記憶装置108、メモリ110、I/F(1)136、I/F(2)138を有する。CPU104、入出力装置106、記憶装置108、メモリ110、I/F(1)136、及びI/F(2)138は、内部バス102を介して接続されている。   The computer 100 can be realized by a general computer, for example. For example, the computer 100 includes a CPU (control processor) 104, an input / output device 106, a storage device 108, a memory 110, an I / F (1) 136, and an I / F (2) 138. The CPU 104, the input / output device 106, the storage device 108, the memory 110, the I / F (1) 136, and the I / F (2) 138 are connected via the internal bus 102.

I/F(1)136は、通信ネットワーク140とのインタフェースであり、I/F(2)138は、通信ネットワーク142とのインタフェースである。I/F(1)136は、例えば、HBA(Host Bus Adapter)である。HBAは、1以上のポートを有する。入出力装置106は、例えば、マウス、キーボード等の入力装置や、液晶ディスプレイの出力装置を含む。記憶装置108は、CPU104によって実行されるプログラム及びCPU104によって必要とされる情報等を記憶する。   The I / F (1) 136 is an interface with the communication network 140, and the I / F (2) 138 is an interface with the communication network 142. The I / F (1) 136 is, for example, an HBA (Host Bus Adapter). The HBA has one or more ports. The input / output device 106 includes, for example, an input device such as a mouse and a keyboard, and an output device for a liquid crystal display. The storage device 108 stores a program executed by the CPU 104, information required by the CPU 104, and the like.

メモリ110は、CPU104によって実行されるプログラム及びCPU104によって必要とされる情報等を記憶する。例えば、メモリ110は、オペレーティングシステム(以下、OS)112、DBMS120を記憶する。OS112は、OS112が管理するデバイスとストレージ装置150上の論理的な記憶領域とを対応付けるOSマッピング情報114と、DBMS120がクエリを実行した際のOS内の処理(処理のイベント)に関するOS処理情報116とを保持する。また、OS112には、OSマッピング情報114、及びOS処理情報116を外部に出力するOSモニタ情報出力部118を構成するためのプログラムが含まれる。OSモニタ情報出力部118は、CPU104が当該プログラムを実行することにより構成される。OSモニタ情報出力部118は、モニタ情報を計算機180に出力する際に、一旦ファイルに書き出して、その後に計算機180に転送しても良いし、計算機180に直接転送しても良い。   The memory 110 stores a program executed by the CPU 104, information required by the CPU 104, and the like. For example, the memory 110 stores an operating system (hereinafter referred to as OS) 112 and a DBMS 120. The OS 112 associates a device managed by the OS 112 with a logical storage area on the storage apparatus 150, and OS processing information 116 regarding processing (processing event) in the OS when the DBMS 120 executes a query. And hold. The OS 112 also includes a program for configuring the OS monitor information output unit 118 that outputs the OS mapping information 114 and the OS processing information 116 to the outside. The OS monitor information output unit 118 is configured by the CPU 104 executing the program. When the monitor information is output to the computer 180, the OS monitor information output unit 118 may once write it out to a file and then transfer it to the computer 180 or directly transfer it to the computer 180.

DBMS120は、DBの表や索引等のスキーマ(以下、オブジェクトとも記載する)に関するスキーマ情報122、DBのデータが格納されるファイルに関するDBファイル情報124、DBMS120内部の統計に関するDB統計情報126、DBMS120が実行するクエリに関するクエリプラン情報128、DBMS120がクエリを実行した際の処理に関するDB処理情報130を格納する。また、DBMS120には、上記各情報を外部に出力するDBモニタ情報出力部132を構成するためのプログラムが含まれる。DBモニタ情報出力部132は、CPU104が当該プログラムを実行することにより構成される。DBモニタ情報出力部132は、モニタ情報を計算機180に出力する際に、一旦ファイルに書き出して、その後に計算機180に転送しても良いし、計算機180に直接転送しても良い。   The DBMS 120 includes schema information 122 relating to schemas (hereinafter also referred to as objects) of DB tables and indexes, DB file information 124 relating to files storing DB data, DB statistical information 126 relating to statistics inside the DBMS 120, and DBMS 120 The query plan information 128 related to the query to be executed and the DB processing information 130 related to the processing when the DBMS 120 executes the query are stored. The DBMS 120 also includes a program for configuring the DB monitor information output unit 132 that outputs the above information to the outside. The DB monitor information output unit 132 is configured by the CPU 104 executing the program. When the monitor information is output to the computer 180, the DB monitor information output unit 132 may once write the file to a file and then transfer it to the computer 180 or directly transfer it to the computer 180.

CPU104は、メモリ110に格納されたプログラムを実行することにより、各種処理を実行する。例えば、CPU104は、DBMS120を実行することにより、アプリケーション(図示せず)からクエリを受付け、受付けたクエリのクエリプランを作成し、そのクエリプランに従って処理を実行する。また、CPU104は、この処理の中で、ストレージ装置150に格納しているDBのデータにアクセスする必要がある場合は、該当データのアクセス要求(I/O要求)を、OS112を介してストレージ装置150に発行する。   The CPU 104 executes various processes by executing programs stored in the memory 110. For example, the CPU 104 executes the DBMS 120 to accept a query from an application (not shown), creates a query plan for the accepted query, and executes processing according to the query plan. In addition, when it is necessary to access DB data stored in the storage apparatus 150 during this processing, the CPU 104 sends an access request (I / O request) for the corresponding data via the OS 112 to the storage apparatus. Issue to 150.

なお、図1においては、OS112及びDBMS120の両方がメモリ110に格納されている例を示しているが、OS112及びDBMS120の少なくとも一部が記憶装置108に格納されていても良い。   1 illustrates an example in which both the OS 112 and the DBMS 120 are stored in the memory 110, but at least a part of the OS 112 and the DBMS 120 may be stored in the storage device.

ストレージ装置150は、コントローラ154と、記憶媒体としての複数のディスク(HDD)178を有する。コントローラ154と、複数のディスク178とは、内部バス152によって接続される。ディスク178は、例えばハードディスクドライブ(HDD、磁気記憶装置)である。ストレージ装置150において、複数のディスク178をRAID(Redundant Array of Independent (or Inexpensive) Disks)構成にしても良い。また、ストレージ装置150においては、ディスク178に加えて、又は、ディスク178に代えて、他種の記憶メディアを有する記憶デバイス(例えばフラッシュメモリドライブ)を備えても良い。   The storage device 150 includes a controller 154 and a plurality of disks (HDD) 178 as storage media. The controller 154 and the plurality of disks 178 are connected by an internal bus 152. The disk 178 is, for example, a hard disk drive (HDD, magnetic storage device). In the storage apparatus 150, a plurality of disks 178 may be configured as a RAID (Redundant Array of Independent (or Inexpensive) Disks). In addition to the disk 178 or instead of the disk 178, the storage apparatus 150 may include a storage device (for example, a flash memory drive) having other types of storage media.

コントローラ154は、I/F(1)158、I/F(2)160、CPU(制御プロセッサ)162、キャッシュメモリ164、及びメモリ168を有する。I/F(1)158、I/F(2)160、CPU162、キャッシュメモリ164、及びメモリ168は、例えば内部バス156によって接続される。I/F(1)158は、通信ネットワーク140とのインタフェースであり、I/F(2)160は、通信ネットワーク142とのインタフェースである。キャッシュメモリ164は、必要なデータを記憶する。   The controller 154 includes an I / F (1) 158, an I / F (2) 160, a CPU (control processor) 162, a cache memory 164, and a memory 168. The I / F (1) 158, the I / F (2) 160, the CPU 162, the cache memory 164, and the memory 168 are connected by, for example, an internal bus 156. The I / F (1) 158 is an interface with the communication network 140, and the I / F (2) 160 is an interface with the communication network 142. The cache memory 164 stores necessary data.

メモリ168は、CPU162によって実行されるプログラム及びCPU162によって必要とされる情報等を記憶する。メモリ168は、ストレージ装置150を制御する制御プログラム170を記憶する。制御プログラム170は、ストレージ装置150の論理的な記憶領域(LU:Logical Unit)と、ディスク178が有する物理的な記憶領域とを対応付けるSTマッピング情報172と、DBMS120がクエリを実行した際のストレージ装置150内の処理(処理のイベント)に関するST処理情報174を保持する。制御プログラム170には、上記各情報を外部に出力するSTモニタ情報出力部176を構成するためのプログラムが含まれる。STモニタ情報出力部176は、CPU162が当該プログラムを実行することにより構成される。STモニタ情報出力部176は、ST処理情報174を計算機180に送信する際、一旦ファイルに書き出してクエリ終了後にまとめて計算機180に送信しても良いし、ST処理情報174にエントリが追加される度に直接計算機180に送信しても良い。CPU162は、メモリ168に格納されたプログラムを実行することにより、各種処理を実行する。   The memory 168 stores programs executed by the CPU 162, information required by the CPU 162, and the like. The memory 168 stores a control program 170 that controls the storage apparatus 150. The control program 170 includes ST mapping information 172 that associates a logical storage area (LU: Logical Unit) of the storage apparatus 150 with a physical storage area of the disk 178, and a storage apparatus when the DBMS 120 executes a query. The ST processing information 174 related to the processing (processing event) in 150 is held. The control program 170 includes a program for configuring the ST monitor information output unit 176 that outputs the above information to the outside. The ST monitor information output unit 176 is configured by the CPU 162 executing the program. When transmitting the ST processing information 174 to the computer 180, the ST monitor information output unit 176 may once write the file to a file and transmit it to the computer 180 collectively after the query ends, or an entry is added to the ST processing information 174. It may be transmitted directly to the computer 180 each time. The CPU 162 executes various processes by executing a program stored in the memory 168.

計算機180は、例えば一般的な計算機により実現することができる。例えば、計算機180は、I/F184、CPU(制御プロセッサ)186、入出力装置188、記憶装置190、メモリ192を有する。I/F184、CPU186、入出力装置188、記憶装置190、及びメモリ192は、内部バス182により接続される。ここで、記憶装置190及びメモリ192が記憶資源の一例である。   The computer 180 can be realized by, for example, a general computer. For example, the computer 180 includes an I / F 184, a CPU (control processor) 186, an input / output device 188, a storage device 190, and a memory 192. The I / F 184, the CPU 186, the input / output device 188, the storage device 190, and the memory 192 are connected by an internal bus 182. Here, the storage device 190 and the memory 192 are examples of storage resources.

I/F184は、通信ネットワーク142とのインタフェースである。入出力装置188は、例えば、マウス、キーボード等の入力装置や、ディスプレイ144が接続される。ディスプレイ144には、各種情報、例えば、解析・可視化プログラム195による実行結果が表示される。記憶装置190は、CPU186によって実行されるプログラム及びCPU186によって必要とされる情報等を記憶する。   The I / F 184 is an interface with the communication network 142. For example, an input device such as a mouse and a keyboard and a display 144 are connected to the input / output device 188. The display 144 displays various information, for example, execution results by the analysis / visualization program 195. The storage device 190 stores programs executed by the CPU 186, information required by the CPU 186, and the like.

メモリ192は、CPU186によって実行されるプログラム及びCPU186によって必要とされる情報等を記憶する。メモリ192は、当該計算機システムに関する情報であるシステム情報196、DBモニタ情報出力部132が出力した一連の情報であるDBモニタ情報197、OSモニタ情報出力部118が出力した一連の情報であるOSモニタ情報198、STモニタ情報出力部176が出力した一連の情報であるSTモニタ情報199、解析・可視化プログラム195を記憶する。システム情報196は、パラメータとしてシステム管理者が与えておいても良く、また、DBモニタ情報出力部132、OSモニタ情報出力部118、STモニタ情報出力部176から自動的に取得するようにしても良い。CPU186は、メモリ192に格納されたプログラムを実行することにより、各種処理を実行する。例えば、CPU186は、解析・可視化プログラム195を実行することにより、メモリ192に格納されたシステム情報196、各種モニタ情報等を用いて処理を実行する。   The memory 192 stores programs executed by the CPU 186, information required by the CPU 186, and the like. The memory 192 includes system information 196 that is information related to the computer system, DB monitor information 197 that is a series of information output by the DB monitor information output unit 132, and an OS monitor that is a series of information output by the OS monitor information output unit 118. Information 198, ST monitor information 199 which is a series of information output by the ST monitor information output unit 176, and an analysis / visualization program 195 are stored. The system information 196 may be given as a parameter by the system administrator, or may be automatically acquired from the DB monitor information output unit 132, the OS monitor information output unit 118, and the ST monitor information output unit 176. good. The CPU 186 executes various processes by executing programs stored in the memory 192. For example, the CPU 186 executes processing using the system information 196 and various monitor information stored in the memory 192 by executing the analysis / visualization program 195.

なお、図1においては、OS194及び解析・可視化プログラム195の両方がメモリ192に格納されている例を示しているが、OS194及び解析・可視化プログラム195の少なくとも一部が記憶装置190に格納されていても良い。   1 shows an example in which both the OS 194 and the analysis / visualization program 195 are stored in the memory 192. However, at least a part of the OS 194 and the analysis / visualization program 195 is stored in the storage device 190. May be.

続いて、前述した各種情報について詳細について説明する。   Next, details of the various information described above will be described.

図2Aは、実施例1に係るDBMSに格納されるスキーマ情報の一例の構成図である。   FIG. 2A is a configuration diagram of an example of schema information stored in the DBMS according to the first embodiment.

スキーマ情報122は、DBを構成する表や索引等のオブジェクトに関する情報であり、オブジェクト毎にエントリを有する。各エントリは、オブジェクトを識別するための識別子(Object ID)を登録するフィールド200、オブジェクトの名前を登録するフィールド202、オブジェクトの種別(表、索引)を登録するフィールド204、オブジェクトのデータ量を登録するフィールド206、オブジェクトの行数(オブジェクトの種別が表の場合のみ)を登録するフィールド208、オブジェクトのデータが格納されるDBファイルの識別子(File-ID)を登録するフィールド209を有する。スキーマ情報122は、DB構築時に作成され、オブジェクトの追加・削除時に更新される。   The schema information 122 is information related to objects such as tables and indexes constituting the DB, and has an entry for each object. Each entry includes a field 200 for registering an identifier (Object ID) for identifying an object, a field 202 for registering an object name, a field 204 for registering an object type (table, index), and a data amount of the object. , A field 208 for registering the number of object rows (only when the object type is a table), and a field 209 for registering an identifier (File-ID) of a DB file storing the object data. The schema information 122 is created when a DB is constructed, and updated when an object is added or deleted.

図2Bは、実施例1に係るDBMSに格納されるDBファイル情報の一例の構成図である。   FIG. 2B is a configuration diagram of an example of DB file information stored in the DBMS according to the first embodiment.

DBファイル情報124は、DBのデータが格納されるDBファイルに関する情報であり、DBファイル毎にエントリを有する。各エントリは、DBファイルを識別するための識別子(File-ID)を登録するフィールド210、DBファイルが作られたOS112上のデバイス名を登録するフィールド212を有する。DBファイル情報124は、DB構築時に作成され、DBファイルの追加・削除・変更時に更新される。   The DB file information 124 is information related to a DB file in which DB data is stored, and has an entry for each DB file. Each entry has a field 210 for registering an identifier (File-ID) for identifying a DB file, and a field 212 for registering a device name on the OS 112 where the DB file is created. The DB file information 124 is created when a DB is constructed, and updated when a DB file is added / deleted / changed.

図2Cは、実施例1に係るDBMSに格納されるDB統計情報の一例の構成図である。   FIG. 2C is a configuration diagram of an example of DB statistical information stored in the DBMS according to the first embodiment.

DB統計情報126は、DBMS120内部の統計に関する情報であり、シーケンシャルI/O性能を登録するフィールド220、ランダム入出力に係る時間を示す入出力時間情報の一例としてのランダムI/O性能を登録するフィールド222、索引のキー値に対する選択行数を登録するフィールド224、226を有する。索引のキー値に対する選択行数224は、索引のキー値毎にエントリを有する。DB統計情報126は、DBMS120がDB処理を実行した際に適宜更新される。尚、索引のキー値に対する選択行数に関する情報は、ヒストグラム等の情報を基に算出された情報でも良いし、外部から直接与えられたパラメータでも良い。また、シーケンシャルI/O性能220、及びランダムI/O性能222に登録する値は、ある一定期間の直近の過去のI/O応答時間平均値としても良い。   The DB statistical information 126 is information related to the internal statistics of the DBMS 120, and registers a field 220 for registering sequential I / O performance, and random I / O performance as an example of input / output time information indicating time related to random input / output. The field 222 includes fields 224 and 226 for registering the number of selected rows for the key value of the index. The number of selected rows 224 for the key value of the index has an entry for each key value of the index. The DB statistical information 126 is appropriately updated when the DBMS 120 executes DB processing. The information regarding the number of selected rows for the index key value may be information calculated based on information such as a histogram, or may be a parameter directly given from the outside. Further, the values registered in the sequential I / O performance 220 and the random I / O performance 222 may be the average values of the past past I / O response times in a certain period.

図2Dは、実施例1に係るDBMSに格納されるクエリプラン情報の一例の構成図である。   FIG. 2D is a configuration diagram of an example of query plan information stored in the DBMS according to the first embodiment.

クエリプラン情報128は、DBMS120が実行するクエリに関する情報であり、クエリ内のスキャン毎にエントリを有する。各エントリは、クエリを識別するための識別子(QID)を登録するフィールド230、クエリ内の処理ブロック(部分クエリ)を識別するための識別子(SubQID)を登録するフィールド232、クエリ内のスキャンを識別するための識別子(ScanID)を登録するフィールド234、クエリ内のスキャンの種別を登録するフィールド236、当該スキャンでアクセスするオブジェクトを識別する識別子を登録するフィールド238、当該スキャンが索引スキャン(Index Scan)の場合に検索条件となる索引キーを格納するフィールド240、検索条件となる索引キー値を登録するフィールド242を有する。クエリプラン情報128は、DBMS120がクエリを受付けた後に作成され、当該情報により対象のクエリがどの表・索引を、どのような検索条件(索引キー、キー値)で、どの順番でアクセスするかを特定することができる。   The query plan information 128 is information related to a query executed by the DBMS 120, and has an entry for each scan in the query. Each entry includes a field 230 for registering an identifier (QID) for identifying a query, a field 232 for registering an identifier (SubQID) for identifying a processing block (partial query) in the query, and a scan in the query. A field 234 for registering an identifier (ScanID) for registration, a field 236 for registering the type of scan in the query, a field 238 for registering an identifier for identifying an object to be accessed in the scan, and the scan is an index scan (Index Scan) In this case, a field 240 for storing an index key serving as a search condition and a field 242 for registering an index key value serving as a search condition are provided. The query plan information 128 is created after the DBMS 120 accepts the query. Based on the information, the query plan information 128 indicates which table / index the target query accesses in what order (index key, key value) and in what order. Can be identified.

図2Eは、実施例1に係るDBMSに格納されるDB処理情報の一例の構成図である。   FIG. 2E is a configuration diagram of an example of DB processing information stored in the DBMS according to the first embodiment.

DB処理情報130は、DBMS120がクエリを実行した際の処理に関する情報であり、処理において特定のイベント(例えば、非同期I/O発行イベント、非同期I/O刈取りイベント)を実行した際にエントリ(イベント情報)が作られる。各エントリは、エントリ番号を登録するフィールド250、イベントを実行した時間のタイムスタンプを登録するフィールド252、イベントを実行したスレッドを識別するための識別子(Thread ID)を登録するフィールド254、イベント種別を登録するフィールド256、イベントを実行したタスク(スレッドにおけるタスク)を識別するための識別子(Task ID)を登録するフィールド258、フィールド258に登録されている識別子から識別されるタスクの生成元タスク(親タスク)を識別するための識別子(Present Task ID)を登録するフィールド260、イベントの実行元となるクエリを識別するための識別子(QID)を登録するフィールド262、イベントの実行元となるクエリ内の処理ブロックを識別するための識別子(SubQID)を登録するフィールド264、アクセス先のオブジェクトを識別するための識別子(Object ID)を登録するフィールド266、アクセス先のDBファイルを識別するための識別子(File-ID)を登録するフィールド268、アクセスするデータのオフセットを登録するフィールド270、アクセスするデータのサイズを登録するフィールド272、当該イベントで発行したI/Oを識別するための識別子(IO-ID)を登録するフィールド274を有する。   The DB processing information 130 is information related to processing when the DBMS 120 executes a query, and an entry (event) when a specific event (for example, asynchronous I / O issue event, asynchronous I / O reaping event) is executed in the processing. Information). Each entry has a field 250 for registering an entry number, a field 252 for registering a time stamp of the time when the event was executed, a field 254 for registering an identifier (Thread ID) for identifying the thread that executed the event, and an event type. A field 256 to be registered, a field 258 for registering an identifier (Task ID) for identifying a task (task in a thread) that executed an event, and a task that generates a task identified from the identifier registered in the field 258 (parent) A field 260 for registering an identifier (Present Task ID) for identifying a task), a field 262 for registering an identifier (QID) for identifying an event execution source, and a query in the query for event execution Register an identifier (SubQID) to identify the processing block Field 264 for registering an identifier (Object ID) for identifying an access destination object, a field 268 for registering an identifier (File-ID) for identifying an access destination DB file, and the data to be accessed It has a field 270 for registering an offset, a field 272 for registering the size of data to be accessed, and a field 274 for registering an identifier (IO-ID) for identifying the I / O issued by the event.

図3Aは、実施例1に係るOSマッピング情報の一例の構成図である。   FIG. 3A is a configuration diagram of an example of OS mapping information according to the first embodiment.

OSマッピング情報114は、OS112で管理されるデバイスとストレージ装置150上の論理的な記憶領域(LU)とを対応付ける情報であり、デバイス毎にエントリを有する。各エントリは、デバイスを識別するためのデバイス名を登録するフィールド300、当該デバイスに対応する記憶領域(LU)を持つストレージ装置150を識別するための識別子(ST-ID)を登録するフィールド302、当該デバイスに対応する記憶領域(LU)を識別するための番号(LUN)を登録するフィールド304を有する。OSマッピング情報114は、システム構築時に作成され、システム構成に変更があった場合に更新される。   The OS mapping information 114 is information that associates a device managed by the OS 112 with a logical storage area (LU) on the storage apparatus 150, and has an entry for each device. Each entry includes a field 300 for registering a device name for identifying a device, a field 302 for registering an identifier (ST-ID) for identifying a storage apparatus 150 having a storage area (LU) corresponding to the device, It has a field 304 for registering a number (LUN) for identifying a storage area (LU) corresponding to the device. The OS mapping information 114 is created when the system is constructed, and is updated when the system configuration is changed.

図3Bは、実施例1に係るOS処理情報の一例の構成図である。   FIG. 3B is a configuration diagram of an example of OS processing information according to the first embodiment.

OS処理情報116は、DBMS120がクエリを実行した際のOS内の処理に関する情報であり、特定のイベント(例えば、非同期I/O受付け、I/O要求発行、I/O完了受付け等)を実行した際にエントリ(イベント情報)が作られる。各エントリは、エントリ番号を登録するフィールド310、イベントを実行した時間のタイムスタンプを登録するフィールド312、イベント種別を登録するフィールド314、当該イベントに対応するI/Oを識別するための識別子(IO-ID)を登録するフィールド316、アクセス先のストレージ装置150を識別するための識別子(ST-ID)を登録するフィールド318、アクセス先の論理的な記憶領域(LU)を識別するための番号(LUN)を登録するフィールド320、アクセスするデータの論理的なアドレス(LBA)を登録するフィールド322、アクセスするデータのサイズを登録するフィールド324を有する。   The OS processing information 116 is information relating to processing in the OS when the DBMS 120 executes a query, and executes a specific event (for example, asynchronous I / O acceptance, I / O request issuance, I / O completion acceptance, etc.). Entry (event information) is created. Each entry includes a field 310 for registering an entry number, a field 312 for registering a time stamp of the time when the event was executed, a field 314 for registering an event type, and an identifier (IO for identifying an I / O corresponding to the event -ID) field 316, an identifier (ST-ID) for registering the access destination storage apparatus 150, a field 318 for registering, and an access destination logical storage area (LU) number ( LUN), a field 322 for registering a logical address (LBA) of data to be accessed, and a field 324 for registering the size of the data to be accessed.

図4Aは、実施例1に係るSTマッピング情報の一例の構成図である。   FIG. 4A is a configuration diagram of an example of ST mapping information according to the first embodiment.

STマッピング情報172は、ストレージ装置150で管理される論理的な記憶領域(LU)と、ディスク178が有する物理的な記憶領域とを対応付ける情報であり、LU毎にエントリを有する。各エントリは、当該LUを持つストレージ装置150を識別するための識別子(ST-ID)を登録するフィールド400、当該LUを識別するための番号(LUN)を登録するフィールド402、当該LUを構成するディスク178の台数を登録するフィールド404、当該LUを構成するディスク178を識別するための識別子(HDD-ID)を登録するフィールド406を有する。STマッピング情報172は、システム構築時に作成され、システム構成に変更があった場合に更新される。尚、一つのLUを複数のディスク178で構成する場合、フィールド406が同一エントリに複数作られる。   The ST mapping information 172 is information that associates a logical storage area (LU) managed by the storage apparatus 150 with a physical storage area of the disk 178, and has an entry for each LU. Each entry constitutes a field 400 for registering an identifier (ST-ID) for identifying the storage apparatus 150 having the LU, a field 402 for registering a number (LUN) for identifying the LU, and the LU. It has a field 404 for registering the number of disks 178 and a field 406 for registering an identifier (HDD-ID) for identifying the disk 178 constituting the LU concerned. The ST mapping information 172 is created when the system is constructed, and is updated when the system configuration is changed. When one LU is composed of a plurality of disks 178, a plurality of fields 406 are created in the same entry.

図4Bは、実施例1に係るST処理情報の一例の構成図である。   FIG. 4B is a configuration diagram of an example of ST processing information according to the first embodiment.

ST処理情報174は、DBMS120がクエリを実行した際のストレージ装置150内の処理に関する情報であり、特定のイベント(例えば、I/O要求受付け、ディスクI/O開始、ディスクI/O終了、I/O応答発行等)を実行した際にエントリ(イベント情報)が作られる。各エントリは、エントリ番号を登録するフィールド410、イベントを実行した時間のタイムスタンプを登録するフィールド412、イベント種別を登録するフィールド414、当該イベントに対応するI/Oを識別するための識別子(IO-ID)を登録するフィールド416、I/O要求のサイズを登録するフィールド418、アクセス先の論理的な記憶領域(LU)を識別するための番号(LUN)を登録するフィールド420、アクセスするデータの論理的なアドレス(LBA)を登録するフィールド422、アクセスするデータが格納されているディスク178を識別するための識別子(HDD-ID)を登録するフィールド424、アクセスするデータの物理的なアドレス(PBA)を登録するフィールド426を有する。   The ST processing information 174 is information related to processing in the storage apparatus 150 when the DBMS 120 executes a query, and specific events (for example, I / O request acceptance, disk I / O start, disk I / O end, I An entry (event information) is created when an / O response issuance is executed. Each entry has a field 410 for registering an entry number, a field 412 for registering a time stamp of the time when the event was executed, a field 414 for registering an event type, and an identifier (IO) for identifying an I / O corresponding to the event. -ID) field 416, I / O request size field 418, access destination logical storage area (LU) identification number field (LUN) field 420, access data A field 422 for registering the logical address (LBA) of the data, a field 424 for registering an identifier (HDD-ID) for identifying the disk 178 storing the data to be accessed, and the physical address of the data to be accessed ( PBA) is registered.

図5Aは、実施例1に係るシステム情報の一例の構成図である。   FIG. 5A is a configuration diagram of an example of system information according to the first embodiment.

システム情報196は、当該計算機システムに関する情報であり、DB処理を実行するカーネルスレッド数を登録するフィールド500、DB処理を実行する1カーネルスレッド当りのタスク数を登録するフィールド502、HBA(Host Bus Adapter)のポート数を登録するフィールド504、HBA1ポート当りの同時I/O処理数を登録するフィールド506、通信ネットワーク140の帯域を登録するフィールド508、ストレージ装置150のコントローラ154の数を登録するフィールド510、1ストレージコントローラ当りの同時I/O処理数を登録するフィールド512、ディスク台数を登録するフィールド514、1ディスク当りの同時I/O処理数(タグ数)を登録するフィールド516を有する。ここで、カーネルスレッド数及び1カーネルスレッド当りのタスク数が、スレッド数特定情報に該当し、HBAのポート数及びHBA1ポート当りの同時I/O処理数が、第1処理数特定情報に該当し、コントローラ154の数及び1ストレージコントローラ当りの同時I/O処理数が、第2処理数特定情報に該当し1ディスク当りの同時I/O処理数(タグ数)が、第3処理数特定情報に該当する。   The system information 196 is information related to the computer system, and includes a field 500 for registering the number of kernel threads for executing DB processing, a field 502 for registering the number of tasks per kernel thread for executing DB processing, and an HBA (Host Bus Adapter). ) For registering the number of simultaneous I / O processes per HBA port, a field 508 for registering the bandwidth of the communication network 140, and a field 510 for registering the number of controllers 154 of the storage apparatus 150. It has a field 512 for registering the number of simultaneous I / O processes per storage controller, a field 514 for registering the number of disks, and a field 516 for registering the number of simultaneous I / O processes (tags) per disk. Here, the number of kernel threads and the number of tasks per kernel thread correspond to the thread number identification information, and the number of HBA ports and the number of simultaneous I / O processes per HBA port correspond to the first process number identification information. The number of controllers 154 and the number of simultaneous I / O processes per storage controller correspond to the second process number specifying information, and the number of simultaneous I / O processes per one disk (number of tags) is the third process number specifying information. It corresponds to.

次に、解析・可視化プログラム195が実行する処理について説明するにあたって、DBMS120に対してのクエリ(SQL)の一例及びそのクエリについてのクエリプランについて説明する。   Next, in describing the processing executed by the analysis / visualization program 195, an example of a query (SQL) for the DBMS 120 and a query plan for the query will be described.

図5Bは、実施例1に係るクエリ(SQL)例を示す図である。図5Cは、実施例1に係るクエリプランの一例を示す図である。   FIG. 5B is a diagram illustrating an example of a query (SQL) according to the first embodiment. FIG. 5C is a diagram illustrating an example of a query plan according to the first embodiment.

図5Bに示すクエリ520は、図5Cに示すように、“Select MAX(C2) From T2 Where C3=10”の部分がまず副クエリ534(処理ブロックB:部分クエリ)として実行され、その後、副クエリ534の実行結果を用いて、“Select C1 FromT1 Where C2=(副クエリ結果)”の部分の主クエリ532(処理ブロックA:部分クエリ)が索引を用いた結合処理方法によって実行されることになる。   In the query 520 shown in FIG. 5B, as shown in FIG. 5C, the portion “Select MAX (C2) From T2 Where C3 = 10” is first executed as the subquery 534 (processing block B: partial query), and then the subquery 520 is executed. Using the execution result of the query 534, the main query 532 (processing block A: partial query) of “Select C1 FromT1 Where C2 = (subquery result)” is executed by the join processing method using the index. Become.

クエリ520に対応する処理は、副クエリ534に対応する処理ブロックBと、主クエリ532に対応する処理ブロックAとの2つの処理ブロックで構成されることがわかる。なお、DBMS120を実行するCPU104は、クエリに基づいて、クエリプランを特定し、当該クエリプランをクエリプラン情報128に登録する。   It can be seen that the processing corresponding to the query 520 is composed of two processing blocks: a processing block B corresponding to the sub-query 534 and a processing block A corresponding to the main query 532. The CPU 104 that executes the DBMS 120 identifies a query plan based on the query and registers the query plan in the query plan information 128.

次に、解析・可視化プログラム195を実行する計算機180による処理を説明する。なお、当該処理の実行前においては、計算機システム構築、及びDB構築が済んでおり、且つ計算機100のDBMS120がクエリ520を受付け、各種処理を実行したものとする。したがって、スキーマ情報122、DBファイル情報124、DB統計情報126、DB処理情報128、OSマッピング情報114、OS処理情報116、STマッピング情報172、ST処理情報174、システム情報196は、作成されており、その際の情報が反映されている。   Next, processing by the computer 180 that executes the analysis / visualization program 195 will be described. Prior to the execution of the processing, it is assumed that the computer system construction and the DB construction have been completed, and the DBMS 120 of the computer 100 has accepted the query 520 and executed various processes. Therefore, schema information 122, DB file information 124, DB statistical information 126, DB processing information 128, OS mapping information 114, OS processing information 116, ST mapping information 172, ST processing information 174, and system information 196 are created. , The information at that time is reflected.

図6は、実施例1に係る解析・可視化処理のフローチャートである。なお、解析・可視化処理は、CPU186が解析・可視化プログラム195を実行することにより実現される処理である。また、並列に実行するタスク数である処理並列度は実行するクエリの内容やハードウェア資源等によって決まるものであり、実施例1では、最終的な処理並列度として、ストレージ装置150のディスク178のタグ数(以下、HDDタグ数)を想定している。   FIG. 6 is a flowchart of the analysis / visualization process according to the first embodiment. The analysis / visualization process is a process realized by the CPU 186 executing the analysis / visualization program 195. Further, the processing parallelism, which is the number of tasks executed in parallel, is determined by the contents of the query to be executed, hardware resources, and the like. In the first embodiment, the final processing parallelism of the disk 178 of the storage apparatus 150 is The number of tags (hereinafter referred to as the number of HDD tags) is assumed.

システム管理者により、解析・可視化プログラム195の起動指示がされると、計算機180が、解析・可視化処理を開始する(ステップ600)。尚、以下のステップの処理は、解析・可視化プログラム195が起動されると自動的に開始されるようにしても良いし、システム管理者の指示によって開始されるようにしても良い。   When the system administrator gives an instruction to start the analysis / visualization program 195, the computer 180 starts analysis / visualization processing (step 600). The processing in the following steps may be started automatically when the analysis / visualization program 195 is started, or may be started by an instruction from the system administrator.

解析・可視化プログラム195は、DBモニタ情報出力部132が出力したモニタ情報(スキーマ情報122、DBファイル情報124、DB統計情報126、クエリプラン情報128、及びDB処理情報130)をDBモニタ情報197として取得し、メモリ192上に読込む(ステップ602)。次に、OSモニタ情報出力部118が出力したモニタ情報(OSマッピング情報114、OS処理情報116)をOSモニタ情報198として取得し、メモリ192上に読込む(ステップ604)。次に、STモニタ情報出力部176が出力したモニタ情報(STマッピング情報172、ST処理情報174)をSTモニタ情報199として取得し、メモリ192上に読込む(ステップ606)。次に、システム情報196を記憶装置190からメモリ192上に読込む(ステップ608)。   The analysis / visualization program 195 uses the monitor information (schema information 122, DB file information 124, DB statistical information 126, query plan information 128, and DB processing information 130) output by the DB monitor information output unit 132 as DB monitor information 197. Obtained and read into the memory 192 (step 602). Next, the monitor information (OS mapping information 114, OS processing information 116) output by the OS monitor information output unit 118 is acquired as OS monitor information 198 and read into the memory 192 (step 604). Next, the monitor information (ST mapping information 172, ST processing information 174) output by the ST monitor information output unit 176 is acquired as ST monitor information 199 and read into the memory 192 (step 606). Next, the system information 196 is read from the storage device 190 onto the memory 192 (step 608).

続いて、解析・可視化プログラム195は、処理並列度モデル予測値算出処理700を実行し、当該計算機システムでクエリ520を実行した場合に、モデルに基づいて予測された処理挙動を示す数値として、処理並列度(HDDタグ数)モデル予測値を算出する(ステップ610)。次に、処理並列度実測値算出処理800を実行し、当該計算機システムでクエリ520を実行した場合の実際の処理挙動を示す値として、処理並列度(HDDタグ数)実測値を算出する(ステップ612)。   Subsequently, the analysis / visualization program 195 executes the process parallelism model predicted value calculation process 700, and when the query 520 is executed in the computer system, the process / process is calculated as a numerical value indicating the process behavior predicted based on the model. A parallelism (HDD tag number) model prediction value is calculated (step 610). Next, the process parallelism actual value calculation process 800 is executed, and the process parallelism (HDD tag number) actual value is calculated as a value indicating the actual processing behavior when the query 520 is executed in the computer system (step 612).

続いて、解析・可視化プログラム195は、ステップ610で算出した処理並列度モデル予測値と、ステップ612で算出した処理並列度実測値とに基づいたグラフをディスプレイ144上に表示させ(ステップ614)、システム管理者の指示により処理を終了する(ステップ616)。実施例1では、ディスプレイ144上に、縦軸に処理並列度モデル予測値及び処理並列度実測値を取り、横軸に時間を取ったグラフを表示する。このグラフによると、処理並列度モデル予測値と、処理並列度実測値とを容易に比較することができる。詳細なグラフについては、後述する。   Subsequently, the analysis / visualization program 195 causes the display 144 to display a graph based on the process parallelism model predicted value calculated in step 610 and the process parallelism actual value calculated in step 612 (step 614). The process ends according to the instruction from the system administrator (step 616). In the first embodiment, on the display 144, a graph indicating the processing parallelism model predicted value and the processing parallelism actual measurement value on the vertical axis and the time on the horizontal axis is displayed. According to this graph, it is possible to easily compare the processing parallelism model predicted value and the processing parallelism actual measurement value. A detailed graph will be described later.

図7は、実施例1に係る処理並列度モデル予測値算出処理の第1のフローチャートである。図8は、実施例1に係る処理並列度モデル予測値算出処理の第2のフローチャートである。   FIG. 7 is a first flowchart of the process parallelism model predicted value calculation process according to the first embodiment. FIG. 8 is a second flowchart of the process parallelism model predicted value calculation process according to the first embodiment.

解析・可視プログラム195は、DBモニタ情報197内のクエリプラン情報128を参照し、対象とするクエリの処理ブロック数を特定する(ステップ702)。例えば、クエリ520の場合は、処理ブロック数は2となる。次に、特定した各処理ブロックに関して、ステップ708からステップ742を実行する。全ての処理ブロックに対して処理並列度モデル予測値の算出を行ったか判定し(ステップ704)、全ての処理ブロックの処理並列度モデル予測値の算出を行った場合(ステップ704でYes)は、処理並列度モデル予測値算出処理を終了する(ステップ706)。   The analysis / visible program 195 refers to the query plan information 128 in the DB monitor information 197 and specifies the number of processing blocks of the target query (step 702). For example, in the case of the query 520, the number of processing blocks is 2. Next, step 708 to step 742 are executed for each identified processing block. It is determined whether or not the processing parallelism model prediction values have been calculated for all the processing blocks (step 704), and when the processing parallelism model prediction values for all the processing blocks have been calculated (Yes in step 704), The process parallelism model predicted value calculation process is terminated (step 706).

解析・可視化プログラム195は、DBモニタ情報197内のクエリプラン情報128を参照して、当該処理ブロックのスキャンタイプを特定し(ステップ708)、スキャンタイプが表スキャン(Table Scan)か索引スキャン(Index Scan)かを判定する(ステップ710)。尚、表スキャンは、表だけを参照して条件に合致するレコードを取得するスキャンであり、索引スキャンは、索引を使って条件に合致する表のレコードを取得するスキャンである。判定の結果、当該処理ブロックのスキャンタイプが表スキャンの場合(ステップ710でNo)は、処理並列度に1を設定する(ステップ712)。表スキャンも並列に処理することは可能であるが、その並列度は本発明が想定している処理並列度よりも遥かに小さいためここでは1としている。一方、当該処理ブロックのスキャンタイプが索引スキャンの場合(ステップ710でYes)は、DBモニタ情報197内のDB統計情報126を参照して、当該処理ブロックのスキャンの索引キーとキー値に対応するキー値選択行数を取得し、取得した値を処理並列度に設定する(ステップ714)。   The analysis / visualization program 195 identifies the scan type of the processing block with reference to the query plan information 128 in the DB monitor information 197 (step 708) and determines whether the scan type is a table scan (Table Scan) or an index scan (Index Scan) (step 710). The table scan is a scan for acquiring records that meet the conditions by referring to only the table, and the index scan is a scan for acquiring records of the tables that match the conditions using the index. As a result of the determination, when the scan type of the processing block is a table scan (No in Step 710), 1 is set as the processing parallelism (Step 712). The table scan can also be processed in parallel, but the parallelism is much smaller than the processing parallelism assumed by the present invention, and is set to 1 here. On the other hand, when the scan type of the processing block is an index scan (Yes in step 710), the DB statistical information 126 in the DB monitor information 197 is referred to and corresponds to the index key and key value of the scan of the processing block. The number of key value selection rows is acquired, and the acquired value is set as the processing parallelism (step 714).

例えば、クエリ520の処理ブロックBを対象にしている場合には、処理ブロックBのスキャンタイプは索引スキャン、索引キーはI2.C3、キー値はC3=10であることがクエリプラン情報128から特定でき、I2.C3=10のキー値選択行数が100,000であることがDB統計情報126から特定することができる。従って、ステップ714終了時点の処理ブロックBの処理並列度は、100,000と設定される。また、クエリ520の処理ブロックAを対象にしている場合には、処理ブロックAのスキャンタイプは索引スキャン、索引キーはI1.C2、キー値はC2=Max(C2)であることがクエリプラン情報128から特定でき、I1.C2=Max(C2)のキー値選択行数が100であることがDB統計情報126から特定することができる。従って、ステップ714終了時点の処理ブロックAの処理並列度は、100と設定される。尚、今回の例では、1処理ブロック=1スキャンとなっているが、処理並列度が変わらないのであれば、1処理ブロックに複数のスキャンが入っていても良い。   For example, when processing block B of query 520 is targeted, the scan type of processing block B is index scan, and the index key is I2. C3, it can be identified from the query plan information 128 that the key value is C3 = 10, and I2. It can be identified from the DB statistical information 126 that the key value selection row number of C3 = 10 is 100,000. Therefore, the processing parallelism of processing block B at the end of step 714 is set to 100,000. When processing block A of query 520 is targeted, the scan type of processing block A is index scan, and the index key is I1. C2, it can be specified from the query plan information 128 that the key value is C2 = Max (C2), and I1. It can be identified from the DB statistical information 126 that the key value selection row number of C2 = Max (C2) is 100. Therefore, the processing parallelism of processing block A at the end of step 714 is set to 100. In this example, one processing block is equal to one scan, but a plurality of scans may be included in one processing block as long as the processing parallelism does not change.

続いて、解析・可視化プログラム195は、システム情報196を参照し、カーネルスレッド数と、1カーネルスレッド当りのタスク数とを乗じて、DBMS120の最大並列度を算出する(ステップ716)。図5Aに示すシステム情報196の場合には、カーネルスレッド数が64であり、1カーネルスレッド当りのタスク数が1,000であるので、DBMS120の最大並列度は64,000となる。尚、ここで算出している最大並列度は、1タスク当りに同時に発行できるI/Oが1であることを前提としている。1タスク当り複数のI/Oを同時に発行する場合では、カーネルスレッド数と1カーネルスレッド数当りのタスク数と1タスク当りに発行する同時I/O数を乗じた結果が最大並列度となる。   Subsequently, the analysis / visualization program 195 refers to the system information 196 and multiplies the number of kernel threads and the number of tasks per kernel thread to calculate the maximum parallelism of the DBMS 120 (step 716). In the case of the system information 196 shown in FIG. 5A, since the number of kernel threads is 64 and the number of tasks per kernel thread is 1,000, the maximum parallelism of the DBMS 120 is 64,000. The maximum degree of parallelism calculated here is based on the premise that the number of I / Os that can be issued simultaneously per task is 1. In the case of simultaneously issuing a plurality of I / Os per task, the result obtained by multiplying the number of kernel threads, the number of tasks per number of kernel threads, and the number of simultaneous I / Os issued per task is the maximum degree of parallelism.

次に、解析・可視化プログラム195は、この時点の処理並列度と、ステップ716で算出したDBMS120の最大並列度を比較し(ステップ718)、DBMS120の最大並列度の方が低い場合(ステップ718でYes)は、処理並列度にDBMS120の最大並列度を設定する(ステップ720)。例えば、クエリ520の処理ブロックBが対象の場合には、この時点の処理並列度(ステップ714で設定した処理ブロックBの処理並列度)は100,000であり、ステップ716で算出したDBMS120の最大並列度は64,000であり、DBMS120の最大並列度の方が小さいため、処理ブロックBの処理並列度に64,000を設定する。また、クエリ520の処理ブロックAが対象の場合には、この時点の処理並列度(ステップ714で設定した処理並列度)は100であり、DBMS120の最大並列度64,000の方が大きいため、処理ブロックAの処理並列度は100のままとなる。尚、この時点の処理ブロック毎の処理並列度は、DBMS120の最大スレッド数(カーネルスレッド数と1カーネルスレッド当りのタスク数を乗じた値)に、外部から与えられた定数を乗じた結果としても良い。   Next, the analysis / visualization program 195 compares the processing parallelism at this time with the maximum parallelism of the DBMS 120 calculated in step 716 (step 718), and if the maximum parallelism of the DBMS 120 is lower (in step 718) Yes) sets the maximum parallelism of the DBMS 120 as the processing parallelism (step 720). For example, when the processing block B of the query 520 is the target, the processing parallelism at this time (the processing parallelism of the processing block B set in step 714) is 100,000, and the DBMS 120 calculated in step 716 is the maximum. Since the parallel degree is 64,000 and the maximum parallel degree of the DBMS 120 is smaller, 64,000 is set as the processing parallel degree of the processing block B. Further, when the processing block A of the query 520 is the target, the processing parallelism (processing parallelism set in step 714) at this time is 100, and the maximum parallelism 64,000 of the DBMS 120 is larger. The processing parallelism of the processing block A remains 100. Note that the processing parallelism for each processing block at this time can be obtained by multiplying the maximum number of threads of the DBMS 120 (a value obtained by multiplying the number of kernel threads and the number of tasks per kernel thread) by a constant given from the outside. good.

続いて、解析・可視化プログラム195は、システム情報196を参照し、HBAポート数とHBA1ポート数当りの同時I/O処理数とを乗じて、HBA同時I/O処理数(第1入出力処理数)を算出する(ステップ722)。図5Aに示すシステム情報196の場合には、HBAポート数が6であり、HBA1ポート当りの同時I/O処理数が256であるので、HBA同時I/O処理数は1,536となる。   Subsequently, the analysis / visualization program 195 refers to the system information 196 and multiplies the number of HBA ports by the number of simultaneous I / O processes per number of HBA ports to obtain the number of HBA simultaneous I / O processes (first input / output process). Number) is calculated (step 722). In the case of the system information 196 shown in FIG. 5A, the number of HBA ports is 6, and the number of simultaneous I / O processes per HBA port is 256. Therefore, the number of HBA simultaneous I / O processes is 1,536.

次に、この時点の処理並列度と、ステップ722で算出したHBA同時I/O処理数とを比較し(ステップ724)、HBA同時I/O処理数の方が低い場合(ステップ724でYes)は、処理並列度にHBA同時I/O処理数を設定する(ステップ726)。クエリ520の処理ブロックBを対象としている場合には、この時点の処理ブロックBの処理並列度は64,000であり、ステップ722で算出したHBA同時I/O処理数は1,536であり、HBA同時I/O処理数の方が小さいため、処理ブロックBの処理並列度に1,536を設定する。また、クエリ520の処理ブロックAを対象としている場合には、この時点の処理並列度は100であり、HBA同時I/O処理数1,536の方が大きいため、処理ブロックAの処理並列度は100のままとなる。   Next, the processing parallelism at this time is compared with the HBA simultaneous I / O processing number calculated in step 722 (step 724), and when the HBA simultaneous I / O processing number is lower (Yes in step 724). Sets the number of HBA simultaneous I / O processes in the processing parallelism (step 726). When processing block B of query 520 is targeted, the processing parallelism of processing block B at this point is 64,000, and the number of HBA simultaneous I / O processes calculated in step 722 is 1,536. Since the number of HBA simultaneous I / O processes is smaller, 1,536 is set to the processing parallelism of processing block B. When processing block A of query 520 is targeted, the processing parallelism at this point is 100, and the number of HBA simultaneous I / O processes 1,536 is larger, so the processing parallelism of processing block A Remains 100.

続いて、解析・可視化プログラム195は、システム情報196を参照し、ストレージ装置150のコントローラ数と1コントローラ当りの同時I/O処理数とを乗じて、コントローラ同時I/O処理数(第2入出力処理数)を算出する(ステップ728)。図5Aに示すシステム情報196の場合には、ストレージ装置150のコントローラ数が2であり、1コントローラ当りの同時I/O処理数が1,000であるので、コントローラ同時I/O処理数は2,000となる。   Subsequently, the analysis / visualization program 195 refers to the system information 196 and multiplies the number of controllers of the storage apparatus 150 by the number of simultaneous I / O processes per controller to obtain the number of controller simultaneous I / O processes (second input). The number of output processes is calculated (step 728). In the case of the system information 196 shown in FIG. 5A, the number of controllers of the storage apparatus 150 is 2, and the number of simultaneous I / O processes per controller is 1,000. , 000.

次に、解析・可視化プログラム195は、この時点の処理並列度と、ステップ728で算出したコントローラ同時I/O処理数とを比較し(ステップ730)、コントローラ同時I/O処理数の方が低い場合(ステップ730でYes)は、処理並列度にコントローラ同時I/O処理数を設定する(ステップ732)。一方、コントローラ同時I/O処理数が同じか又は高い場合(ステップ730でNo)は、処理並列度は、そのままとなる。   Next, the analysis / visualization program 195 compares the processing parallelism at this time with the controller simultaneous I / O processing number calculated in step 728 (step 730), and the controller simultaneous I / O processing number is lower. In the case (Yes in Step 730), the controller simultaneous I / O processing number is set as the processing parallelism (Step 732). On the other hand, when the number of simultaneous controller I / O processes is the same or high (No in step 730), the processing parallelism remains unchanged.

例えば、クエリ520の処理ブロックBが対象の場合には、この時点の処理ブロックBの処理並列度は1,536であり、ステップ728で算出したコントローラ同時I/O処理数は2,000であり、コントローラ同時I/O処理数の方が大きいため、処理ブロックBの処理並列度は1,536のままとなる。また、クエリ520の処理ブロックAが対象の場合には、この時点の処理並列度は100であり、コントローラ同時I/O処理数2,000の方が大きいため、処理ブロックAの並列度は100のままとなる。   For example, if the processing block B of the query 520 is the target, the processing parallelism of the processing block B at this time is 1,536, and the controller simultaneous I / O processing number calculated in step 728 is 2,000. Since the number of controller simultaneous I / O processes is larger, the processing parallelism of the processing block B remains 1,536. When the processing block A of the query 520 is the target, the processing parallelism at this point is 100, and the parallelism of the processing block A is 100 because the controller simultaneous I / O processing number 2,000 is larger. Will remain.

続いて、解析・可視化プログラム195は、DBモニタ情報197のスキーマ情報122及びDBファイル情報124、OSモニタ情報198のOSマッピング情報114、STモニタ情報199のSTマッピング情報172を参照して、当該処理ブロックがアクセスするオブジェクトのデータを格納しているディスク178のHDD台数を割出し(ステップ734)、この時点の処理並列度を、割り出したHDD台数で割って、1HDD当たりの処理並列度を算出する(ステップ736)。クエリ520の処理ブロックBを対象としている場合には、処理ブロックBでアクセスするオブジェクトは“T2”(クエリプラン情報128のアクセス先Object ID238)であり、“T2”が格納されているDBファイルは“FILE2”(スキーマ情報122のFile−ID209)であり、“FILE2”に対応するデバイスは“Sde2”(DBファイル情報124のデバイス名212)であり、“Sde2”のデバイスに対応する論理的な記憶領域は“ST1”の“Lun2”(OSマッピング情報114のST−ID302及びLUN304)であり、“ST1”の“Lun2”を構成するHDD台数は10台(STマッピング情報172のHDD台数404)であり、この時点の処理ブロックBの処理並列度は1,536であり、処理ブロックBの1HDD当たりの処理並列度は1,536/10≒153となる。   Subsequently, the analysis / visualization program 195 refers to the schema information 122 and DB file information 124 of the DB monitor information 197, the OS mapping information 114 of the OS monitor information 198, and the ST mapping information 172 of the ST monitor information 199, The number of HDDs of the disk 178 storing the data of the object accessed by the block is calculated (step 734), and the processing parallelism at this time is divided by the calculated number of HDDs to calculate the processing parallelism per HDD. (Step 736). When processing block B of query 520 is targeted, the object accessed in processing block B is “T2” (access destination Object ID 238 of query plan information 128), and the DB file storing “T2” is “FILE2” (File-ID 209 of the schema information 122), the device corresponding to “FILE2” is “Sde2” (device name 212 of the DB file information 124), and the logical corresponding to the device of “Sde2” The storage area is “Lun2” of “ST1” (ST-ID 302 and LUN 304 of OS mapping information 114), and the number of HDDs constituting “Lun2” of “ST1” is 10 (the number of HDDs 404 of ST mapping information 172). The processing parallelism of processing block B at this time is 1,536. Processing parallelism per 1HDD processing block B is 1,536 / 10 ≒ 153.

また、クエリ520の処理ブロックAを対象としている場合には、アクセスするオブジェクトは“T1”(クエリプラン情報128のアクセス先Object ID238)であり、“T1”が格納されているDBファイルは“FILE1”(スキーマ情報122のFile−ID209)であり、“FILE1”に対応するデバイスは“Sdd1”(DBファイル情報124のデバイス名212)であり、“Sdd1”のデバイスに対応する論理的な記憶領域は“ST1”の“Lun1”(OSマッピング情報114のST−ID302及びLUN304)であり、“Lun1”を構成するHDD台数は10(STマッピング情報172のHDD台数404)であり、この時点の処理ブロックAの処理並列度は100であり、処理ブロックAの1HDD当たりの処理並列度は10となる。   When processing block A of query 520 is targeted, the object to be accessed is “T1” (access destination Object ID 238 of query plan information 128), and the DB file storing “T1” is “FILE1”. "(File-ID 209 of schema information 122) and the device corresponding to" FILE1 "is" Sdd1 "(device name 212 of DB file information 124), and the logical storage area corresponding to the device of" Sdd1 " Is “Lun1” of “ST1” (ST-ID 302 and LUN 304 of the OS mapping information 114), and the number of HDDs constituting “Lun1” is 10 (the number of HDDs 404 of the ST mapping information 172). The processing parallelism of block A is 100, and 1 HDD of processing block A Processing parallelism of or is 10.

次に、解析・可視化プログラム195は、システム情報196を参照して1HDD当りの同時I/O処理数(第3入出力処理数)を取得し(図5Aでは、30)、ステップ736で算出した1HDD当りの処理並列度と比較し(ステップ738)、1HDD当りの同時I/O処理数の方が低い場合には(ステップ738でYes)、1HDD当りの処理並列度に1HDD当りの同時I/O処理数を設定する(ステップ740)。一方、1HDD当りの同時I/O処理数の方が高い場合(ステップ738でNo)は、1HDD当りの処理並列度はそのままとなる。続いて、解析・可視化プログラム195は、求めた1HDD当りの処理並列度に、ステップ734で求めたHDD台数を乗じて、システム全体の処理並列度モデル予測値を算出する(ステップ742)。以降、図面も含め処理並列度モデル予測値と記載した箇所は、このシステム全体の処理並列度モデル予測値のことを意味する。   Next, the analysis / visualization program 195 refers to the system information 196 to acquire the number of simultaneous I / O processes (third input / output process number) per HDD (30 in FIG. 5A), and calculates it in step 736. Compared with the processing parallelism per HDD (step 738), when the number of simultaneous I / O processes per HDD is lower (Yes in step 738), the simultaneous I / O per HDD is compared with the processing parallelism per HDD. The number of O processes is set (step 740). On the other hand, if the number of simultaneous I / O processes per HDD is higher (No in step 738), the processing parallelism per HDD remains unchanged. Subsequently, the analysis / visualization program 195 multiplies the obtained processing parallelism per HDD by the number of HDDs obtained in step 734 to calculate a processing parallelism model prediction value for the entire system (step 742). Hereinafter, the portion described as the process parallelism model predicted value including the drawings means the process parallelism model predicted value of the entire system.

例えば、クエリ520の処理ブロックBが対象の場合には、ステップ736で算出した1HDD当りの処理並列度は153であり、1HDD当りの同時I/O処理数は30であり、1HDD当りの同時I/O処理数の方が小さいため、処理ブロックBの1HDD当りの処理並列度は30となり、それに該当HDD台数の10を乗じた結果の300が処理ブロックBの処理並列度モデル予測値となる。また、クエリ520の処理ブロックAが対象の場合には、ステップ736で算出した1HDD当りの処理並列度は10であり、1HDD当りの同時I/O処理数の方が大きいため、処理ブロックAの1HDD当りの処理並列度は10となり、それに該当HDD台数の10を乗じた結果の100が処理ブロックAの処理並列度モデル予測値となる。   For example, when processing block B of query 520 is the target, the processing parallelism per HDD calculated in step 736 is 153, the number of simultaneous I / O processes per HDD is 30, and the simultaneous I / O per HDD is 30. Since the number of / O processes is smaller, the processing parallelism per HDD of the processing block B is 30, and 300 obtained by multiplying the number of corresponding HDDs by 10 becomes the processing parallelism model predicted value of the processing block B. If processing block A of query 520 is the target, the processing parallelism per HDD calculated in step 736 is 10, and the number of simultaneous I / O processes per HDD is larger, so that processing block A The processing parallelism per HDD is 10, and 100, which is the result of multiplying the number of corresponding HDDs by 10, is the processing parallelism model predicted value of the processing block A.

続いて、解析・可視化プログラム195は、DBモニタ情報197のDB統計情報126のシーケンシャルI/O性能220、もしくはランダムI/O性能222を参照し、当該処理ブロックがアクセスするオブジェクトの行数を処理並列度モデル予測値で実行した場合に要する処理時間を算出する(ステップ742)。クエリ520の処理ブロックBが対象の場合には、処理ブロックBのスキャン種別は索引スキャン(Index Scan)、アクセスするオブジェクト“T2”の選択行数は100,000、処理並列度モデル予測値は300、ランダムアクセス性能10msであるから、処理ブロックBの処理時間は、選択行数/処理並列度モデル予測値×アクセス性能=100,000/300×10ms≒3.3sとなる。また、クエリ520の処理ブロックAが対象の場合には、処理ブロックAのスキャン種別は索引スキャン(Index Scan)、アクセスするオブジェクト“T1”の選択行数は100、処理並列度モデル予測値は100、ランダムアクセス性能10msから、処理ブロックAの処理時間は、選択行数/処理並列度モデル予測値×アクセス性能=100/100×10ms≒10msとなる。   Subsequently, the analysis / visualization program 195 refers to the sequential I / O performance 220 or the random I / O performance 222 of the DB statistical information 126 of the DB monitor information 197, and processes the number of rows of objects accessed by the processing block. The processing time required for execution with the parallelism model predicted value is calculated (step 742). When the processing block B of the query 520 is a target, the scan type of the processing block B is an index scan, the number of selected rows of the object “T2” to be accessed is 100,000, and the processing parallelism model predicted value is 300. Since the random access performance is 10 ms, the processing time of the processing block B is selected row number / processing parallelism model predicted value × access performance = 100,000 / 300 × 10 ms≈3.3 s. When the processing block A of the query 520 is a target, the scan type of the processing block A is an index scan, the number of selected rows of the object “T1” to be accessed is 100, and the processing parallelism model predicted value is 100. From the random access performance of 10 ms, the processing time of the processing block A is selected row number / processing parallelism model predicted value × access performance = 100/100 × 10 ms≈10 ms.

上記処理により、クエリ520を実行した際に予測される処理挙動は、処理ブロックBの処理を処理並列度30で3.3s実行し、その後、処理ブロックAの処理を処理並列度10で10ms実行するということになる。   With the above processing, the processing behavior predicted when the query 520 is executed is that processing of the processing block B is executed for 3.3 s with a processing parallelism of 30 and then processing of the processing block A is executed with a processing parallelism of 10 for 10 ms. It will be to.

図9は、実施例1に係る処理並列度実測値算出処理のフローチャートである。尚、実施例1では、処理並列度実測値としてHDD毎のタグ数が算出される。具体的には、解析・可視化プログラム195は、イベントベースであるST処理情報を1件ずつ読込み、そのイベントに応じて該当HDDのタグ数をインクリメント或いはデクリメントする(ディスクI/O開始イベントの場合にインクリメントし、ディスクI/O終了イベントの場合にデクリメントする)。そして、解析・可視化プログラム195は、所定のサンプリング間隔毎に、その時点における全HDDの処理ブロック毎のタグ数を処理並列度実測値として取得する。   FIG. 9 is a flowchart of the process parallelism actual value calculation process according to the first embodiment. In the first embodiment, the number of tags for each HDD is calculated as the measured processing parallelism value. Specifically, the analysis / visualization program 195 reads event-based ST processing information one by one, and increments or decrements the number of tags of the corresponding HDD according to the event (in the case of a disk I / O start event). Increment and decrement in case of disk I / O end event). Then, the analysis / visualization program 195 acquires the number of tags for each processing block of all HDDs at that time as a measured processing parallelism value at every predetermined sampling interval.

解析・可視化プログラム195は、まず全HDDのタグ数を0クリアして初期化し(ステップ801)、STモニタ情報199内のST処理情報174を1エントリ読込み(ステップ802)、全てのエントリの読込みが終わったかどうかを判定し(ステップ804)、全てのエントリの読込みを終了していない場合(ステップ804でNo)には、ステップ808からの処理を実行する一方、全てのエントリの読込みを終了した場合(ステップ804でYes)には、処理並列度実測値算出処理を終了する(ステップ806)。   The analysis / visualization program 195 first clears and initializes the number of tags of all HDDs to 0 (step 801), reads 1 entry of the ST processing information 174 in the ST monitor information 199 (step 802), and reads all entries. When it is determined whether or not all entries have been read (step 804: No), the processing from step 808 is executed while all entries have been read. In (Yes in step 804), the process parallelism actual value calculation process ends (step 806).

解析・可視化プログラム195は、ステップ802で読込んだST処理情報174の1エントリのタイムスタンプが実測値算出の所定のサンプリング間隔を越えたかどうかを判定し(ステップ808)、実測値算出のサンプリング間隔を越えた場合(ステップ808でYes)には、その時点における全HDDの処理ブロック毎のタグ数(処理に用いる変数)を、当該時点におけるタグ数として取得する(ステップ810)。一方、実測値算出のサンプリング間隔を超えていない場合(ステップ808でNo)には、何もしない。ここで、実測値算出のサンプリング間隔は、解析・可視化プログラム195が起動時にパラメータとして与えても良いし、解析を開始する前にシステム管理者が設定しても良い。   The analysis / visualization program 195 determines whether the time stamp of one entry of the ST processing information 174 read in step 802 exceeds a predetermined sampling interval for actual measurement calculation (step 808), and the sampling interval for actual measurement calculation. If it exceeds (Yes in Step 808), the number of tags for each processing block of all HDDs (variable used for processing) at that time is acquired as the number of tags at that time (Step 810). On the other hand, if the sampling interval for actual value calculation is not exceeded (No in step 808), nothing is done. Here, the sampling interval for calculating the actual measurement value may be given as a parameter when the analysis / visualization program 195 is started, or may be set by the system administrator before starting the analysis.

続いて、ステップ802で読込んだST処理情報174の1エントリのイベントが“ディスクI/O開始”(Disk IO-Start)イベントの場合、解析・可視化プログラム195は、OSモニタ情報198のOS処理情報116及びDBモニタ情報197のDB処理情報130を参照し、当該イベントのI/Oを発行したクエリ、及びクエリ内の処理ブロックを特定し、アクセス先となるディスク178の処理ブロック毎のタグ数をインクリメントする(ステップ812)。例えば、ST処理情報174のエントリ番号3の“ディスクI/O開始”イベントの場合、I/Oの識別子(IO-ID)は“IO1”である。同じ識別子“IO1”を有するOS処理情報116のエントリ、DB処理情報130のエントリをそれぞれ検索して見つけ出し、当該I/Oを発行したクエリ“Q1”とクエリ内の処理ブロック“A”を特定する。   Subsequently, when the event of one entry of the ST processing information 174 read in step 802 is a “Disk I / O start” event, the analysis / visualization program 195 executes the OS processing of the OS monitor information 198. The number of tags for each processing block of the disk 178 to be accessed is specified by referring to the DB processing information 130 of the information 116 and the DB monitor information 197, specifying the query that issued the I / O of the event, and the processing block in the query Is incremented (step 812). For example, in the case of the “disk I / O start” event of entry number 3 in the ST processing information 174, the I / O identifier (IO-ID) is “IO1”. The OS processing information 116 entry and the DB processing information 130 entry having the same identifier “IO1” are searched and found, respectively, and the query “Q1” that issued the I / O and the processing block “A” in the query are specified. .

続いて、ステップ802で読込んだST処理情報174の1エントリのイベントが“ディスクI/O終了”(Disk IO-End)イベントの場合、解析・可視化プログラム195は、OSモニタ情報198のOS処理情報116、及びDBモニタ情報197のDB処理情報130を参照し、当該イベントのI/Oを発行したクエリ、及びクエリ内の処理ブロックを特定し(特定手順はステップ812と同様)、アクセス先となるディスク178の処理ブロック毎のタグ数をデクリメントする(ステップ814)。そして、解析・可視化プログラム195は、ステップ802に戻り、ST処理情報174の次の1エントリの読み込みを行う。   Subsequently, when the event of one entry of the ST processing information 174 read in step 802 is a “Disk I / O end” event, the analysis / visualization program 195 executes the OS processing of the OS monitor information 198. Referring to the information 116 and the DB processing information 130 of the DB monitor information 197, the query that issued the I / O of the event and the processing block in the query are specified (the specification procedure is the same as in step 812), and the access destination The number of tags for each processing block of the disk 178 is decremented (step 814). Then, the analysis / visualization program 195 returns to step 802 and reads the next entry of the ST processing information 174.

上記、処理並列度実測値算出処理によると、実測値サンプリング間隔で、ディスク178毎の処理ブロック毎のタグ数を算出することができ、実際にクエリを実行した場合のDBMS120の実処理挙動を特定することができる。   According to the above processing parallelism actual value calculation processing, the number of tags for each processing block for each disk 178 can be calculated at the actual value sampling interval, and the actual processing behavior of the DBMS 120 when the query is actually executed is specified. can do.

続いて、解析・可視化プログラム195が、算出した処理並列度モデル予測値と処理並列度実測値とに基づいて表示されるグラフに関して説明する。   Subsequently, the graph displayed by the analysis / visualization program 195 based on the calculated process parallelism model predicted value and the process parallelism actual measurement value will be described.

図10Aは、実施例1に係る処理並列度モデル予測値グラフの例を示す図である。図10Aに示すグラフ900は、縦軸を処理並列度モデル予測値とし、横軸を時間としたグラフであり、処理並列度モデル予測値算出処理で算出した処理並列度モデル予測値を時系列で描画したものである。グラフ900では、グラフ線902が処理並列度モデル予測値を示し、時間0からt1までが処理ブロックBの処理並列度モデル予測値であり、時間t1からt2までが処理ブロックAの処理並列度モデル予測値である。   FIG. 10A is a diagram illustrating an example of a process parallelism model predicted value graph according to the first embodiment. A graph 900 illustrated in FIG. 10A is a graph in which the vertical axis represents the process parallelism model predicted value and the horizontal axis represents time, and the process parallelism model predicted value calculated in the process parallelism model predicted value calculation process is expressed in time series. It is drawn. In the graph 900, the graph line 902 indicates the processing parallelism model predicted value, the time 0 to t1 is the processing parallelism model predicted value of the processing block B, and the time t1 to t2 is the processing parallelism model of the processing block A. It is a predicted value.

図10Bは、実施例1に係る処理並列度モデル予測値及び処理並列度実測値のグラフの第1の例を示す図である。図10Bに示すグラフ910は、縦軸を処理並列度(処理並列度モデル予測値及び処理並列度実測値)とし、横軸を時間としたグラフであり、処理並列度モデル予測値算出処理で算出した処理並列度モデル予測値と、処理並列度実測値算出処理で算出した処理並列度実測値を時系列で描画したものである。グラフ910では、処理並列度モデル予測値がグラフ線902で示され、処理並列度実測値が色を付けて重ね合わせて描画している。グラフ910で示した例によれば、処理並列度モデル予測値と処理並列度実測値とが、処理ブロックA、処理ブロックBとも時間t0〜t2の範囲で適合していることがわかり、DBMS120は、モデルに基づいて予測した処理挙動通りに動作しているという判定ができる。   FIG. 10B is a diagram illustrating a first example of a graph of the process parallelism model predicted value and the process parallelism actual measurement value according to the first embodiment. A graph 910 illustrated in FIG. 10B is a graph in which the vertical axis represents processing parallelism (process parallelism model predicted value and processing parallelism actual measurement value) and the horizontal axis represents time, and is calculated by the processing parallelism model predicted value calculation process. The process parallelism model predicted value and the process parallelism actual value calculated by the process parallelism actual value calculation process are drawn in time series. In the graph 910, the process parallelism model predicted value is indicated by a graph line 902, and the process parallelism actual measurement value is colored and overlaid. According to the example shown in the graph 910, it can be seen that the processing parallelism model predicted value and the processing parallelism actual measurement value are suitable for both the processing block A and the processing block B in the range of time t0 to t2. , It can be determined that it is operating according to the processing behavior predicted based on the model.

図10Cは、実施例1に係る処理並列度モデル予測値及び処理並列度実測値のグラフの第2の例を示す図である。図10Cに示すグラフ920は、グラフ910と同様のグラフである。グラフ920で示した例によれば、処理並列度モデル予測値と処理並列度実測値とが、処理ブロックBの一部の時間t0〜t3の範囲で不適合であり、処理ブロックBの時間0〜t0の範囲は適合であり、処理ブロックAの範囲は適合していることがわかる。このグラフ920によると、DBMS120は、モデルに基づいて予測した処理挙動通りに動作していないという判定ができ、この場合問題が発生していると捉えその問題の発生時間はt0の可能性が高いということを容易に判定することができる。   FIG. 10C is a diagram illustrating a second example of the graph of the process parallelism model predicted value and the process parallelism actual measurement value according to the first embodiment. A graph 920 illustrated in FIG. 10C is a graph similar to the graph 910. According to the example shown in the graph 920, the process parallelism model predicted value and the process parallelism actual measurement value are incompatible within a part of the time t0 to t3 of the process block B, and the process block B has the time 0 to 0. It can be seen that the range of t0 is compatible and the range of the processing block A is compatible. According to this graph 920, the DBMS 120 can determine that it does not operate according to the processing behavior predicted based on the model. In this case, it is considered that a problem has occurred, and the occurrence time of the problem is likely to be t0. This can be easily determined.

グラフ910、920で示した様に、処理ブロック毎に処理並列度モデル予測値と処理並列度実測値のグラフを重ね合わせて表示することで、処理並列度モデル予測値と処理並列度実測値との比較を容易に行うことができる。尚、グラフ910、グラフ920における処理並列度実測値のグラフにおいて、DBMS120以外のシステム、プログラムから発生したI/Oに関しては、表示形態(例えば、グラフ色をグレーにする等)を変えて表示するとしても良い。この場合、DBMS120以外のシステム、プログラムからのI/Oは、前述した処理並列度実測値算出処理800内で、DB処理情報130、OS処理情報116、ST処理情報174に含まれる「IO-ID」によって紐付かないI/Oがそうであると特定できる。これにより、DBMS120からのI/Oか、それ以外のシステム、プログラムからのI/Oかを切り分けることができ、DBMS120だけの処理挙動の解析を行うことができる。   As shown in the graphs 910 and 920, the processing parallelism model predicted value and the processing parallelism actual measurement value are displayed by overlapping the processing parallelism model predicted value and the processing parallelism actual measurement graph for each processing block. Can be easily compared. In the graphs of the measured parallelism values in the graphs 910 and 920, I / Os generated from systems and programs other than the DBMS 120 are displayed in different display forms (for example, the graph color is changed to gray). It is also good. In this case, the I / O from the system and program other than the DBMS 120 is the “IO-ID” included in the DB processing information 130, the OS processing information 116, and the ST processing information 174 in the processing parallelism actual value calculation processing 800 described above. ”Can be specified as an I / O that is not linked. Thereby, it is possible to distinguish between I / O from the DBMS 120 and I / O from other systems and programs, and it is possible to analyze the processing behavior of only the DBMS 120.

続いて、解析・可視化プログラム195により表示される画面の例に関して説明する。   Next, an example of a screen displayed by the analysis / visualization program 195 will be described.

図11Aは、実施例1に係る処理並列度モデル予測値のグラフを含む画面表示例を示す図である。解析・可視化プログラム195が実行されると、図11Aに示すようにウインドウ1000がディスプレイ144に表示される。ウインドウ1000には、メニューバー1001、表示対象HDD選択ボックス1002、モデル予測値表示選択ボタン1004、実測値表示選択ボタン1006、グラフ描画アリア1008、ウインドウを閉じるボタン1012が配置され、マウス等の入力装置により各ボタンに対する指示操作等を行うことが可能である。   FIG. 11A is a diagram illustrating a screen display example including a graph of the processing parallelism model predicted value according to the first embodiment. When the analysis / visualization program 195 is executed, a window 1000 is displayed on the display 144 as shown in FIG. 11A. In the window 1000, a menu bar 1001, a display target HDD selection box 1002, a model predicted value display selection button 1004, an actual value display selection button 1006, a graph drawing area 1008, and a window close button 1012 are arranged. Thus, it is possible to perform an instruction operation on each button.

メニューバー1001には、解析開始や画面切替え、プログラム終了等の指示を与えるメニューが用意される。表示対象HDD選択ボックス1002では、グラフ描画エリア1008に描画するグラフの対象となるHDDを選択することができる。ここで表示対象HDD選択ボックス1002において、“ALL”が選択されると、解析・可視化プログラム195は、システム全体の処理並列度のグラフをグラフ描画エリア1008に描画する。モデル予測値表示ボタン1004が選択指示されると、解析・可視化プログラム195は、モデル予測値表示ボタン1004を選択状態(図においては、太枠表示が選択状態を示す)にし、処理並列度モデル予測値算出処理で算出した処理並列度モデル予測値のグラフをグラフ描画エリア1008に描画する。また、実測値表示ボタン1006が選択指示されると、解析・可視化プログラム195は、実測値表示ボタン1006を選択状態(図においては、太枠表示が選択状態を示す)にし、処理並列度実測値算出処理で算出した処理並列度実測値のグラフをグラフ描画エリア1008に描画する。図11Aの例では、処理並列度モデル予測値だけを表示した状態である。   In the menu bar 1001, a menu for giving instructions for starting analysis, switching screens, and ending a program is prepared. In a display target HDD selection box 1002, an HDD that is a target of a graph to be drawn in the graph drawing area 1008 can be selected. When “ALL” is selected in the display target HDD selection box 1002, the analysis / visualization program 195 draws a graph of the processing parallelism of the entire system in the graph drawing area 1008. When the model predicted value display button 1004 is selected and instructed, the analysis / visualization program 195 sets the model predicted value display button 1004 to the selected state (in the figure, the bold frame display indicates the selected state), and the processing parallelism model prediction A graph of the process parallelism model predicted value calculated by the value calculation process is drawn in the graph drawing area 1008. When the actual value display button 1006 is selected and instructed, the analysis / visualization program 195 places the actual value display button 1006 in a selected state (in the figure, a bold frame indicates the selected state), and the processing parallelism actual value A graph of the measured parallelism value calculated in the calculation process is drawn in the graph drawing area 1008. In the example of FIG. 11A, only the process parallelism model predicted value is displayed.

図11Bは、実施例1に係る処理並列度モデル予測値及び処理並列度実測値のグラフを含む画面表示例を示す図である。図11Bの例では、モデル予測値表示ボタン1004及び実測値表示ボタン1006が選択されている状態であり、グラフ描画エリア1008には、処理並列度モデル予測値及び処理並列度実測値が重ねあわされたグラフが表示される。また、グラフ描画エリア1008に描画されたグラフに対して、マウスカーソルが合わせられると、解析・可視化プログラム195は、その箇所の情報(タイムスタンプ、クエリの識別子、処理ブロックの識別子、処理並列数等)をツールチップ1010で表示する。閉じるボタン1012がマウスクリックされると、解析・可視化プログラム195は、ウインドウ1000を閉じて、処理を終了する。   FIG. 11B is a diagram illustrating a screen display example including a graph of the process parallelism model predicted value and the process parallelism actual measurement value according to the first embodiment. In the example of FIG. 11B, the model predicted value display button 1004 and the measured value display button 1006 are selected, and the processing parallelism model predicted value and the processed parallelism measured value are superimposed in the graph drawing area 1008. A graph is displayed. When the mouse cursor is placed on the graph drawn in the graph drawing area 1008, the analysis / visualization program 195 displays information on the location (time stamp, query identifier, processing block identifier, processing parallel number, etc.). ) Is displayed with a tool tip 1010. When the close button 1012 is clicked with the mouse, the analysis / visualization program 195 closes the window 1000 and ends the processing.

システム管理者は、解析・可視化プログラム195により表示された画面を操作することで、処理並列度モデル予測値及び処理並列度実測値のグラフを表示させることができ、DBMS120のモデルに基づいて予測した処理挙動に対し、実際にどう動作したか、問題が発生していないか等を容易且つ適切に判定することができる。   By operating the screen displayed by the analysis / visualization program 195, the system administrator can display the graph of the processing parallelism model predicted value and the processing parallelism actual measurement value, and predicting based on the model of the DBMS 120 With respect to the processing behavior, it is possible to easily and appropriately determine how it actually operates and whether a problem has occurred.

次に、問題が発生している原因についての調査に利用する表示画面について説明する。   Next, a display screen used for investigating the cause of the problem will be described.

図11Cは、実施例1に係る滞留数についてのグラフを含む画面表示例を示す図である。   FIG. 11C is a diagram illustrating a screen display example including a graph regarding the staying number according to the first embodiment.

図11Cは、計算機システムにおける処理滞留が考えられる箇所(要素:処理滞留箇所)毎の滞留状況を表示したグラフを含む画面である。処理滞留箇所としては、例えば、計算機100のDBMS120内部(DBMS120による処理要素)、OS112内部(OS112による処理要素)、I/F(1)136の一例であるHBA、通信ネットワーク140、ストレージ装置150のコントローラ154、HDD178の構成要素等がある。   FIG. 11C is a screen including a graph displaying the staying status for each place (element: process staying place) where processing staying in the computer system can be considered. Examples of the processing staying location include the inside of the DBMS 120 of the computer 100 (processing element by the DBMS 120), the inside of the OS 112 (processing element by the OS 112), the HBA that is an example of the I / F (1) 136, the communication network 140, and the storage device 150. There are components of the controller 154 and the HDD 178.

ここで、まず、解析・可視化プログラム195による各滞留箇所の滞留状況を取得する処理を説明する。解析・可視化プログラム195は、DBモニタ情報197のDB処理情報130、OSモニタ情報198のOS処理情報116、STモニタ情報199のST処理情報174を参照し、それぞれの滞留箇所に対応するイベント(例えば、DBMS120での滞留については、DB処理情報130内の“IO-Submit”イベント〜“IO-GetEvent”イベントで特定できる)に基づいて、滞留数のインクリメント又はデクリメントを行い、処理並列度実測値算出処理と同様に、実測サンプリング時間で各滞留箇所の滞留数を確定して取得することにより、実測サンプリング時間毎の滞留数を取得することができる。解析・可視化プログラム195は、各滞留箇所についての実測サンプリング時間毎の滞留数を用いて、滞留数の時系列のグラフとして表示する。   Here, first, a process of acquiring the staying status of each staying place by the analysis / visualization program 195 will be described. The analysis / visualization program 195 refers to the DB processing information 130 of the DB monitor information 197, the OS processing information 116 of the OS monitor information 198, and the ST processing information 174 of the ST monitor information 199, and an event corresponding to each staying location (for example, The retention in the DBMS 120 is incremented or decremented based on the “IO-Submit” event to the “IO-GetEvent” event in the DB processing information 130), and the processing parallelism actual value is calculated. Similar to the processing, the number of stays at each measured sampling time can be obtained by determining and obtaining the number of stays at each stay location at the measured sampling time. The analysis / visualization program 195 displays the number of stays as a time-series graph using the number of stays for each measured sampling time for each stay location.

図11Cに表示された画面は、ウインドウ1000のメニューバー1001の画面切り替えメニューが選択された場合に切り替えて表示させても良いし、問題発生時に自動的にその箇所を特定して表示するようにしても良い。図11Cに示す画面においては、ウインドウ1000には、メニューバー1001、閉じるボタン1012、グラフ描画エリア1010が含まれる。グラフ描画エリア1010において、解析・可視化プログラム195は、縦軸を滞留数とし、横軸を時間とした各滞留箇所における滞留数の時系列のグラフを描画する。図11Cにおいては、滞留箇所1の滞留状況をグラフ1012で表し、滞留箇所2の滞留状況をグラフ1014で表し、滞留箇所3の滞留状況をグラフ1016で表している。例えば、時間t0に問題が発生していることが処理並列度モデル予測値と処理並列度実測値とのグラフで分かった場合、時間t0の各滞留箇所の状況を図11Cの画面により把握して原因を容易に特定することができる。例えば、図11Cの画面例においては、時間t0に滞留箇所2の滞留状況が大きく変化していることが分かるので、滞留箇所2に問題の原因があるということを容易に特定することができる。   The screen displayed in FIG. 11C may be switched and displayed when the screen switching menu in the menu bar 1001 of the window 1000 is selected, or may be automatically identified and displayed when a problem occurs. May be. In the screen shown in FIG. 11C, the window 1000 includes a menu bar 1001, a close button 1012, and a graph drawing area 1010. In the graph drawing area 1010, the analysis / visualization program 195 draws a time-series graph of the number of stays at each stay location with the vertical axis as the stay number and the horizontal axis as the time. In FIG. 11C, the staying status at the staying location 1 is represented by a graph 1012, the staying status at the staying location 2 is represented by a graph 1014, and the staying status at the staying location 3 is represented by a graph 1016. For example, when it is found from the graph of the process parallelism model predicted value and the process parallelism actual measurement value that a problem has occurred at time t0, the situation of each staying location at time t0 is grasped from the screen of FIG. 11C. The cause can be easily identified. For example, in the screen example of FIG. 11C, it can be seen that the staying state of the staying portion 2 has changed greatly at time t0, so that the cause of the problem can be easily identified in the staying portion 2.

次に、解析・可視化プログラム195により表示される別の画面例について説明する。   Next, another screen example displayed by the analysis / visualization program 195 will be described.

図12Aは、実施例1に係るHDDにおける処理並列度のモデル予測値と実測値との適合・不適合を示すグラフを含む画面表示例を示す図である。図12Bは、実施例1に係る各HDDについての処理並列度のモデル予測値と実測値との適合・不適合を示す画面表示例を示す図である。   FIG. 12A is a diagram illustrating a screen display example including a graph indicating conformity / nonconformity between the model predicted value and the actual measurement value of the processing parallelism in the HDD according to the first embodiment. FIG. 12B is a diagram illustrating a screen display example indicating conformity / nonconformity between the model predicted value of the processing parallelism and the actual measurement value for each HDD according to the first embodiment.

図11A、図11Bに示した画面では、HDD毎の処理並列度理論値と処理並列度実測値とを表示することができる。HDD数が少数であれば、システム管理者がそれぞれのHDD毎に処理並列度モデル予測値と処理並列度実測値のグラフを表示し、各HDDが適正に動作したか否かを判定することができる。しかし、数百〜数千オーダーのHDDを有する計算機システムの場合、同様のことを各々のHDDについて行うには膨大な時間を要することになる。   In the screens shown in FIGS. 11A and 11B, the theoretical value of processing parallelism and the actual processing parallelism value for each HDD can be displayed. If the number of HDDs is small, the system administrator can display a graph of the process parallelism model predicted value and the process parallelism actual measurement value for each HDD, and determine whether each HDD has operated properly. it can. However, in the case of a computer system having hundreds to thousands of HDDs, it takes a lot of time to do the same thing for each HDD.

そこで、解析・可視化プログラム195が、HDD毎に処理並列度(HDDタグ数)の不適合率を自動的に割り出してその結果を表示することにより、システム管理者の解析工数を削減し、挙動・性能解析を容易化する。ここで、処理並列度の不適合率は、クエリの全体の処理時間に対する不適合の時間の割合としている。例えば、あるHDDの処理並列度モデル予測値及び処理並列度実測値の関係が、図10Cのグラフに示すような関係であるとすると、全体の処理時間がt4であり、不適合の時間がt3−t0となり、不適合率は、t4/(t3−t0)として表すことができる。ここで、解析・可視化プログラム195は、例えば、実測値サンプリング間隔毎に、処理並列度モデル予測値と処理並列度実測値とを比較し、両者が一致していれば適合と判定し、一致していなければ不適合と判定する。尚、システム管理者が解析・可視化プログラム195に対して適合・不適合判定の閾値を設定するようにし、処理並列度モデル予測値に対して処理並列度実測値が、その閾値の範囲内に収まれば適合として判定するようにしても良い。   Therefore, the analysis / visualization program 195 automatically calculates the nonconformity rate of the processing parallelism (HDD tag number) for each HDD and displays the result, thereby reducing the analysis man-hours for the system administrator, and the behavior / performance Facilitates analysis. Here, the nonconformity rate of the processing parallelism is a ratio of the nonconformity time to the entire processing time of the query. For example, if the relationship between the processing parallelism model predicted value and the processing parallelism actual measurement value of a certain HDD is as shown in the graph of FIG. 10C, the entire processing time is t4, and the nonconforming time is t3−. t0, and the nonconformity rate can be expressed as t4 / (t3-t0). Here, the analysis / visualization program 195 compares the process parallelism model predicted value and the process parallelism actual measurement value, for example, at each actual measurement value sampling interval, and determines that the two match if they match. If not, it is determined as nonconforming. If the system administrator sets a threshold value for determination of conformity / non-conformity for the analysis / visualization program 195 and the measured parallelism value for the predicted processing parallelism model value falls within the threshold value range. You may make it determine with a conformity.

図12Aは、時間経過に伴う、当該計算機システムの全HDDにおける処理並列度モデル予測値と処理並列度実測値との適合・不適合HDD数を表示した画面の一例である。ウインドウ1000には、メニューバー1001、閉じるボタン1012、グラフ描画エリア1010が含まれる。グラフ描画エリア1010に、適合・不適合HDD数のグラフが縦軸をHDD数とし、横軸を経過時間として描画される。図12Aに示す画面においては、ライン1102が全HDDを示し、グラフ1104が適合するHDDの数、グラフ1106が不適合のHDDの数を示している。尚、処理全体の中で各々のHDDが適合か不適合かの判定は、不適合率が0%のHDDを適合として判定しても良いし、システム管理者が解析・可視化プログラム195に与えたパラメータ(例えば不適合率20%)以下を適合として判定しても良い。図12Aに示す画面により、DBMS120による処理全体の中で、どの程度のHDDがモデルに基づいて予測した処理挙動で動作しているか、動作していないかを容易に特定することができる。   FIG. 12A is an example of a screen that displays the number of conforming / nonconforming HDDs between the predicted processing parallelism model value and the actual processing parallelism value in all HDDs of the computer system over time. The window 1000 includes a menu bar 1001, a close button 1012, and a graph drawing area 1010. In the graph drawing area 1010, a graph of the number of conforming / nonconforming HDDs is drawn with the vertical axis representing the number of HDDs and the horizontal axis representing the elapsed time. In the screen shown in FIG. 12A, a line 1102 indicates all HDDs, a graph 1104 indicates the number of compatible HDDs, and a graph 1106 indicates the number of non-compatible HDDs. The determination as to whether each HDD is compatible or not compatible in the entire processing may be performed by determining that an HDD with a non-conformance rate of 0% is compatible, or the parameters given by the system administrator to the analysis / visualization program 195 ( For example, it may be determined that the nonconformity rate is 20% or less. With the screen shown in FIG. 12A, it is possible to easily identify how much HDD is operating with the processing behavior predicted based on the model in the entire processing by the DBMS 120.

図12Bは、計算機システムの全HDDにおける処理並列度モデル予測値と処理並列度実測値との適合・不適合の状態をグラフ描画エリア1010にマトリックス表示した画面である。   FIG. 12B is a screen in which the conformity / nonconformity state between the processing parallelism model predicted value and the processing parallelism actual measurement value in all HDDs of the computer system is displayed in a matrix in the graph drawing area 1010.

同図において、マトリックスにおけるそれぞれの矩形部分が一つのHDDに対応している。この矩形部分は、処理並列度数モデル予測値と処理並列度実測値とが適合しているHDDと、処理並列度数モデル予測値と処理並列度実測値とが不適合であるHDDと、クエリにおける未アクセスのHDDとで異なる表示態様(例えば、異なる色)で表示される。ここで、矩形1110は、適合しているHDDを示し、矩形1112は、不適合であるHDDを示し、矩形1114は、未アクセスのHDDを示している。解析・可視化プログラム195による、各々のHDDが適合か不適合かの判定方法については、上記と同様に、不適合率が0%のHDDを適合として判定するように良いし、システム管理者が解析・可視化プログラム195に与えたパラメータ(例えば不適合率20%)以下を適合として判定するようにしても良い。   In the figure, each rectangular portion in the matrix corresponds to one HDD. This rectangular portion indicates an HDD in which the processing parallel power model predicted value and the processing parallel degree actual measurement value are compatible, an HDD in which the processing parallel power model predicted value and the processing parallel degree actual measurement value are incompatible, and an unaccessed in the query Are displayed in different display modes (for example, different colors). Here, a rectangle 1110 indicates a compatible HDD, a rectangle 1112 indicates a non-compatible HDD, and a rectangle 1114 indicates an unaccessed HDD. As for the method of determining whether each HDD is conforming or nonconforming by the analysis / visualization program 195, it is good to determine that the HDD having a nonconformity rate of 0% is conforming as described above, and the system administrator analyzes and visualizes it. A parameter or less given to the program 195 (for example, nonconformity rate 20%) or less may be determined as conforming.

尚、図12Bにおいては、全HDDを一つのマトリックスで示しているが、ストレージ装置150毎やRaidグループ毎といった様に、これらのグループを1つのマトリックスで表示するようにしても良い。また、マトリックス中の一つの矩形部分をマウスクリック等の操作によって選択されたときに、解析・可視化プログラム195が、選択された矩形部分に対応するHDDについて、図11Bに示すような処理並列度モデル予測値・処理並列度実測値のグラフを表示するようにしても良い。これにより、処理並列度モデル予測値と処理並列度実測値との適合・不適合の状態を容易且つ詳細に解析することができる。   In FIG. 12B, all HDDs are shown in one matrix, but these groups may be displayed in one matrix, such as for each storage device 150 or for each RAID group. When one rectangular portion in the matrix is selected by an operation such as a mouse click, the analysis / visualization program 195 performs processing parallelism model as shown in FIG. 11B for the HDD corresponding to the selected rectangular portion. You may make it display the graph of a predicted value and a process parallelism measured value. As a result, it is possible to easily and in detail analyze the conformity / nonconformity state between the process parallelism model predicted value and the process parallelism actual measurement value.

図12Cは、実施例1に係る処理並列度のモデル予測値と実測値との不適合率が高いHDDを順番に示す画面表示例を示す図である。   FIG. 12C is a diagram illustrating a screen display example in which HDDs having a high mismatch rate between the model predicted value and the actual measurement value of the processing parallelism according to the first embodiment are sequentially illustrated.

図12Cに示すウインドウ1000においては、解析・可視化プログラム195により、グラフ表示エリア1010に、処理並列度モデル予測値と処理並列度実測値との不適合率が高いHDDが順番にランキング表示される。グラフ表示エリア1010において、エリア1120にはランキング番号が表示され、エリア1122にはストレージ装置150を識別する識別子(ST-ID)とHDD178を識別する識別子(HDD-ID)が表示され、エリア1124には不適合率が表示される。   In the window 1000 shown in FIG. 12C, the analysis / visualization program 195 ranks and displays HDDs having a high mismatch rate between the processing parallelism model predicted value and the processing parallelism actual measurement value in the graph display area 1010 in order. In the graph display area 1010, a ranking number is displayed in the area 1120, an identifier (ST-ID) for identifying the storage device 150 and an identifier (HDD-ID) for identifying the HDD 178 are displayed in the area 1122, and an area 1124 is displayed. Shows the nonconformity rate.

図12Cにおいては、ストレージ装置“ST1”のHDD“HDD45”が不適合率32.5%で1位であることが表示され、ストレージ装置“ST1”のHDD“HDD6”が不適合率31.8%で2位であることが表示され、ストレージ装置“ST1”のHDD“HDD74”が不適合率31.4%で3位であることが表示されている。   In FIG. 12C, it is displayed that the HDD “HDD45” of the storage device “ST1” is first in the nonconformity rate 32.5%, and the HDD “HDD6” of the storage device “ST1” is the nonconformance rate 31.8%. The second place is displayed, and the HDD “HDD74” of the storage device “ST1” is displayed in the third place with a nonconformity ratio of 31.4%.

また、グラフ表示エリア1010においては、ランキングの各々のエントリに対応する位置に詳細表示ボタン1126が表示される。詳細表示ボタン1126に対して、マウスクリック等の操作が行われると、対応するHDDについての処理並列度モデル予測値及び並列処理度実測値のグラフが表示される。これにより、不適合率が高いとして表示されている各HDDについての処理並列度モデル予測値と処理並列度実測値との適合・不適合の状態を詳細に解析することができる。   In the graph display area 1010, a detailed display button 1126 is displayed at a position corresponding to each entry in the ranking. When an operation such as a mouse click is performed on the detail display button 1126, a graph of the processing parallelism model predicted value and the parallel processing degree actual measurement value for the corresponding HDD is displayed. Thereby, it is possible to analyze in detail the conformity / nonconformity state between the processing parallelism model predicted value and the processing parallelism actual measurement value for each HDD displayed as having a high nonconformity rate.

更に、解析・可視化プログラム195により表示される別の画面例について説明する。   Further, another screen example displayed by the analysis / visualization program 195 will be described.

図11A、図11Bに示した画面によると、計算機システムにおける処理並列度モデル予測値・処理並列度実測値を表示し、DBMS120がモデルに基づいて予測した処理挙動通りに動作しているか、問題が発生していないかを容易に判定することができ、図11Cに示した画面により、問題が発生している箇所を容易に特定することができる。しかし、これらの画面のみでは、DBMS120の実際の挙動がどうなっているかをより詳細に調査・解析することはできない。   According to the screens shown in FIGS. 11A and 11B, the processing parallelism model predicted value and the processing parallelism actual measurement value in the computer system are displayed, and whether the DBMS 120 is operating according to the processing behavior predicted based on the model is a problem. It can be easily determined whether or not it has occurred, and the location where the problem has occurred can be easily identified by the screen shown in FIG. 11C. However, it is impossible to investigate and analyze the actual behavior of the DBMS 120 in more detail only with these screens.

そこで、解析・可視化プログラム195は、システム情報196、DBモニタ情報197、OSモニタ情報198、STモニタ情報199を解析し、DBMS120における各スレッドの処理状況を画面に表示することにより、DBMS120の実挙動の調査・解析を容易化する。   Accordingly, the analysis / visualization program 195 analyzes the system information 196, the DB monitor information 197, the OS monitor information 198, and the ST monitor information 199, and displays the processing status of each thread in the DBMS 120 on the screen, thereby the actual behavior of the DBMS 120. To facilitate the investigation and analysis of

図13Aは、実施例1に係るDBMSがアクセスしている表や索引毎のタスク数の統計値のグラフを含む画面表示例を示す図である。図13Aに示すグラフ1200は、ウインドウ1000のグラフ描画エリア1010に、縦軸をアクセスしているオブジェクト毎のタスク数、横軸を時間として、アクセスしているオブジェクト毎のタスク数を時系列でオブジェクト毎に表示態様(例えば、グラフの色)を変えて描画したものである。このグラフ1200により、各時間帯でどのオブジェクトに、どれだけのタスクがアクセスしているかを容易に特定することできる。   FIG. 13A is a diagram illustrating a screen display example including a table accessed by the DBMS according to the first embodiment and a graph of a statistical value of the number of tasks for each index. A graph 1200 shown in FIG. 13A is an object in time series indicating the number of tasks for each accessed object in the graph drawing area 1010 of the window 1000, with the number of tasks for each object accessing the vertical axis and the horizontal axis for time. Each figure is drawn with a different display mode (for example, the color of the graph). With this graph 1200, it is possible to easily specify which task is accessing which object in each time zone.

図13Bは、実施例1に係るタスクの状態毎の統計値のグラフを含む第1の画面表示例を示す図である。図13Bに示すグラフ1210は、ウインドウ1000のグラフ描画エリア1010に、縦軸をタスク状態毎のタスク数、横軸を時間として、タスク状態毎のタスク数を時系列でタスク状態毎に表示形態(例えば、グラフの色)を変えて描画したものである。タスクの状態としては、例えば、DB処理実行中、I/O発行中の状態、CPU割当て待ちの状態、DBバッファのI/O完了待ち状態、ロック保持状態、ロック取得待ち状態を取る。グラフ1210で示した例では、グラフ1212は、DBバッファのI/O完了待ち状態のタスク数を示し、グラフ1214は、ロック取得待ち状態のタスク数を示し、グラフ1216は、CPU割当待ちの状態のタスク数を示し、グラフ1218は、I/O発行中の状態のタスク数を示している。グラフ1210によると、各時間帯でタスクが実行可能な上限で動作しているか、またどの様なタスク状態となっているか等を容易に特定することができる。   FIG. 13B is a diagram illustrating a first screen display example including a graph of statistical values for each task state according to the first embodiment. A graph 1210 shown in FIG. 13B is displayed in a graph drawing area 1010 of the window 1000, in which the number of tasks for each task state is displayed in time series for each task state, with the vertical axis representing the number of tasks for each task state and the horizontal axis representing time. For example, the graph is drawn with a different color). As the task state, for example, a DB process is being executed, an I / O issuance state, a CPU allocation waiting state, a DB buffer I / O completion waiting state, a lock holding state, and a lock acquisition waiting state are taken. In the example shown by the graph 1210, the graph 1212 shows the number of tasks waiting for I / O completion of the DB buffer, the graph 1214 shows the number of tasks waiting for lock acquisition, and the graph 1216 shows the state waiting for CPU allocation. The graph 1218 shows the number of tasks in an I / O issuance state. According to the graph 1210, it is possible to easily identify whether the task is operating at the upper limit that can be executed in each time slot, and what task state it is in.

図13Cは、実施例1に係る各タスクの状態を示すグラフを含む第2の画面表示例を示す図である。図13Cに示すグラフ1220は、ウインドウ1000のグラフ描画エリア1010に、縦軸をタスク(横方向の1ラインが1タスクの状態を示す)、横軸を時間として、タスクの状態毎に表示形態(例えば、グラフの色)を変えて描画したものである。尚、タスクの状態のうち、ロック保持状態以外はいずれかの一つの状態だけを取るが、ロック保持状態はそれ以外の状態と重なる場合(例えば、ロックを保持しながらI/Oを発行している場合等)があるため、ロック保持状態のグラフはそれ以外のグラフの下に描画するようにしている。グラフ1220によると、各時間帯で各タスクがどの様な状態にあるかを容易に特定することができる。   FIG. 13C is a diagram illustrating a second screen display example including a graph indicating the state of each task according to the first embodiment. A graph 1220 shown in FIG. 13C is displayed in the graph drawing area 1010 of the window 1000 in a display form for each task state, where the vertical axis indicates a task (one horizontal line indicates the state of one task) and the horizontal axis indicates time. For example, the graph is drawn with a different color). Of the task states, only one of the states other than the lock holding state is taken, but the lock holding state overlaps with other states (for example, issuing an I / O while holding the lock) Therefore, the graph in the lock holding state is drawn below the other graphs. According to the graph 1220, it is possible to easily specify the state of each task in each time slot.

実施例1においては、処理並列度モデル予測値は、参照する索引のキー値に対応する選択行数、カーネルスレッド数、タスク数、HBA同時I/O処理数、ストレージコントローラの同時I/O処理数、1HDD当りの同時I/O処理数を基にして算出している。しかし、実施例1には記載していないが、OSが多段化されているVM(Virtual Machine)やOS内のファイルシステムやスケジューラ、デバイスドライバ等におけるI/Oパス上のキュー長やネットワーク上のQOS制御によるスロットリング等、その他にも処理並列度の律速要因が考えられる。実施例1において、それらの律速要因となる部位に関する情報を取得する手段を設け、処理並列度を算出する際にそれらを含めて算出するとしても良い。   In the first embodiment, the processing parallelism model predicted value is the number of selected rows, the number of kernel threads, the number of tasks, the number of HBA simultaneous I / O processes, the simultaneous I / O processing of the storage controller corresponding to the key value of the index to be referenced. The number is calculated based on the number of simultaneous I / O processes per HDD. However, although not described in the first embodiment, the queue length on the I / O path in the VM (Virtual Machine) in which the OS is multistaged, the file system in the OS, the scheduler, the device driver, etc., or on the network In addition to the throttling by the QOS control, the rate limiting factor of the processing parallelism can be considered. In the first embodiment, means for acquiring information related to the part that is a rate-limiting factor may be provided, and calculation may be performed including them when calculating the processing parallelism.

実施例1においては、DBMS120が1つのクエリを実行した場合について説明しているが、DBMS120が複数のクエリが同時に実行した場合についても同様に処理並列度モデル予測値と処理並列度実測値を算出し、その結果を画面表示することで複数クエリ実行時の処理挙動についても解析が可能である。この場合、クエリプラン情報128、DB処理情報130に含まれる「QID」で複数のクエリの識別が可能となる。処理並列度モデル予測値の算出に関しては、クエリ毎に処理並列度モデル予測値算出処理610を実行してそれらを合算することでシステム全体の処理モデル予測値を算出することができる。処理並列度実測値の算出に関しては、前述の「QID」でクエリ毎にカウントすることで算出できる。また、複数クエリ実行時の処理並列度実測値を画面にグラフ表示する際は、それぞれのクエリ毎に表示形態(例えば、グラフ色)を変えて表示することで、各クエリがどう実行されたかを解析することが可能となる。   In the first embodiment, the case where the DBMS 120 executes one query has been described, but when the DBMS 120 executes a plurality of queries at the same time, the processing parallelism model predicted value and the processing parallelism actual measurement value are calculated in the same manner. By displaying the result on the screen, it is possible to analyze the processing behavior when multiple queries are executed. In this case, a plurality of queries can be identified by “QID” included in the query plan information 128 and the DB processing information 130. Regarding the calculation of the process parallelism model predicted value, the process parallelism model predicted value calculation process 610 is executed for each query, and the process model predicted value of the entire system can be calculated by adding them. Regarding the calculation of the processing parallelism actual measurement value, it can be calculated by counting each query with the above-mentioned “QID”. In addition, when displaying the processing parallelism measured value when executing multiple queries on the screen, it is possible to show how each query was executed by changing the display form (for example, graph color) for each query. It becomes possible to analyze.

図14は、複数クエリ(本例ではクエリXとクエリY)を実行した際の処理並列度モデル予測値と処理並列度実測値のグラフの例を示した図である。図14に示すグラフ1400では、クエリXとクエリYのそれぞれの処理並列度モデル予測値を合算した値を処理並列度モデル予測値のグラフ線902として表示し、クエリXの処理並列度実測値1402とクエリYの処理並列度実測値1404の色を変えて表示している。   FIG. 14 is a diagram illustrating an example of a graph of the process parallelism model predicted value and the process parallelism actual measurement value when a plurality of queries (query X and query Y in this example) are executed. In the graph 1400 illustrated in FIG. 14, a value obtained by adding the processing parallelism model predicted values of the query X and the query Y is displayed as a graph line 902 of the processing parallelism model predicted value, and the processing parallelism actual measurement value 1402 of the query X is displayed. And the query parallel processing actual measurement value 1404 of the query Y are displayed in different colors.

実施例1においては、例えばLVM(Logical Volume Manager)のようなI/Oパスの抽象化層に関して説明していないが、I/Oパスの抽象化層を考慮した処理並列度モデル予測値と処理並列度実測値の算出し、その結果の表示により、DBMS120の処理挙動の解析を行うものとして良い。図15A、図15BはLVMを用いた場合の論理ボリューム情報、ボリュームグループ情報の一例の構成図である。論理ボリューム情報1500は、論理的な記憶領域である論理ボリュームと、当該論理ボリュームが作られるボリュームグループのマッピングに関する情報であり、論理ボリューム毎にエントリを有する。各エントリは、論理ボリュームを識別するための論理ボリューム名を登録するフィールド1502、当該論理ボリュームが作られるボリュームグループを識別するためのボリュームグループ名を登録するフィールド1504を有する。ボリュームグループ情報1510は、ボリュームグループと当該ボリュームグループを構成する物理ボリューム(デバイス)のマッピングに関する情報であり、ボリュームグループ毎にエントリを有する。各エントリは、ボリュームグループを識別するためのボリュームグループ名を登録するフィールド1512、当該ボリュームグループを構成する物理ボリューム(デバイス)を登録するフィールド1514を有する。また、この場合、DBファイルは論理ボリューム上に作成することになり、図2BのDBファイル情報124のデバイス名を登録するフィールド212には作成した論理ボリューム名を登録する。処理並列度モデル予測値、及び処理並列度実測値を算出する処理では、論理ボリューム情報1500、及びボリュームグループ1510を参照して、DBMS120がDB処理を実行する際にアクセスするHDDを特定する。   In the first embodiment, for example, an I / O path abstraction layer such as LVM (Logical Volume Manager) has not been described. However, a processing parallelism model predicted value and processing in consideration of the I / O path abstraction layer are described. It is also possible to analyze the processing behavior of the DBMS 120 by calculating the measured parallelism value and displaying the result. FIG. 15A and FIG. 15B are configuration diagrams of an example of logical volume information and volume group information when LVM is used. The logical volume information 1500 is information related to mapping between a logical volume that is a logical storage area and a volume group in which the logical volume is created, and has an entry for each logical volume. Each entry has a field 1502 for registering a logical volume name for identifying a logical volume, and a field 1504 for registering a volume group name for identifying a volume group in which the logical volume is created. The volume group information 1510 is information relating to mapping between a volume group and physical volumes (devices) constituting the volume group, and has an entry for each volume group. Each entry has a field 1512 for registering a volume group name for identifying a volume group, and a field 1514 for registering a physical volume (device) constituting the volume group. In this case, the DB file is created on the logical volume, and the created logical volume name is registered in the field 212 for registering the device name of the DB file information 124 in FIG. 2B. In the process of calculating the process parallelism model predicted value and the process parallelism actual measurement value, the logical volume information 1500 and the volume group 1510 are referenced to specify the HDD to be accessed when the DBMS 120 executes the DB process.

実施例1においては、処理並列度モデル予測値値(例えば、HDDタグ数のモデル予測値)と、処理並列度実測値(例えば、HDDタグ数の実測値)とに着目して、DBMS120の挙動・性能を解析する方法を説明しているが、例えば、性能を消費電力と置き換え、計算機システムで問合わせを実行した場合の消費電力モデル予測値と、実際にクエリを実行した際の消費電力実測値とを算出し、消費電力のモニタリングとして活用することも可能である。特に、大規模なシステム環境においては膨大な電力を消費するため、予め消費電力モデル予測値を算出してシステム管理者に提示するだけでも有用である。また、消費電力モデル予測値と、消費電力実測値とを比較可能に表示することにより、消費電力の解析を容易に行うこともできる。   In the first embodiment, the behavior of the DBMS 120 is focused on the processing parallelism model predicted value value (for example, the model predicted value of the number of HDD tags) and the processing parallelism measured value (for example, the measured value of the HDD tag number). Explains how to analyze performance. For example, replace performance with power consumption, and estimate the power consumption model when a query is executed on a computer system, and measure the power consumption when the query is actually executed It is also possible to calculate the value and use it as power consumption monitoring. In particular, in a large-scale system environment, an enormous amount of power is consumed. Therefore, it is useful to calculate a power consumption model prediction value in advance and present it to the system administrator. Further, by displaying the power consumption model predicted value and the power consumption actual measurement value in a comparable manner, the power consumption can be easily analyzed.

以上説明したように、実施例1によると、システム管理者は、DBMS120がモデルに基づいて予測した処理挙動通りに動作しているか、動作していないかを容易に判定することが可能となり、また動作していない場合には問題が発生していると捉え、その問題の原因箇所を容易に特定することが可能となる。更に、DBMS120の実際の挙動を容易に調査・解析することが可能となり、DBMS120の挙動・性能解析に要する時間を大幅に短縮することができる。   As described above, according to the first embodiment, the system administrator can easily determine whether the DBMS 120 is operating according to the processing behavior predicted based on the model or not. When it is not operating, it is considered that a problem has occurred, and the cause of the problem can be easily identified. Furthermore, the actual behavior of the DBMS 120 can be easily investigated and analyzed, and the time required for the behavior / performance analysis of the DBMS 120 can be greatly reduced.

以下、実施例2を説明する。その際、実施例1との相違点を主に説明し、実施例1との共通点については説明を省略或いは簡略する。   Example 2 will be described below. At that time, differences from the first embodiment will be mainly described, and description of common points with the first embodiment will be omitted or simplified.

実施例1では、解析・可視化プログラム195は、モデル予測値を算出し、モデル予測値と実測値とをディスプレイ144に表示するが、実施例2では、解析・可視化プログラム195は、モデル予測値を必ずしも算出及び表示しないで良い。実施例2では、DBモニタ情報出力部132が、クエリ実行の進行に伴い、タスクの実行に係るイベントドリブンの情報を後述のDB処理情報2200、2400として出力し、解析・可視化プログラム195はその情報を取得してタスクの実行状況を示すグラフを画面に表示する。   In the first embodiment, the analysis / visualization program 195 calculates the model predicted value and displays the model predicted value and the actual measurement value on the display 144. In the second embodiment, the analysis / visualization program 195 displays the model predicted value. It is not always necessary to calculate and display. In the second embodiment, as the query execution progresses, the DB monitor information output unit 132 outputs event-driven information related to task execution as DB processing information 2200 and 2400, which will be described later, and the analysis / visualization program 195 displays the information. Is displayed and a graph showing the task execution status is displayed on the screen.

勿論、実施例1と実施例2を組み合わせることもできる。実施例1と実施例2の組み合わせでは、例えば、下記の流れが考えられる。
(A)解析・可視化プログラム195が、取得した各種モニタ情報を基に、DBMS120の処理挙動のモデル予測値と実測値とを算出し、それらのグラフ(図11A〜図11C、必要に応じて(例えば、システム管理者からの要求に応答して)図12A〜図12C)をディスプレイ144に表示する。
(B)システム管理者は、それらのグラフを見て、DBMS120の処理に問題が発生しているか否かを判定する。
Of course, Example 1 and Example 2 can also be combined. In the combination of Example 1 and Example 2, for example, the following flow can be considered.
(A) The analysis / visualization program 195 calculates a model predicted value and an actual measurement value of the processing behavior of the DBMS 120 based on the acquired various monitor information, and displays these graphs (FIGS. 11A to 11C, as necessary ( For example, in response to a request from the system administrator, FIGS. 12A-12C) are displayed on the display 144.
(B) The system administrator looks at these graphs and determines whether a problem has occurred in the processing of the DBMS 120.

上記(B)で、問題が発生していると判定された場合、システム管理者は、次のような操作を行うことで、発生している問題を特定することができる。なお、特定される問題としては、例えば、DBMS1202はタスクを並列に実行可能であるにも関わらず逐次的にタスクが実行されている等がある。   When it is determined in (B) that a problem has occurred, the system administrator can identify the problem that has occurred by performing the following operation. As a problem to be identified, for example, the DBMS 1202 can execute tasks in parallel even though the tasks can be executed in parallel.

例えば、システム管理者は、ディスプレイ144に表示された画面のメニューを操作することにより、解析・可視化プログラム195に、DBMS120の挙動に関するグラフ(例えば図13A〜図13C)を表示させる。これにより、システム管理者は、スレッドの実行状態やオブジェクトアクセス状態等の解析を行うことができる。   For example, the system administrator causes the analysis / visualization program 195 to display graphs relating to the behavior of the DBMS 120 (for example, FIGS. 13A to 13C) by operating a menu on the screen displayed on the display 144. As a result, the system administrator can analyze the thread execution state, the object access state, and the like.

また、例えば、システム管理者は、ディスプレイ144に表示された画面のメニューを操作することにより、解析・可視化プログラム195に、可視化ウィンドウ2500(図25)を表示させ、且つ、解析・可視化プログラム195に、タスク挙動可視化ツリー(例えば図26又は図30)、及び/又は、データ構造可視化ツリー(例えば図27)を可視化ウィンドウ2500上に描画させる。タスク挙動可視化ツリー及びデータ構造可視化ツリーにおける各ノードの表示態様は、クエリの実行の進捗に応じて(図22、及び図24に示すDB処理情報内のイベントタイプに応じて)変化する。これにより、システム管理者は、クエリの実行の際に生じた問題を特定することができる。   Further, for example, the system administrator operates the menu of the screen displayed on the display 144 to cause the analysis / visualization program 195 to display the visualization window 2500 (FIG. 25), and the analysis / visualization program 195 Then, a task behavior visualization tree (for example, FIG. 26 or FIG. 30) and / or a data structure visualization tree (for example, FIG. 27) is rendered on the visualization window 2500. The display mode of each node in the task behavior visualization tree and the data structure visualization tree changes according to the progress of execution of the query (according to the event type in the DB processing information shown in FIGS. 22 and 24). As a result, the system administrator can identify a problem that has occurred during execution of the query.

以下、実施例2を詳細に説明する。   Hereinafter, Example 2 will be described in detail.

実施例2では、スキーマとして、例えば、図16に示すように、索引IA、表A、索引IB及び表Bがある。索引IAは、表AのカラムA2に張られているおり、索引IBは、表BのカラムB1に張られている。   In the second embodiment, for example, there are an index IA, a table A, an index IB, and a table B as shown in FIG. The index IA is stretched on the column A2 of Table A, and the index IB is stretched on the column B1 of Table B.

DBMS120は、図16に示したスキーマ群について、図17Aに示すクエリを受信した場合、図17Bに示すクエリプランを生成し、その実行結果として、例えば、図17Cに示すクエリ結果を取得する。   When the DBMS 120 receives the query shown in FIG. 17A for the schema group shown in FIG. 16, the DBMS 120 generates the query plan shown in FIG. 17B and acquires the query result shown in FIG. 17C as the execution result.

図16に示したスキーマ群のうち、索引IA及び表Aについては、データ構造が、図18に示す通りの構造であって、索引IB及び表Bについては、データ構造が、図19に示す通りの構造であるとする。図18及び図19において、「P」は、DBページを表している。以下、「Pxxx」を(xxxは3桁の整数)、DBページ#xxxと表記する。例えば、図18によれば、カラムA2の値として「ABB」以上の値を含んだレコード内の値は、DBページ#101からページ参照に従いDBページ#103を参照し、かつ、DBページ#103からレコード参照に従いDBページ#105及び106を参照することで、DBページ#105及び106から取得可能である。   In the schema group shown in FIG. 16, the data structure of index IA and table A is as shown in FIG. 18, and the data structure of index IB and table B is as shown in FIG. It is assumed that the structure is 18 and 19, “P” represents a DB page. Hereinafter, “Pxxx” (xxx is a three-digit integer) is expressed as DB page #xxx. For example, according to FIG. 18, the value in the record including the value of “ABB” or more as the value of the column A2 refers to the DB page # 103 according to the page reference from the DB page # 101, and the DB page # 103. Can be acquired from the DB pages # 105 and 106 by referring to the DB pages # 105 and 106 according to the record reference.

なお、索引は、ここでは木構造としているが、ハッシュ等の別の構造であってもよい。   The index has a tree structure here, but may have another structure such as a hash.

また、レコード参照は、ここでは物理参照(例えば、ページIDとページ内の格納位置)としているが、論理参照(一意性のある主キー)であってもよい。その場合、二次索引から索引エントリを得て、主索引を検索して、レコードを得ることができる。   The record reference is a physical reference (for example, a page ID and a storage position in the page) here, but may be a logical reference (a unique primary key). In that case, an index entry can be obtained from the secondary index and the main index can be searched to obtain a record.

また、表のデータ構造は、フラットファイルとしているが、索引構成表のように、索引同様に木構造等であってもよい。   The data structure of the table is a flat file, but it may be a tree structure or the like like the index as in the index-organized table.

上記のデータ構造を表す情報は、通常、計算機100のメモリ110に記憶させるには困難な程に膨大である。そのため、DBMS120は、その情報のサマリであるデータ構造サマリテーブルを作成し、データ構造サマリテーブルをメモリ110に記憶させる。   The information representing the above data structure is usually so large that it is difficult to store the information in the memory 110 of the computer 100. Therefore, the DBMS 120 creates a data structure summary table that is a summary of the information, and stores the data structure summary table in the memory 110.

図20は、データ構造サマリテーブル2000の一例を示す。このテーブル2000は、DBページ毎に、ページIDと、オブジェクトID(DBページに格納されている値を有するスキーマのID)と、親DBページID(DBページの親DBページ(参照元のDBページ)のID)と、キー範囲(使用可能なキー値の上限と下限)とを含む。   FIG. 20 shows an example of the data structure summary table 2000. This table 2000 includes, for each DB page, a page ID, an object ID (an ID of a schema having a value stored in the DB page), and a parent DB page ID (a parent DB page of a DB page (reference source DB page). ) ID) and key range (upper and lower limits of usable key values).

25個のタスク#1〜#25があるとする。   Assume that there are 25 tasks # 1 to # 25.

従来型のDBMSであれば、図21に示すように、25個のタスクを逐次的に実行する。その実行履歴が記述されたレコードの集合を表すDB処理情報は、例えば、図22に示すDB処理情報2200となる。DB処理情報2200は、1以上のレコードを有する。1つのレコードは、1つのタスク実行履歴に対応しており、エントリ番号(履歴の番号)と、タイムスタンプ(タスク実行の時刻又は番号)と、スレッドID(実行されたタスクを有するスレッドのID)と、イベントタイプ(タスク実行により行われたイベントのタイプ)と、タスクID(実行されたタスクのID)と、親タスクID(実行されたタスクの親タスクのID)とを有する。DB処理情報2200は、図2Eに示すDB処理情報130の変形例である。   In the case of a conventional DBMS, 25 tasks are sequentially executed as shown in FIG. DB processing information representing a set of records in which the execution history is described is, for example, DB processing information 2200 shown in FIG. The DB processing information 2200 has one or more records. One record corresponds to one task execution history, and includes an entry number (history number), a time stamp (task execution time or number), and a thread ID (ID of a thread having a executed task). And an event type (type of an event performed by task execution), a task ID (ID of the executed task), and a parent task ID (ID of the parent task of the executed task). The DB processing information 2200 is a modification of the DB processing information 130 shown in FIG. 2E.

しかし、前述したDBMS120は、タスクを並列に実行するようになっており、例えば、タスク#1〜#25を、図23に示す通りに実行する。より具体的には、DBMS120は、タスク#1を生成して実行し、実行されたタスク#1に対応したDBオペレーションの実行結果に基づき次のDBオペレーションを実行する場合には、当該実行結果に基づくタスク#2及び#16を新たに生成し、新たに生成したタスク#2及び#16を並列に実行する。これにより、図21と図23を比較してわかるように、クエリの実行に要する時間を短くすることができる。なお、図23に示した通りにタスク#1〜#25を実行した場合のDB処理情報は、例えば、図24に示すDB処理情報2400の通りとなる。DB処理情報2400は計算機100のメモリ110に記憶される。   However, the DBMS 120 described above executes tasks in parallel. For example, the tasks # 1 to # 25 are executed as shown in FIG. More specifically, the DBMS 120 generates and executes task # 1, and when executing the next DB operation based on the execution result of the DB operation corresponding to the executed task # 1, Based on the newly generated tasks # 2 and # 16, the newly generated tasks # 2 and # 16 are executed in parallel. As a result, as can be seen by comparing FIG. 21 and FIG. 23, the time required for executing the query can be shortened. Note that the DB processing information when the tasks # 1 to # 25 are executed as illustrated in FIG. 23 is, for example, as the DB processing information 2400 illustrated in FIG. The DB processing information 2400 is stored in the memory 110 of the computer 100.

図22のエントリ番号6及び7のレコードと、図24のエントリ番号6及び7のレコードを比べるとわかるように、従来型のDBMSは、タスク#2に対応したオペレーションを逐次的に実行しているが、実施例2に係るDBMS120は、タスク#2に対応したオペレーションとタスク#16に対応したオペレーションを並列に実行する。   As can be seen from the comparison between the records of entry numbers 6 and 7 in FIG. 22 and the records of entry numbers 6 and 7 in FIG. 24, the conventional DBMS sequentially executes operations corresponding to task # 2. However, the DBMS 120 according to the second embodiment executes the operation corresponding to the task # 2 and the operation corresponding to the task # 16 in parallel.

従来型のDBMSの挙動において何らかの問題が生じても、タスクは発生順に逐次に行われるので、問題を特定することは困難ではないと考えられる。   Even if some problem occurs in the behavior of the conventional DBMS, it is considered that it is not difficult to identify the problem because the tasks are sequentially performed in the order of occurrence.

しかし、実施例2(及び実施例1)のような、タスクを並列に実行するDBMSの挙動において何らかの問題が生じた場合は、タスクがどのような順番で実行されるかが決まっていないので、問題を特定することは困難である。   However, if any problem occurs in the behavior of the DBMS that executes tasks in parallel as in the second embodiment (and the first embodiment), it is not determined in what order the tasks are executed. It is difficult to identify the problem.

この問題を解決する方法として、DBMSの挙動を可視化することが考えられる。   As a method for solving this problem, it is conceivable to visualize the behavior of the DBMS.

しかし、DBMSの挙動(DBMSが計算機でどのように動いているか)が単純に可視化されても、システム管理者が問題を特定できるとは限らない。例えば、解析・可視化プログラムは、図24に示したDB処理情報2400をテキストで表示することで、DBMSの挙動を可視化することはできる。しかし、システム管理者は、問題を特定するために、表示されたDB処理情報におけるレコードを時系列順に追う必要があり、問題を特定するための負担が大きい。   However, even if the behavior of the DBMS (how the DBMS operates on the computer) is simply visualized, the system administrator cannot always identify the problem. For example, the analysis / visualization program can visualize the behavior of the DBMS by displaying the DB processing information 2400 shown in FIG. 24 as text. However, in order to identify the problem, the system administrator needs to follow the records in the displayed DB processing information in chronological order, and the burden for identifying the problem is large.

そこで、実施例2では、解析・可視化プログラム195が、DB処理情報2400を計算機100から取得し、取得したDB処理情報2400をメモリ192に格納する。解析・可視化プログラム195が、DBMS120の挙動を、メモリ192内のDB処理情報2400を基に、下記のルール、
(a)実行されたタスクを表すオブジェクトであるタスクオブジェクトを描画する、
(b)タスクオブジェクトの表示態様を、そのタスクオブジェクトが表すタスクの状態(タスク実行により行われたイベントのタイプ)の変化に応じて変える、
に従い可視化する。例えば、タスクオブジェクトは、ツリーにおけるノードであっても良いし、実行されたタスクの数で所定の領域(例えば円)を等分することにより得られた断片領域(例えば扇形領域)であっても良い。また、タスク状態によって変わる表示態様としては、色、模様、明るさ、タスクオブジェクト(例えばノード)の大きさ、線の太さ、或いは、非表示から表示への変更、など、種々の態様を採用することができる。また、解析・可視化プログラム195は、タスクオブジェクトの表示態様を、アニメーションで変化させても良い。また、解析・可視化プログラム195は、DB処理情報2400を基に、タスクの親子関係を表すオブジェクト(例えば、タスクオブジェクト間を結ぶエッジ(リンク))を描画しても良い。
Thus, in the second embodiment, the analysis / visualization program 195 acquires the DB processing information 2400 from the computer 100 and stores the acquired DB processing information 2400 in the memory 192. The analysis / visualization program 195 determines the behavior of the DBMS 120 based on the DB processing information 2400 in the memory 192 as follows:
(A) drawing a task object which is an object representing the executed task;
(B) The display mode of the task object is changed in accordance with the change in the state of the task represented by the task object (the type of event performed by the task execution).
Visualize according to For example, the task object may be a node in the tree, or may be a fragment area (for example, a sector area) obtained by equally dividing a predetermined area (for example, a circle) by the number of executed tasks. good. Also, various display modes such as color, pattern, brightness, task object (for example, node) size, line thickness, or change from non-display to display are adopted as display modes that change depending on the task status. can do. The analysis / visualization program 195 may change the display mode of the task object by animation. Further, the analysis / visualization program 195 may draw an object representing a parent-child relationship of tasks (for example, an edge (link) connecting task objects) based on the DB processing information 2400.

DBの規模が大きくなると、上記のタスクオブジェクトの数も多くなり、解析・可視化プログラム195が上記の描画を行った場合、描画の内容が過密となってユーザ(解析者)がその挙動をどう解釈して良いか分からなくなる可能性がある。そこで、解析・可視化プログラム195は、ユーザの指示によって、上記タスクオブジェクトの全てを表示する表示形態と、指定されたタスクオブジェクトの一部を表示する表示形態を切り替えることができるようにしても良い。また、表示する一部のタスクオブジェクトの選択には、例えばマウスポインタを選択したいタスクオブジェクトに合わせ、そこを基点にズームイン、ズームアウトによって、表示する上記タスクオブジェクトの範囲を選択できるようにしても良い。   As the DB size increases, the number of task objects increases, and if the analysis / visualization program 195 performs the above drawing, the drawing contents become overcrowded and the user (analyst) interprets the behavior. There is a possibility that you do not know what to do. Therefore, the analysis / visualization program 195 may be able to switch between a display form for displaying all of the task objects and a display form for displaying a part of the designated task objects according to a user instruction. In addition, when selecting a part of the task object to be displayed, the range of the task object to be displayed may be selected by, for example, setting the mouse pointer to the task object to be selected and zooming in and out from that point. .

以下、幾つかの具体例を説明する。   Several specific examples will be described below.

解析・可視化プログラム195は、可視化ウィンドウの表示のための操作を表す情報を入出力装置188から受けた場合に、図25に示すような可視化ウィンドウ2500をディスプレイ144に表示する。   The analysis / visualization program 195 displays a visualization window 2500 as shown in FIG. 25 on the display 144 when information representing an operation for displaying the visualization window is received from the input / output device 188.

可視化ウィンドウ2500は、タスク挙動可視化ツリーが表示されるタスク表示エリア2501と、オブジェクトのデータ構造可視化ツリーが表示されるオブジェクト表示エリアとを有する。オブジェクト表示エリアとしては、例えば、1以上の索引にそれぞれ対応した1以上のデータ構造可視化ツリーが表示される1以上の索引の表示エリア2502A、2502Bと、1以上の表にそれぞれ対応した1以上のデータ構造可視化ツリーが表示される1以上の表の表示エリア2503A、2503Bとがある。索引の表示エリアとその索引から参照される表の表示エリアは、所定方向(例えば鉛直方向)に沿って並んでいる。   The visualization window 2500 includes a task display area 2501 in which a task behavior visualization tree is displayed, and an object display area in which an object data structure visualization tree is displayed. As the object display area, for example, one or more index display areas 2502A and 2502B in which one or more data structure visualization trees respectively corresponding to one or more indexes are displayed, and one or more tables corresponding to one or more tables, respectively. There are one or more table display areas 2503A and 2503B in which a data structure visualization tree is displayed. The index display area and the table display area referenced from the index are arranged along a predetermined direction (for example, the vertical direction).

また、可視化ウィンドウ2500は、タイムスタンプスライダ2504と、ズームインボタン2505と、ズームアウトボタン2506とを有する。タイムスタンプスライダ2504は、タイムスタンプ調整ツールの一例であり、スライダ2504が走るバー2505の一端が、ルートタスク(最初のタスク)の実行開始時刻(DB処理情報2400の先頭レコードにおけるタイムスタンプが表す時刻)であり、バー2505の他端が、エンドタスク(最後のタスク)に対応するDBオペレーションが終了した時刻(DB処理情報2400の末尾レコードにおけるタイムスタンプが表す時刻)である。   The visualization window 2500 includes a time stamp slider 2504, a zoom-in button 2505, and a zoom-out button 2506. The time stamp slider 2504 is an example of a time stamp adjustment tool. One end of a bar 2505 on which the slider 2504 runs is the execution start time of the root task (first task) (the time indicated by the time stamp in the first record of the DB processing information 2400). The other end of the bar 2505 is the time when the DB operation corresponding to the end task (the last task) is completed (the time indicated by the time stamp in the end record of the DB processing information 2400).

図26は、タスク表示エリア2501に描画されるタスク挙動可視化ツリーの一例である。   FIG. 26 is an example of a task behavior visualization tree drawn in the task display area 2501.

タスク挙動可視化ツリーは、タスクをノード、タスクの親子関係をエッジ(リンク)とするグラフである。   The task behavior visualization tree is a graph in which the task is a node and the parent-child relationship of the task is an edge (link).

所定方向(例えば鉛直方向)に沿って、例えば、タイムスタンプの古い方から新しい方へと、25個のタスク#1〜#25に対応する25個のノードが並んでいる。図26では、例えば、ルートタスク(タイムスタンプの最も古いタスク)が最も上にあり、エンドタスク(タイムスタンプの最も古いタスク)が最も下にある。解析・可視化プログラム195は、タスク挙動可視化ツリーの表示範囲における鉛直座標範囲を、鉛直方向に並ぶノードの数で等分し、等分された各座標位置に、ノードを描画する。この除算において、解析・可視化プログラム195は、イベントタイプ「タスク開始」のタイムスタンプが実質的に同じ2以上のノードを1個のノードとみなす。従って、このツリーから、鉛直座標が同じ2以上のノードにそれぞれ対応した2以上のタスクは、実質的に同じタイミングでタスク開始となっていることがわかる。   For example, 25 nodes corresponding to 25 tasks # 1 to # 25 are arranged along a predetermined direction (for example, the vertical direction) from the oldest time stamp to the newest time stamp. In FIG. 26, for example, the root task (the task with the oldest time stamp) is at the top, and the end task (the task with the oldest time stamp) is at the bottom. The analysis / visualization program 195 equally divides the vertical coordinate range in the display range of the task behavior visualization tree by the number of nodes arranged in the vertical direction, and draws the node at each equally divided coordinate position. In this division, the analysis / visualization program 195 considers two or more nodes having substantially the same time stamp of the event type “task start” as one node. Therefore, it can be seen from this tree that two or more tasks respectively corresponding to two or more nodes having the same vertical coordinate are started at substantially the same timing.

また、タスク挙動可視化ツリーにおいて、ルートタスクに相当するノードから等距離のノードが、水平方向に沿って等間隔で配置される。   In the task behavior visualization tree, nodes equidistant from the node corresponding to the root task are arranged at equal intervals along the horizontal direction.

タスク挙動可視化ツリーにおけるノード及びエッジの表示態様に対応した状態種類として、例えば、未開始タスク、IO中タスク(イベントタイプが「Task Start」又は「IO-Submit」であるタスク))、OP中タスク(イベントタイプが「IO-GetEvent」又は「OP Start」であるタスク)、及びOP完了タスク(イベントタイプが「OP End」であるタスク)の4種類がある。解析・可視化プログラム195は、初期状態では、全てのノード及びエッジを未開始タスクに対応する表示態様で描画し、その後、ノード及びエッジの表示態様を、指定時刻でのタスクの状態に対応した表示態様に変える。図26に示すツリーは、タイムスタンプ「103.00」でのタスク実行状態を表す。図24のDB処理情報2400によれば、タイムスタンプ「103.00」で、タスク#1のイベントタイプは「OP End」となっており、タスク#2及び16のイベントタイプは「IO-Submit」となっており、且つ、それ以外のタスクは未開始である。このため、解析・可視化プログラム195は、タスク#1に対応するノード及びエッジの表示態様を、OP完了タスクに対応した表示態様に変更し(例えば、アニメーションで、途中の表示態様(IO中タスク、OP中タスク)も表示した上で変更し)、タスク#2及び16に対応するノード及びエッジの表示態様を、IO中タスクに対応した表示態様に変更し、それ以外のタスクに対応するノード及びエッジの表示態様を、未開始タスクに対応した表示態様のままとする。   State types corresponding to the display mode of nodes and edges in the task behavior visualization tree include, for example, an unstarted task, an IO task (task whose event type is “Task Start” or “IO-Submit”), and an OP task There are four types of tasks (tasks whose event type is “IO-GetEvent” or “OP Start”) and OP completion tasks (tasks whose event type is “OP End”). In the initial state, the analysis / visualization program 195 draws all nodes and edges in a display mode corresponding to the unstarted task, and then displays the node and edge display modes corresponding to the task state at the specified time. Change to embodiment. The tree shown in FIG. 26 represents the task execution state at the time stamp “103.00”. According to the DB processing information 2400 of FIG. 24, the event type of task # 1 is “OP End” with the time stamp “103.00”, and the event type of tasks # 2 and 16 is “IO-Submit”. And other tasks have not started yet. For this reason, the analysis / visualization program 195 changes the display mode of the node and edge corresponding to the task # 1 to the display mode corresponding to the OP completion task (for example, an intermediate display mode (IO task, Change the display mode of the nodes and edges corresponding to the tasks # 2 and 16 to the display mode corresponding to the task during IO, and the nodes and The display mode of the edge remains the display mode corresponding to the unstarted task.

図27は、スキーマ表示エリア2502A、2502B、2503A及び2503Bに描画されるデータ構造可視化ツリーの一例である。   FIG. 27 is an example of a data structure visualization tree drawn in the schema display areas 2502A, 2502B, 2503A, and 2503B.

データ構造可視化ツリーは、DBページをノード、データ構造上のページ間の依存関係をエッジ(リンク)とするグラフである。   The data structure visualization tree is a graph in which a DB page is a node and a dependency between pages on the data structure is an edge (link).

解析・可視化プログラム195は、データ構造サマリテーブル2000を計算機100から取得し、取得したデータ構造サマリテーブル2000をメモリ192に格納する。解析・可視化プログラム195は、メモリ192内のDB処理情報2400とデータ構造サマリテーブル2000に基づいて、データ構造可視化ツリーを描画する。   The analysis / visualization program 195 acquires the data structure summary table 2000 from the computer 100 and stores the acquired data structure summary table 2000 in the memory 192. The analysis / visualization program 195 draws a data structure visualization tree based on the DB processing information 2400 and the data structure summary table 2000 in the memory 192.

データ構造上のDBページ間の親子関係は、リンクアレイの場合、リンク等であってよい。データ構造がフラットファイルである場合は、解析・可視化プログラム195は、DBページに対応するノードを、グラフ構造として描画せず、ページのアドレス順で配置して描画してもよい。また、解析・可視化プログラム195は、データ構造ではなくデータベース全体を、DBページのアドレス順にノードを配置することで描画してもよい。   The parent-child relationship between DB pages on the data structure may be a link or the like in the case of a link array. When the data structure is a flat file, the analysis / visualization program 195 may draw the nodes corresponding to the DB page by arranging them in the page address order without drawing them as a graph structure. The analysis / visualization program 195 may draw the entire database instead of the data structure by arranging the nodes in the order of the DB page addresses.

データ構造のルートページに相当するノードから等距離のノードが、水平方向に等間隔で配置される。   Nodes equidistant from the node corresponding to the root page of the data structure are arranged at equal intervals in the horizontal direction.

データ構造可視化ツリーにおけるノード及びエッジの表示態様に対応した状態種類として、例えば、未IOページ(対応するタスクが未開始タスクであるDBページ)、IO済ページ(対応するタスクがIO中タスクであるDBページ)、OP中ページ(対応するタスクがOP中タスクであるDBページ)、及びOP済ページ(対応するタスクがOP完了タスクであるDBページ)の4種類がある。解析・可視化プログラム195は、初期状態では、全てのノード及びエッジを未IOページに対応する表示態様で描画し、その後、ノード及びエッジの表示態様を、指定時刻でのタスクの状態に依存するDBページ状態に対応した表示態様に変える。図27に示すツリーは、タイムスタンプ「103.00」での状態を表す。図24に示すDB処理情報2400によれば、タイムスタンプ「103.00」で、DBページ#101は、OP完了タスクであるタスク#1から参照されるDBページであり、DBページ#102及び103は、IO中タスクであるタスク#2及び16から参照されるDBページであり、それ以外のDBページは、未開始タスクであるタスクから参照されるDBページである。このため、解析・可視化プログラム195は、DBページ#101に対応するノード及びエッジの表示態様を、OP済ページに対応した表示態様に変更し(例えば、アニメーションで、途中の表示態様(IO済ページ、OP中ページ)も表示した上で変更し)、DBページ#102及び103に対応するノード及びエッジの表示態様を、IO済ページに対応した表示態様に変更し、それ以外のDBページに対応するノード及びエッジの表示態様を、未IOページの表示態様のままとする。   As status types corresponding to display modes of nodes and edges in the data structure visualization tree, for example, an unIO page (a DB page whose corresponding task is an unstarted task), an IO-completed page (a corresponding task is an in-IO task) DB page), OP page (DB page whose corresponding task is an OP task), and OP completed page (DB page whose corresponding task is an OP completion task). In the initial state, the analysis / visualization program 195 draws all nodes and edges in a display mode corresponding to an unIO page, and then changes the display mode of the nodes and edges depending on the task state at the specified time. Change to the display mode corresponding to the page state. The tree shown in FIG. 27 represents a state at the time stamp “103.00”. According to the DB processing information 2400 shown in FIG. 24, the DB page # 101 is a DB page referred to by the task # 1 that is the OP completion task with the time stamp “103.00”, and the DB pages # 102 and 103 Are DB pages that are referred to by tasks # 2 and 16 that are in-IO tasks, and other DB pages are DB pages that are referred to by tasks that are unstarted tasks. For this reason, the analysis / visualization program 195 changes the display mode of the node and edge corresponding to the DB page # 101 to the display mode corresponding to the OP-completed page (for example, an intermediate display mode (IO-completed page in animation)). Change the display mode of the nodes and edges corresponding to the DB pages # 102 and 103 to the display mode corresponding to the IO completed page, and support other DB pages. The display mode of the nodes and edges to be kept is the display mode of the non-IO page.

解析・可視化プログラム195は、指定時刻が変わるにつれ(スライダ2504が移動するにつれ)、各種ツリーのノード及びエッジの表示態様を、遷移後の指定時刻のイベントタイプ(又はそれ以前で最も指定時刻に近いイベントタイプ)に応じた表示態様に変更する。例えば、指定時刻が第1の時刻「103.00」から第2の時刻(例えば第1の時刻よりも将来の或る時刻)に変わった場合、解析・可視化プログラム195は、DB処理情報2400を基に、タスク実行可視化ツリーの表示を、図26に示した表示から図28に示す表示に変更し(例えばアニメーションで変更し)、且つ、各データ構造可視化ツリーの表示を、図27に示した表示から図29に示す表示に変更する(例えばアニメーションで変更する)。具体的には、解析・可視化プログラム195は、DB処理情報2400におけるレコードの参照先を、指定時刻の変化に伴い切り替えていき、レコード参照先を切り替えに伴い参照したレコード内の値(特にイベントタイプ)に基づいて、当該レコードに対応するタスクについてのノード及びエッジの表示態様を変更する。解析・可視化プログラム195は、タスク挙動可視化ツリーとデータ構造可視化ツリーの両方の表示態様を、指定時刻の変化に伴い変更する。すなわち、例えば、解析・可視化プログラム195は、指定時刻の変更の結果、タスク#1の状態が未開始タスクからOP完了タスクに変わった場合には、タスク#1に対応するノード及びエッジの表示態様を、未開始タスクの表示態様からOP完了タスクの表示態様に変更する(例えば、途中の表示態様も経てアニメーションで変更する)と共に、それに伴って、タスク#1から参照されるDBページ#101の表示態様を、未IOページの表示態様からOP済ページの表示態様に変更する(例えば、途中の表示態様も経てアニメーションで変更する)。解析・可視化プログラム195は、指定時刻が順方向(過去から未来)で変更されても逆方向(未来から過去)で変更されても、DB処理情報2400におけるレコードの参照先をその変更に伴い切り替え、各種ツリーの表示を変更することができる。   As the specified time changes (as the slider 2504 moves), the analysis / visualization program 195 changes the display mode of the nodes and edges of the various trees to the event type (or earlier than the specified time before the specified time after the transition). Change the display mode according to the event type. For example, when the designated time is changed from the first time “103.00” to the second time (for example, a certain time in the future after the first time), the analysis / visualization program 195 stores the DB processing information 2400. Based on this, the display of the task execution visualization tree is changed from the display shown in FIG. 26 to the display shown in FIG. 28 (for example, changed by animation), and the display of each data structure visualization tree is shown in FIG. The display is changed to the display shown in FIG. 29 (for example, it is changed by animation). Specifically, the analysis / visualization program 195 switches the record reference destination in the DB processing information 2400 as the specified time changes, and the value (especially the event type) in the record referred to when the record reference destination is switched. ) To change the display mode of nodes and edges for the task corresponding to the record. The analysis / visualization program 195 changes the display mode of both the task behavior visualization tree and the data structure visualization tree as the designated time changes. That is, for example, when the state of task # 1 changes from an unstarted task to an OP completed task as a result of changing the designated time, the analysis / visualization program 195 displays the display mode of the node and edge corresponding to task # 1 Is changed from the display mode of the unstarted task to the display mode of the OP completed task (for example, the display mode in the middle is also changed by animation), and accordingly, the DB page # 101 referenced from the task # 1 is changed. The display mode is changed from the display mode of the non-IO page to the display mode of the OP completed page (for example, the display mode in the middle is also changed by animation). The analysis / visualization program 195 switches the record reference destination in the DB processing information 2400 in accordance with the change regardless of whether the designated time is changed in the forward direction (from the past to the future) or in the reverse direction (from the future to the past). The display of various trees can be changed.

実施例2によれば、可視化ウィンドウ2500上に描画された各種ツリーにおけるノード及びエッジの表示態様の変化が、DB処理情報2400を基に、指定時刻の変化に伴い変化する。システム管理者は、各種ツリーにおけるノード及びエッジの表示態様の変化を見ることで、発生した問題を特定することができる。例えば、システム管理者は、タスク挙動可視化ツリーにおいて、ノード及びエッジの表示態様が、タスクのIDの順番で遷移していれば、DBMS120がタスクを実行可能であるにも関わらず逐次的にタスクを実行したという問題があったことを特定することができる。また、例えば、システム管理者は、データ構造可視化ツリーにおいて、いつまでの表示態様が変わらないDBページがある場合には、そのDBページにアクセスすべきタスクが実行されなかったという問題があったことを特定することができる。   According to the second embodiment, the change in the display mode of the nodes and edges in the various trees drawn on the visualization window 2500 changes with the change in the designated time based on the DB processing information 2400. The system administrator can identify a problem that has occurred by looking at changes in the display mode of nodes and edges in various trees. For example, in the task behavior visualization tree, if the node and edge display mode transitions in the order of task IDs, the system administrator sequentially executes tasks even though the DBMS 120 can execute the tasks. It is possible to identify that there was a problem of execution. Further, for example, when there is a DB page whose display mode does not change in the data structure visualization tree, the system administrator has a problem that a task to access the DB page has not been executed. Can be identified.

なお、実施例2において、解析・可視化プログラム195は、ズームインボタン2505を押すといったようなズームインのための操作がされた場合、ズームインの対象、例えば、タスク挙動可視化ツリー及びデータ構造可視化ツリーのうちの少なくとも1つを拡大表示することができる。また、解析・可視化プログラム195は、ズームアウトボタン2506を押すといったようなズームアウトのための操作がされた場合、ズームアウトの対象、例えば、タスク挙動可視化ツリー及びデータ構造可視化ツリーのうちの少なくとも1つを縮小表示することができる。なお、このような伸縮の態様としては、種々の態様を採用することができる。例えば、垂直方向・水平方向の両方に伸縮を行うモードと、その一方についてのみ伸縮を行うモードとが設けられていて、解析・可視化プログラム195は、それらのモードのうちシステム管理者から選択されたモードでツリーの伸縮を行っても良い。また、モードとして、ルートノードを常に表示するように伸縮率を調整するモードがあっても良い。解析・可視化プログラム195は、再描画時には、描画座標上で表示される領域に含まれるノートのその隣接エッジについてのみ、描画処理を行ってもよい。   In the second embodiment, the analysis / visualization program 195, when an operation for zooming in is performed such as pressing the zoom-in button 2505, among the zoom-in targets, for example, the task behavior visualization tree and the data structure visualization tree. At least one can be enlarged and displayed. Further, when an operation for zooming out such as pressing a zoom out button 2506 is performed, the analysis / visualization program 195 displays at least one of zoom out targets, for example, a task behavior visualization tree and a data structure visualization tree. Can be displayed in a reduced size. In addition, various aspects can be employ | adopted as an aspect of such expansion / contraction. For example, a mode for expanding and contracting in both the vertical direction and the horizontal direction and a mode for expanding and contracting only one of them are provided, and the analysis / visualization program 195 is selected by the system administrator from those modes. You may expand and contract the tree in the mode. Further, as a mode, there may be a mode for adjusting the expansion / contraction rate so that the root node is always displayed. At the time of redrawing, the analysis / visualization program 195 may perform the drawing process only for the adjacent edge of the note included in the area displayed on the drawing coordinates.

また、タスク表示エリア2501に表示されるタスク挙動可視化ツリーとしては、図30に示すようなラディカルツリーが採用されても良い。解析・可視化プログラム195は、或るタスクのノード(例えば、ルートタスクのノード)を中心とする同心円状に、同じレベルのタスクのノードを配置することで、図30に示すようなラディカルツリーを描画することができる。「同じレベルのタスク」とは、或るタスクからの世代数を同じくするタスクであってもよいし、或るデータ構造においてルートページから同じ距離のページをアクセスするタスクであってもよい。このようなラディカルツリーについても、例えば、指定時刻が第1の時刻「103.00」から第2の時刻(例えば第1の時刻よりも将来の或る時刻)に変わった場合、解析・可視化プログラム195は、DB処理情報2400を基に、ラディカルツリーの表示を、図30に示した表示から図31に示す表示に変更することができる。   As a task behavior visualization tree displayed in the task display area 2501, a radical tree as shown in FIG. 30 may be employed. The analysis / visualization program 195 draws a radical tree as shown in FIG. 30 by arranging task nodes at the same level in a concentric circle centered on a certain task node (for example, a root task node). can do. The “same level task” may be a task having the same number of generations from a certain task, or a task accessing a page at the same distance from the root page in a certain data structure. Also for such a radical tree, for example, when the designated time changes from the first time “103.00” to the second time (for example, some time in the future after the first time), the analysis / visualization program 195 can change the display of the radical tree from the display shown in FIG. 30 to the display shown in FIG. 31 based on the DB processing information 2400.

また、データ構造可視化ツリーの一変形例として、ラディカルツリーが採用されても良い。   A radical tree may be employed as a modification of the data structure visualization tree.

また、前述した鉛直方向は、第1方向の一例で良く、前述した水平方向は、第2方向(例えば第1方向と直行する方向)の一例で良い。   The vertical direction described above may be an example of a first direction, and the horizontal direction described above may be an example of a second direction (for example, a direction orthogonal to the first direction).

また、タスク挙動及びデータ構造(或いはデータベース)の可視化の少なくとも一方について、上述したようなツリー以外の種類の表示、例えば、A Tree Visualization Reference IEEE Computer Graphics and Applications, Vol. 31, No. 6. (November 2011), pp. 11-15.で述べられているような各種の可視化が採用されても良い。   In addition, at least one of task behavior and data structure (or database) visualization is displayed in a type other than the tree as described above, for example, A Tree Visualization Reference IEEE Computer Graphics and Applications, Vol. 31, No. 6. November 2011), pp. 11-15. Various visualizations may be employed.

以上、幾つかの実施例を説明したが、本発明は、上述した実施例に限らず、種々の態様で実施することが可能である。例えば、上述の説明を基に、下記のような解析システムを導き出すことができる。
複数の記憶媒体を有する記憶装置に記憶されているデータベースに対するクエリの処理においてオペレーションを実行するためのタスクを動的に生成し動的に生成されたタスクを並列に実行するデータベース管理システム(DBMS)の挙動を解析する解析システムであって、
記憶資源と、
前記記憶資源に接続されたプロセッサと
を有し、
前記DBMSは、タスクの変化後の状態とそのときの時刻とを含んだレコードの集合であるイベント情報を生成し、
前記プロセッサは、
前記イベント情報を、前記DBMSを実行する計算機から取得し、前記イベント情報を前記記憶資源に格納し、
前記イベント情報を基に、タスクを表すオブジェクトであるタスクオブジェクトを描画し、且つ、前記タスクオブジェクトの表示態様を、前記タスクオブジェクトのタスクの状態に応じた表示態様にする、
解析システム。
Although several embodiments have been described above, the present invention is not limited to the above-described embodiments, and can be implemented in various modes. For example, the following analysis system can be derived based on the above description.
A database management system (DBMS) that dynamically generates a task for executing an operation in a query processing for a database stored in a storage device having a plurality of storage media and executes the dynamically generated task in parallel An analysis system for analyzing the behavior of
Storage resources,
A processor connected to the storage resource,
The DBMS generates event information that is a set of records including the state after the change of the task and the time at that time,
The processor is
Obtaining the event information from a computer executing the DBMS, storing the event information in the storage resource;
Based on the event information, a task object that is an object representing a task is drawn, and a display mode of the task object is set to a display mode according to a task state of the task object.
Analysis system.

解析システムは、前記イベント情報の全部又は一部の2以上のレコードを時系列に参照し、前記タスクオブジェクトの表示態様を、前記タスクオブジェクトのタスクの変化後の状態に応じた表示態様に変更することができる。ここで言う「時系列」は、レコードにおける時刻が旧い順(順方向)であってもレコードにおける時刻が新しい順(逆方向)であっても良い。   The analysis system refers to two or more records of all or part of the event information in time series, and changes the display mode of the task object to a display mode corresponding to the state after the task of the task object is changed. be able to. The “time series” mentioned here may be the oldest order (forward direction) in the record or the newest order (reverse direction) in the record.

前記イベント情報は、どのタスクがどのタスクにより生成されたかを表す情報を含んでいて良い。解析システムは、前記イベント情報を基に、タスクオブジェクトとタスクオブジェクトとを結ぶ、タスクの生成関係を表すエッジを描画しても良い。   The event information may include information indicating which task is generated by which task. The analysis system may draw an edge representing a task generation relationship that connects the task object to the task object based on the event information.

100、180…計算機、140、142…ネットワーク、144…ディスプレイ、150…ストレージ装置、112…OS、120…DBMS、154…コントローラ、170…制御プログラム、195…解析・可視化プログラム、132…DBモニタ情報出力部、118…OSモニタ情報出力部、174…STモニタ情報出力部。 100, 180 ... computer, 140, 142 ... network, 144 ... display, 150 ... storage device, 112 ... OS, 120 ... DBMS, 154 ... controller, 170 ... control program, 195 ... analysis / visualization program, 132 ... DB monitor information Output unit, 118... OS monitor information output unit, 174... ST monitor information output unit.

Claims (14)

複数の記憶媒体を有する記憶装置に記憶されているデータベースに対するクエリの処理においてオペレーションを実行するためのタスクを動的に生成し並行して実行するデータベース管理システム(DBMS)の挙動を解析する解析システムであって、
記憶資源と、
前記記憶資源に接続されたプロセッサと
を有し、
前記DBMSは、エンティティの状態とそのときの時刻とを含んだレコードの集合である第1の情報を生成し、
前記プロセッサは、
前記第1の情報を、前記DBMSを実行する計算機から取得し、前記第1の情報を前記記憶資源に格納し、
前記第1の情報を基に、エンティティを表すオブジェクトを描画し、且つ、前記オブジェクトの表示態様を、前記オブジェクトが表すエンティティの状態に応じた表示態様にする、
解析システム。
An analysis system for analyzing the behavior of a database management system (DBMS) that dynamically generates and executes tasks for executing operations in a query processing for a database stored in a storage device having a plurality of storage media in parallel Because
Storage resources,
A processor connected to the storage resource,
The DBMS generates first information that is a set of records including the state of the entity and the time at that time,
The processor is
Obtaining the first information from a computer executing the DBMS; storing the first information in the storage resource;
Drawing an object representing an entity based on the first information, and setting the display mode of the object to a display mode according to the state of the entity represented by the object;
Analysis system.
前記エンティティとは、前記DBMSが動的に生成し並行して実行するタスクであり、
前記オブジェクトは、タスクを表すタスクオブジェクトである、
請求項1に記載の解析システム。
The entity is a task that the DBMS dynamically generates and executes in parallel.
The object is a task object representing a task.
The analysis system according to claim 1.
前記第1の情報は、各タスクがどのタスクの実行によって生成されたかを表す情報と、あるタスクの実行によって生成された一つ、または複数のタスクの生成順序を表す情報とを含み、
前記タスクオブジェクトは、ノードであり、
前記プロセッサは、各タスクの生成関係と生成順序とを表すエッジをノード間に有するグラフを描画する、
請求項2に記載の解析システム。
The first information includes information indicating which task is generated by executing each task, and information indicating a generation order of one or a plurality of tasks generated by executing a certain task,
The task object is a node;
The processor draws a graph having edges between nodes representing the generation relationship and generation order of each task.
The analysis system according to claim 2.
前記プロセッサは、
前記タスクオブジェクトを、タスクの状態に応じて異なった表示様態で描画し、
ユーザが指定したタスクに関して、前記記憶装置において前記データベースを構成するデータ構造中のレコードもしくはページであってタスクがアクセスしているレコードもしくはページに関する情報の詳細な情報を表示する、
請求項2又は3に記載の解析システム。
The processor is
The task object is drawn in a different display mode according to the task status,
For the task specified by the user, display detailed information on the record or page in the data structure constituting the database in the storage device and the information on the record or page accessed by the task.
The analysis system according to claim 2 or 3.
前記エンティティとは、前記記憶装置において前記データベースを構成するデータ構造中のレコードもしくはページである、
請求項1乃至4のうちのいずれか1項に記載の解析システム。
The entity is a record or page in a data structure constituting the database in the storage device.
The analysis system according to any one of claims 1 to 4.
前記エンティティの状態は、前記レコードもしくはページがタスクよりアクセスされている状態を含む、
請求項5に記載の解析システム。
The state of the entity includes a state where the record or page is accessed by a task.
The analysis system according to claim 5.
前記DBMSを実行する計算機は、前記データベースのデータ構造のサマリを表す第2の情報を記憶し、
前記第1の情報のレコードが、当該レコードに対応するタスクのアクセス先のページのIDを含んでおり、
前記プロセッサは、
前記第2の情報を、前記計算機から取得し、前記第2の情報を前記記憶資源に格納し、
前記第2の情報に基づき、前記記憶装置において前記データベースを構成するデータ構造中のページを表すオブジェクトであるページオブジェクトを描画し、且つ、前記ページオブジェクトの表示態様を、前記ページにアクセスするタスクの状態に応じた表示態様にする、
請求項5又は6に記載の解析システム。
The computer executing the DBMS stores second information representing a summary of the data structure of the database,
The record of the first information includes the ID of the page to which the task corresponding to the record is accessed;
The processor is
Obtaining the second information from the computer; storing the second information in the storage resource;
Based on the second information, a page object, which is an object representing a page in the data structure constituting the database in the storage device, is drawn, and the display mode of the page object is a task for accessing the page. To display according to the state,
The analysis system according to claim 5 or 6.
前記ページオブジェクトはノードであり、
前記プロセッサは、前記データベースのデータ構造毎に、ページ間の依存関係を表すエッジをノード間に有するグラフを描画する、
請求項7に記載の解析システム。
The page object is a node;
The processor draws a graph having an edge between nodes representing a dependency relationship between pages for each data structure of the database.
The analysis system according to claim 7.
前記プロセッサは、
前記ページオブジェクトを、ページへのアクセスの状態に応じて異なった表示様態で描画し、
ユーザが指定したページに関して、ページの論理・物理アドレスの詳細な情報を表示する、
請求項7又は8に記載の解析システム。
The processor is
The page object is drawn in different display modes depending on the state of access to the page,
Displays detailed information about the page's logical and physical addresses for the page specified by the user.
The analysis system according to claim 7 or 8.
前記プロセッサは、前記第1の情報の全部又は一部の2以上のレコードを時系列に参照することに伴うタスク状態の変化に従い、前記オブジェクトの表示態様を経時的に変化させる、
請求項1乃至9のうちのいずれか1項に記載の解析システム。
The processor changes the display mode of the object over time according to a change in task state associated with referring to two or more records of all or part of the first information in time series.
The analysis system according to any one of claims 1 to 9.
前記プロセッサは、ユーザの指示によって、前記オブジェクトの全てを表示する表示形態と、前記オブジェクトの一部を拡大して表示する表示形態とを切り替えることができる
請求項1乃至10のうちのいずれか1項に記載の解析システム。
11. The processor according to claim 1, wherein the processor can switch between a display form for displaying all of the objects and a display form for displaying a part of the object in an enlarged manner according to a user instruction. The analysis system described in the section.
複数の記憶媒体を有する記憶装置に記憶されているデータベースに対するクエリの処理においてオペレーションを実行するためのタスクを動的に生成し並行して実行するデータベース管理システム(DBMS)を実行する計算機と、
前記DBMSの挙動を解析する解析システムと
を有し、
前記DBMSは、エンティティの状態とそのときの時刻とを含んだレコードの集合である情報を生成し、
前記解析システムは、
前記情報を、前記DBMSを実行する計算機から取得し、
前記情報を基に、エンティティを表すオブジェクトを描画し、且つ、前記オブジェクトの表示態様を、前記オブジェクトが表すエンティティの状態に応じた表示態様にする、
計算機システム。
A computer that executes a database management system (DBMS) that dynamically generates and executes a task for executing an operation in a query processing for a database stored in a storage device having a plurality of storage media in parallel;
An analysis system for analyzing the behavior of the DBMS;
The DBMS generates information that is a set of records including the state of the entity and the time at that time,
The analysis system includes:
Obtaining the information from a computer executing the DBMS;
Based on the information, the object representing the entity is drawn, and the display mode of the object is changed to the display mode according to the state of the entity represented by the object.
Computer system.
複数の記憶媒体を有する記憶装置に記憶されているデータベースに対するクエリの処理においてオペレーションを実行するためのタスクを動的に生成し並行して実行するデータベース管理システム(DBMS)の挙動を解析する解析方法であって、
エンティティの状態とそのときの時刻とを含んだレコードの集合である情報を取得し、
前記情報を基に、エンティティを表すオブジェクトを描画し、且つ、前記オブジェクトの表示態様を、前記オブジェクトが表すエンティティの状態に応じた表示態様にする、
解析方法。
Analysis method for analyzing the behavior of a database management system (DBMS) that dynamically generates and executes tasks for executing operations in a query processing for a database stored in a storage device having a plurality of storage media in parallel Because
Get information that is a set of records including the state of the entity and the time at that time,
Based on the information, the object representing the entity is drawn, and the display mode of the object is changed to the display mode according to the state of the entity represented by the object.
analysis method.
複数の記憶媒体を有する記憶装置に記憶されているデータベースに対するクエリの処理においてオペレーションを実行するためのタスクを動的に生成し並行して実行するデータベース管理システム(DBMS)の挙動の可視化のためのコンピュータプログラムであって、
エンティティの状態とそのときの時刻とを含んだレコードの集合である情報を取得し、
前記情報を基に、エンティティを表すオブジェクトを描画し、且つ、前記オブジェクトの表示態様を、前記オブジェクトが表すエンティティの状態に応じた表示態様にする、
ことをコンピュータに実行させるコンピュータプログラム。
For visualization of the behavior of a database management system (DBMS) that dynamically generates and executes tasks for executing operations in the processing of a query for a database stored in a storage device having a plurality of storage media in parallel A computer program,
Get information that is a set of records including the state of the entity and the time at that time,
Based on the information, the object representing the entity is drawn, and the display mode of the object is changed to the display mode according to the state of the entity represented by the object.
A computer program that causes a computer to execute.
JP2015237190A 2015-12-04 2015-12-04 Analysis system, computer system, and analysis method Active JP6093962B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015237190A JP6093962B2 (en) 2015-12-04 2015-12-04 Analysis system, computer system, and analysis method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015237190A JP6093962B2 (en) 2015-12-04 2015-12-04 Analysis system, computer system, and analysis method

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2014518183A Division JP5858371B2 (en) 2012-05-31 2012-05-31 Analysis system, computer system, and analysis method

Publications (2)

Publication Number Publication Date
JP2016105281A JP2016105281A (en) 2016-06-09
JP6093962B2 true JP6093962B2 (en) 2017-03-15

Family

ID=56102857

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015237190A Active JP6093962B2 (en) 2015-12-04 2015-12-04 Analysis system, computer system, and analysis method

Country Status (1)

Country Link
JP (1) JP6093962B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11126927B2 (en) 2017-11-24 2021-09-21 Amazon Technologies, Inc. Auto-scaling hosted machine learning models for production inference
CN110781591A (en) * 2019-10-23 2020-02-11 软通动力信息技术有限公司 Urban drainage waterlogging prevention simulation system, method, equipment and storage medium

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04184570A (en) * 1990-11-20 1992-07-01 Hitachi Ltd Block diagram drawing device
JPH07129430A (en) * 1993-11-02 1995-05-19 Fujitsu Ltd Testing method for program
CA2129190C (en) * 1994-07-29 1999-08-17 David J. Taylor Method and apparatus for constructing displays of partially ordered data
JP2011070256A (en) * 2009-09-24 2011-04-07 Toshiba Corp Debugger and program
JP2011138219A (en) * 2009-12-25 2011-07-14 Toshiba Corp Device and method for displaying result of parallel program analysis

Also Published As

Publication number Publication date
JP2016105281A (en) 2016-06-09

Similar Documents

Publication Publication Date Title
JP5858371B2 (en) Analysis system, computer system, and analysis method
JP4516306B2 (en) How to collect storage network performance information
US9612932B2 (en) System, method, and computer program product for monitoring computer system infrastructure and assets
US7512888B2 (en) Management method and apparatus for storage apparatus
US10671262B2 (en) Binning information associated with ranges of time
US20170235593A1 (en) Entity database timestamps
US20180096499A1 (en) Proactive monitoring tree providing pinned performance information associated with a selected node
JP4330941B2 (en) Database divided storage management apparatus, method and program
US7600072B2 (en) Performance reporting method considering storage configuration
US6978259B1 (en) Automated system adaptation technique particularly for data storage systems
JP2005062941A (en) Method for analyzing performance information
US20130151505A1 (en) Interactive Query Plan Visualization and Optimization
WO2014165522A1 (en) Visualization of resources in a data center
JP5950267B2 (en) Database management apparatus, database management method, and storage medium
KR20040027270A (en) Method for monitoring database system
US9646048B2 (en) Declarative partitioning for data collection queries
JP6093962B2 (en) Analysis system, computer system, and analysis method
US20170277416A1 (en) Data set visualizer for tree based file systems
US20120246425A1 (en) Storage system and performance management method of storage system
Fritchey et al. SQL server 2012 query performance tuning
Ozmen et al. Storage workload estimation for database management systems
US9870152B2 (en) Management system and management method for managing data units constituting schemas of a database
JP2008225686A (en) Data arrangement management device and method in distributed data processing platform, and system and program
WO2014009999A1 (en) Database system and database management method
US8539171B2 (en) Analysis and timeline visualization of storage channels

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160930

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161018

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161130

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20161227

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170118

R150 Certificate of patent or registration of utility model

Ref document number: 6093962

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150