JP6210501B2 - データベース管理システム、計算機、データベース管理方法 - Google Patents

データベース管理システム、計算機、データベース管理方法 Download PDF

Info

Publication number
JP6210501B2
JP6210501B2 JP2016509853A JP2016509853A JP6210501B2 JP 6210501 B2 JP6210501 B2 JP 6210501B2 JP 2016509853 A JP2016509853 A JP 2016509853A JP 2016509853 A JP2016509853 A JP 2016509853A JP 6210501 B2 JP6210501 B2 JP 6210501B2
Authority
JP
Japan
Prior art keywords
query
execution
performance
executed
database management
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016509853A
Other languages
English (en)
Other versions
JPWO2015145761A1 (ja
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
Publication of JPWO2015145761A1 publication Critical patent/JPWO2015145761A1/ja
Application granted granted Critical
Publication of JP6210501B2 publication Critical patent/JP6210501B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24542Plan optimisation
    • G06F16/24544Join order optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24532Query optimisation of parallel queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24542Plan optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24542Plan optimisation
    • G06F16/24545Selectivity estimation or determination
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24549Run-time optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Operations Research (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、概して、処理要求の処理に関し、例えば、データベース管理技術に関する。
企業活動において、大量に生じる業務データの活用は不可欠になっている。そのため、大量の業務データを蓄積したデータベースを解析処理するシステムが既に考案されている。この解析処理において、データベース管理システム(以下、DBMS)は、クエリを受け付け、データベース(以下、DB)を格納するストレージ装置にデータ読出し要求を発行する。1つのクエリの実行におけるデータ読出しの待ち時間の短縮化を図る技術として、特許文献1に開示の技術が知られている。特許文献1によれば、DBMSは、クエリ実行に要するデータ読出しの都度にタスクを動的に生成し並行実行することでデータ読出し要求を多重化する。タスクの実行では、システム性能の上限の一部が発揮される。「システム性能」とは、DBMSを含んだ計算機の性能を含み、更に、その計算機と他の装置とを含んだ計算機システムの性能を含んでもよい。
特開2007−34414号公報
システム性能としては、例えば、CPU(Central Processing Unit)性能と、I/O性能とがある。特許文献1によれば、DBMSは、1つのクエリを実行する際に、タスクを動的に生成し並行実行することで、データ読出し要求を多重化する。タスクの並行実行により、CPU性能をその上限まで発揮でき、データ読出し要求の多重化により、I/O性能をその上限まで発揮できる。
しかし、1つのクエリの処理において必ずしもシステム性能がその上限まで発揮されているわけではない。
このような問題は、クエリを処理するDBMSに限らず、クエリのような処理要求を処理する他のコンピュータプログラム或いは計算機システム等のシステムについても存在し得る。
DBMSが、DBMSの実行状態に基づいて、実行中のクエリの実行により発揮される性能である発揮性能が或る時点以降継続して所定の条件を満たすか否かを判定する。その判定の結果の真の場合、実行待ちのクエリがあれば、DBMSは、実行中のクエリの実行終了前に、実行待ちのクエリの実行を開始する。
システム性能をなるべくその上限まで発揮することができる。
実施例1にかかる計算機システムの構成を示す。 実施例1にかかる第1のクエリの一例である。 実施例1にかかる第2のクエリの一例である。 実施例1にかかる第1のクエリのクエリ実行プランの一例を示す。 実施例1にかかるクエリ実行プラン情報の一例を示す。 実施例1にかかるDBMSの実行状態の管理の一例を示す。 実施例1にかかるクエリ実行開始判定の流れを示すフローチャートである。 実施例1にかかるテールフェーズ判定の流れを示すフローチャートである。 実施例1にかかる性能余力判定の流れを示すフローチャートである。 実施例2にかかるDBMSの実行状態の管理の一例を示す。 実施例2にかかるテールフェーズ判定の流れを示すフローチャートである。 実施例3にかかる計算機システムの構成を示す。
以下、図面を参照しながら、幾つかの実施例を説明する。データベース管理システム(以下、DBMS)へのクエリの発行元としては、DBMSの内部のコンピュータプログラムであってよく、もしくは、外部のコンピュータプログラムであってよい。例えば、クエリ発行元は、DBMSを有するデータベースサーバ(以下、DBサーバ)内で実行されるコンピュータプログラム(例えばアプリケーションプログラム)であってもよいし、DBサーバに接続されたクライアント計算機等の装置で実行されるコンピュータプログラム(例えば、アプリケーションプログラム)であってもよい。
図1は、実施例1にかかる計算機システムの構成を示す。
DBサーバ101は、計算機の一例であって、例えば、パーソナルコンピュータ、ワークステーションまたはメインフレームであってよく、もしくは、これらの計算機において仮想化プログラムによって構成された仮想的な計算機であってよい。DBサーバ101は、ネットワークアダプタ115、メモリ102、ストレージ装置117およびそれらに接続されたCPU116を有する。CPU116は、コンピュータプログラムを実行する。CPU116により実行されるコンピュータプログラムは、例えば、オペレーティングシステム(以下、OS)114、DBMS104、DBMS104にクエリを発行するアプリケーションプログラム103である。メモリ102は、例えば、揮発性のDRAM(Dynamic Random-Access Memory)等であり、CPU116によって実行されるプログラムと、プログラムが使用するデータを一時的に記憶する。ストレージ装置117は、例えば、不揮発性の磁気ディスク、フラッシュメモリ等であり、プログラムおよびプログラムが使用するデータを格納する。ネットワークアダプタ115は、通信ネットワーク403とDBサーバ101を接続する。アプリケーションプログラム103は、DBサーバ101ではなく、通信ネットワーク403に接続される別の計算機(図示しない)で動作するものであってもよい。CPU116は、ネットワークアダプタ115およびメモリ102等に接続されたプロセッサの一例でよい。
DBサーバ101は、性能や冗長性を高めるために、CPU116、メモリ102、ストレージ装置117およびネットワークアダプタ115の少なくとも1つの要素を複数有してもよい。DBサーバ101は、キーボードやポインティングデバイス等の入力デバイス(図示しない)と液晶ディスプレイ等の出力デバイス(図示しない)を有してもよい。入力デバイスおよび出力デバイス(例えば表示デバイス)は、CPU116に接続されていてよい。入力デバイスと出力デバイスは一体であってもよい。
DBサーバ101では、DBMS104がアプリケーションプログラム103から発行されたクエリを実行し、そのクエリの実行において、データベース(以下、DB)122からデータを読み込むために、もしくは、DB122にデータを書き込むために、そのDB122を格納する外部ストレージ装置118に対する入出力要求をOS114に発行する。OS114は、その入出力要求を受け付け、外部ストレージ装置118へ入出力要求を発行する。
外部ストレージ装置118は、複数の記憶デバイスを含む記憶デバイス群121を有する装置であり、例えば、ディスクアレイ装置であるが、それに代えて、単一の記憶デバイスであってもよい。外部ストレージ装置118は、DB122を記憶するが、DB122のデータに加えて、プログラムを記憶してもよい。外部ストレージ装置118は、DBサーバ101から入出力要求を受け付け、その入出力要求に従いデータの読み書きを行い、その結果をDBサーバ101に返す。
外部ストレージ装置118は、記憶デバイス群121に加えて、ネットワークアダプタ119およびこれらに接続されたストレージコントローラ120を有する。
ネットワークアダプタ119は、外部ストレージ装置118を通信ネットワーク403に接続し、これを介して、DBサーバ101と接続される。通信ネットワーク403を介した通信プロトコルとしては、例えば、ファイバチャネル(FC)、SCSI(Small Computer System Interface)、または、TCP/IP(Transmission Control Protocol/Internet Protocol)が採用されてよい。例えば、ファイバチャネルもしくはSCSIが採用される場合、DBサーバ101のネットワークアダプタ115および外部ストレージ装置118のネットワークアダプタ119は、ホストバスアダプタと呼ばれることがある。
記憶デバイス群121が有する記憶デバイスは、不揮発性の記憶媒体を有するデバイスであって、例えば、磁気ディスクドライブ、フラッシュメモリドライブ、その他半導体メモリドライブである。記憶デバイス群121は、RAID(Redundant Array of Independent Disks)機構を有し、所定のRAIDレベルでデータを記憶してもよい。記憶デバイス群121の記憶空間に基づく論理的な記憶デバイス(例えば、論理ユニット、論理ボリューム、ファイルシステムボリューム)が、DBサーバ101に提供され、その論理的な記憶デバイス上にDB122が格納されてもよい。
ストレージコントローラ120は、例えば、メモリおよびプロセッサを含み、DBサーバ101からの入出力要求に応じて、DB122を格納した記憶デバイス群121との間でデータの読込み、もしくは、書込みを行う。例えば、ストレージコントローラ120は、DBサーバ101から、データの読出し要求を受け付けると、その要求に従って記憶デバイス群121からデータを読み出し、読み出したデータをDBサーバ101に返す。
外部ストレージ装置118は、性能や冗長性を高めるために、ストレージコントローラ120等の構成要素を複数有してもよい。
DBMS104は、DB122を管理する。DB122は、1以上の表124を含み、更に1以上の索引123を含んでよい。表124は、1以上のレコードの集合であり、レコードは1以上のカラムから構成される。索引123は、表124の1以上のカラム等を対象として作成されるデータ構造であり、その索引123が対象とするカラム等を含む選択条件による表124へのアクセスを高速化するためのものである。例えば、表124は、対象とするカラムの値の毎に、表124の中でその値を含むレコードを特定するための情報を保持するデータ構造である。データ構造としては、例えばB木等が用いられる。レコードを特定するための情報としては、物理アドレスや論理的な行ID等が用いられることがある。
DBMS104は、クエリ受付部105、実行待ちクエリ管理部106、クエリ実行プラン生成部107、クエリ実行部108および実行クエリ制御部110を有する。
クエリ受付部105は、アプリケーションプログラム103が発行するクエリを受け付ける。クエリは、例えば、SQLによって記述される。クエリ受付部105は、クエリを受け付ける都度に、クエリを受け付けたことを、実行待ちクエリ管理部106に伝える。第1のクエリの一例を図2に示し、第2のクエリの一例を図3に示す。
実行クエリ待ちクエリ管理部106は、クエリ受付部105が受け付けた1以上のクエリの各々について、実行待ちか否かを管理する。なお、「実行待ちのクエリ」とは、典型的には、未実行のクエリ(一度も実行開始とされていないクエリ)であるが、未実行のクエリに加えて、実行が一時中断とされているクエリであってもよい。
クエリ実行プラン生成部107は、クエリ受付部105が受け付けたクエリから、そのクエリを実行するために必要な1以上のDBオペレーションを含むクエリ実行プランを生成する。クエリ実行プランは、例えば、1以上のDBオペレーションと、DBオペレーションの実行順序の関係を含む情報である。クエリ実行プランは、DBオペレーションをノード、DBオペレーションの実行順序の関係をエッジとする木構造で表されることがある。クエリ実行プランは、クエリが受け付けられたときにそのクエリについて生成されてもよいし、クエリが受け付けられたときにはそのクエリについて生成されずクエリが実行待ちから実行開始とされたときにそのクエリについて生成されてもよい。
クエリ実行部108は、クエリ実行プラン生成部107が生成したクエリ実行プランに従って、実行クエリ制御部110により実行開始とされたクエリを実行する。クエリ実行部108は、クエリの実行において、DBオペレーションを実行するためのタスクを動的に生成し、動的に生成されたタスクを実行し、2以上の実行可能なタスクが存在する場合には、それら2以上のタスクのうちの少なくとも2つのタスクを並行して実行することで、データ読出し要求を多重化して発行することができる。クエリ実行部108は、特許文献1に記載の技術が適用されたクエリ実行部でよい。具体的には、クエリ実行部108は、(a)DBオペレーションを実行するためのタスクを生成し、(b)生成されたタスクを実行することで、そのタスクに対応したDBオペレーションに必要なデータの読出し要求を発行し、(c)(b)で実行されたタスクに対応したDBオペレーションの実行結果に基づき別のDBオペレーションを実行する必要がある場合には、その別のDBオペレーションをそれぞれ実行する1以上のタスクを新たに生成し、(d)その新たに生成した1以上のタスクのそれぞれについて(b)および(c)を行ってよい。また、クエリ実行部108は、このようにして生成された1以上のタスクを並行して実行してよい。クエリ実行部108は、2以上の実行可能なタスクが存在する場合には、それら2以上のタスクのうちの少なくとも2つのタスクを並行して実行してよい。クエリ実行部108は、一のタスクで複数のDBオペレーションを実行してもよい。また、クエリ実行部108は、都度に新たにタスクを生成することはせず、同じタスクにおいて次のDBオペレーションを実行してもよい。タスクの実装としては、例えば、OS114が実現するプロセスやカーネルスレッド等のほか、ライブラリ等が実現するユーザスレッドを用いてよい。
クエリ実行部108は、コンテキスト管理部109を有する。コンテキスト管理部109は、タスクにおいて実行を行う内容を示す情報のコンテキストを管理する。例えば、クエリ実行部108は、クエリ実行プランに従って、コンテキストを動的に生成し、且つ、そのコンテキストに基づいてタスクを実行することで、クエリ実行プラン内のDBオペレーションを実行する。コンテキスト管理部109は、コンテキストを管理する。コンテキストは、例えば、データアドレス集合が記憶されている外部ストレージ装置118の記憶デバイス群121におけるページを特定する情報(例えば、ページID)、データアドレス集合に格納されたエントリのうち次に実行開始されるタスクによりアクセスするエントリを示す情報、さらにタスク実行によりアクセスするエントリの残数(タスク生成可能数)を格納してよい。コンテキスト管理部109は、コンテキストが生成される都度に、そのコンテキストを管理対象に追加し、コンテキストが削除される都度に、そのコンテキストを管理対象から削除してよい。
実行クエリ制御部110は、DBMS104の実行状態に基づいて、実行中のクエリの実行を継続することにより発揮される性能である発揮性能が或る時点以降継続して所定の条件を満たすか否かを判定する。その判定の結果の真の場合、実行待ちのクエリがあれば、実行クエリ制御部110は、実行中のクエリの実行終了前に、実行待ちのクエリの実行を開始する。具体的には、実行クエリ制御部110は、クエリ実行開始制御部111を有する。クエリ実行開始制御部111は、クエリ実行開始するか否かを判定する。実行クエリ制御部110は、クエリ実行開始制御部111がクエリ実行開始と判定した場合に、実行待ちクエリ管理部106が管理する実行待ちのクエリを特定し(例えば実行待ちクエリを取得し)、特定したクエリをクエリ実行部108に伝える(例えば取得したクエリをクエリ実行部108に渡す)。クエリ実行開始制御部111は、実行情報取得部112と、サーバ性能取得部113とを有する。実行情報取得部112およびサーバ性能取得部113については、それぞれ後述する。
上述したクエリ受付部105、実行待ちクエリ管理部106、クエリ実行プラン生成部107、クエリ実行部108および実行クエリ制御部110は、DBMS104がCPU116で実行されることによって実現されるが、これらのうち、少なくとも一の構成要素が行う処理の少なくとも一部が、ハードウェアによって実現されていてもよい。DBMS104をはじめとするコンピュータプログラムは、プログラムソースからDBサーバ101にインストールされていてもよい。プログラムソースは、例えば、DBサーバ101が読み取り可能な記憶媒体であってもよい。
図1に示すDBMS104の構成は一例に過ぎない。例えば、ある構成要素は複数の構成要素に分割されていてもよく、複数の構成要素が1つの構成要素に統合されていてもよい。
図4Aは、図2に示した第1のクエリのクエリ実行プランの一例を示す。
クエリ実行プラン生成部107は、図2に示した第1のクエリから、図4Aに示すクエリ実行プランを生成する。図4Aの例によれば、2つの結合オペレーションがある。各結合オペレーションは、ネステッドループ結合である。具体的には、Part表からの抽出結果を外表(結合元)としLineitem表からの抽出結果を内表(結合先)とする第1のネステッドループ結合と、第1のネステッドループ結合の結果を外表としOrders表からの抽出結果を内表とする第2のネステッドループ結合とがある。
クエリ実行部108は、図4Aのクエリ実行プランに従って、まず、p_type索引を用いて、p_typeが「ECONOMY ANODIZED STEEL」に合致するpart表レコードの格納位置を取得し、取得した格納位置に格納されているpart表レコードをpart表から読み出す。次に、クエリ実行部108は、l_partkey索引を用いて、上記読み出したpart表レコードのp_partkeyにl_partkeyが合致するlineitem表レコードの格納位置を取得し、取得した格納位置に格納されているlineitem表レコードをlineitem表から読み出す。次に、クエリ実行部108は、o_orderkey索引を用いて、上記読み出したlineitem表レコードのl_orderkeyにo_orderkeyが合致するorders表レコードの格納位置を取得し、取得した格納位置に格納されているorders表レコードをorders表から読み出す。最後に、クエリ実行部108は、読み出した全てのレコードを突き合わせてp_name毎にtotal_profitを集計し、生成した集計結果をtotal_profitの値に基づいてソートする。
なお、クエリ実行プラン生成部107は、クエリ実行プランの生成の際に、結合オペレーション毎に、推定結合率を算出し、算出された推定結合率を、対応する結合オペレーションに関連付ける。結合オペレーションにおいて、「結合率」とは、結合元の件数に対する結合結果の件数の倍率である。例えば、結合率=2の場合、結合元の件数に対し、結合結果の件数が2倍になることを示す。「推定結合率」とは、結合率の推定値である。例えば、結合元の件数に対し結合先の件数が2倍であるとき、推定結合率=2と推定する。推定結合率の算出は、クエリ実行プラン生成部107に代えて、クエリ実行プラン生成部107以外の要素(例えば実行情報取得部112)が行ってもよい。また、推定結合率の算出は、クエリ実行プラン生成の際に行われてもよいし、クエリ実行開始の際に行われてもよい。
図4Bは、クエリ実行プラン情報の一例を示す。
クエリ実行プラン情報は、DBMS104に含まれる情報の一部である。クエリ実行プラン生成部107により生成されたクエリ実行プランは、図4Aに例示したように、1以上のデータベースオペレーションと、データベースオペレーションの実行順序の関係を含む情報であり、クエリ実行プラン情報に格納される。クエリ実行プラン情報は、実行プラン情報と、実行状態情報とを含む。実行プラン情報は、クエリ実行プランの構成を表す情報であり、例えば、DBオペレーション毎に、「Operation」(例えば、DBオペレーションの名称)、「Soruce 1」(外表又は前段のDBオペレーションを表す情報)、「Soruce 2」(内表又は別の前段のDBオペレーションを表す情報)、および「Condition」(条件を表す情報)を含む。実行状態情報は、各DBオペレーションの実行状態と確保されているワーク領域のアドレスとを表す情報であり、例えば、DBオペレーション毎に、「Operation State」(DBオペレーションの状態(実行済、実行中又は未実行)を表す情報)および「Work area address」(確保されているワーク領域のアドレス)を含む。このクエリ実行プラン情報から、クエリ実行プランの構成、および、後段のDBオペレーションについてワーク領域を確保済みか否かがわかる。
図5は、DBMS104の実行状態の管理の一例を示す。
コンテキスト管理部109は、クエリ実行部108がクエリ実行プランに従ってクエリを処理する際に生成したコンテキストのうち、実行前および実行中のコンテキストを、クエリ実行プランのノード毎に管理する。例えば、図4Aのクエリ実行プランに従ってクエリを処理する際には、クエリ実行部108は、p_type索引およびpart表の読出しの際にデータ読出し要求を多重化する。コンテキスト管理部109は、多重化したデータ読出し要求の内容を含んだコンテキストをpart context504に追加する。また、クエリ実行部108は、l_partkey索引およびlineitem表の読み出しの際にデータ読出し要求を多重化し、コンテキスト管理部109は、その多重化したデータ読出し要求の内容を含んだコンテキストを、lineitem context)505に追加する。また、クエリ実行部108は、o_orderkey索引およびorders表の読み出しの際にデータ読出し要求を多重化し、コンテキスト管理部109は、その多重化したデータ読出し要求の内容を含んだコンテキストを、orders context506に追加する。参照符号504〜508がそれぞれ表す5つのボックスは、それぞれ、1つのDBオペレーションに対応している。
実行情報取得部112は、クエリ実行情報を取得する。クエリ実行情報は、各結合オペレーションの推定結合率、クエリ実行プランの特定ノード毎に管理されているコンテキストの数、および、メモリ確保情報を含んでよい。メモリ確保情報は、例えば、図4Bに例示した情報のうちの少なくとも実行状態情報を含む。各結合オペレーション(ネステッドループ結合)の推定結合率、および、クエリ実行プランの特定ノード毎に管理されているコンテキストの数は、例えば、クエリ実行プラン生成部107を通じて取得される。図5の例によれば、第1の結合オペレーションの推定結合率(part表の抽出結果とlineitem表の抽出結果との推定結合率)として「30」が取得され、その結合結果とorders表の抽出結果との推定結合率として「1」が取得される(図5では、推定結合率は「fan−out」と記載)。また、図5に示す実行状態の例によれば、part context504に登録されているコンテキスト数として「0」、lineitem context505に登録されているコンテキスト数として「2」、および、orders context506に登録されているコンテキスト数として「1」が取得される。また、図5に示す実行状態の例によれば、取得されるメモリ確保情報から、後段の各DBオペレーションについてワーク領域が確保済か否かと、ワーク領域が確保済であれば確保されているワーク領域のアドレスとがわかる。具体的には、メモリ確保情報から、後段DBオペレーション「Grouping」(集計)のために確保されたワーク領域513のアドレスと、後段DBオペレーション「Ordering」(ソート)のために確保されたワーク領域514のアドレスがわかる。
サーバ性能取得部113は、OS114が提供する機能を利用して、サーバ性能情報を取得する。サーバ性能情報は、実行中のクエリの実行により発揮されているサーバ性能(性能指標)を表し、例えば、CPU性能及びI/O性能を表す。CPU性能は、例えば、CPU使用率である。I/O性能は、例えば、I/Oスループット使用率およびI/O多重度使用率である。CPU使用率は、許容されたCPU資源量に対して使用されているCPU資源量の割合である。I/Oスループット使用率は、許容されたI/Oスループット(発揮できる最大I/Oスループット)に対して使用されている(発揮されている)I/Oスループットの割合である。I/O多重度使用率は、許容されたI/O多重度(発揮できるI/O多重度)に対して使用されている(発揮されている)I/O多重度の割合である。図5に示す実行状態の例によれば、CPU使用率が「70%」であり、I/Oスループット使用率が「30%」であり、I/O多重度使用率が「80%」である。各種使用率(性能指標)は、例えば、各種性能値の上限値に対する各種性能値(OS114が提供する機能を利用して取得できる値)の割合でよい。各種性能値の上限値は、OS114が提供する機能を利用して取得されてもよいし、上述した入力デバイス(図示せず)を通じてユーザから入力されてもよいし、ネットワークアダプタ115を通じて管理計算機(図示せず)等から取得されてもよい。
クエリ実行開始制御部111は、繰り返し(例えば定期的に)、実行情報取得部112によりクエリ実行情報を取得し、サーバ性能取得部113よりサーバ性能情報を取得し、取得したクエリ実行情報およびサーバ性能情報に基づいて、実行待ちクエリを実行するか否かを判定する。
図6は、クエリ実行開始判定の流れを示すフローチャートである。クエリ実行開始判定は、繰り返し(例えば定期的に)行われてよい。
クエリ実行開始制御部111は、実行情報取得部112によりクエリ実行情報を取得し、取得したクエリ実行情報を基に、実行中のクエリがテールフェーズにあるか否かを判定する(S601)。「テールフェーズ」とは、実行中クエリについてS601の判定時点から実行中クエリの終了時点まで実行中クエリの実行により発揮される性能が低くなっていくフェーズ(CPU使用率、I/Oスループット使用率およびI/O多重度、メモリ使用量といった少なくとも1つの性能指標に対応した性能値がS601の判定時点の性能値よりも低くなっていくフェーズ)である。
S601の判定の結果が、実行中のクエリがテールフェーズにない、である場合(S602:NO)、クエリ実行開始制御部111は、クエリ実行開始判定を終了する。
S601の判定の結果が、実行中のクエリがテールフェーズにある、である場合(S602:YES)、クエリ実行開始制御部111は、サーバ性能取得部113よりサーバ性能情報を取得し、取得したサーバ性能情報に基づいて、サーバ性能に余力があるか否かを判定する(S603)。S603の判定の結果が、性能余力なし、である場合(S604:NO)、クエリ実行開始制御部111は、クエリ実行開始判定を終了する。
S603の判定の結果が、性能余力あり、である場合(S604:YES)、クエリ実行開始制御部111は、実行中クエリの実行終了前に実行待ちクエリを実行開始とする。実行開始とされたクエリが、クエリ実行部108により処理される。
図7は、テールフェーズ判定(図6のS601)の流れを示すフローチャートである。
クエリ実行開始制御部111は、クエリ実行情報(特に、クエリ実行プランの構成、クエリ実行プランの進捗、および、各結合オペレーションの推定結合率)を基に、最外表から推定結合率が1より大きい結合オペレーションの外表までの、実行前および実行中のコンテキスト数の総和が0であるか否かを判定する(S701)。「最外表から推定結合率が1より大きい結合オペレーションの外表までの、実行前および実行中のコンテキスト数の総和が0である」ということは、タスク(データ読出し要求)の多重度が、S701の判定時点での多重度より増えないことを意味する。推定結合率が1より大きければ、結合オペレーションにおける結合元の件数より結合結果の件数が多くなり、それらの後続処理を多重実行する際の多重度が大きくなる。このような場合に、実行待ちのクエリが実行開始とされると、新たに実行開始とされたクエリの実行による性能増加と、実行中のクエリについての性能増加により、性能過剰(言い換えれば、資源不足)になることがある。このようなことを回避するために、S701の判定が有効である。
S701の判定の結果が偽の場合(S701:NO)、クエリ実行開始制御部111は、テールフェーズ判定の結果として、実行中クエリがテールフェーズにない、を出力する(S704)。
S701の判定の結果が真の場合(S701:YES)、クエリ実行開始制御部111は、クエリ実行情報(特に、クエリ実行プランの構成、クエリ実行プランの進捗、および、メモリ確保情報)を基に、後段のDBオペレーション(未実行のDBオペレーション)で必要なワーク領域が確保済であるか否かを判定する(S702)。後段のDBオペレーションで必要なワーク領域が確保されていなければ、そのようなワーク領域を確保する際に、S702の判定時点よりメモリ使用量が増える可能性があるためである。そのため、S702の判定の結果が偽の場合(S702:NO)、クエリ実行開始制御部111は、テールフェーズ判定の結果として、実行中クエリがテールフェーズにない、を出力する(S704)。
S702の判定の結果が真の場合(S702:YES)、クエリ実行開始制御部111は、テールフェーズ判定の結果として、実行中クエリがテールフェーズにある、を出力する(S703)。
このようなテールフェーズ判定は、特に、例えば特許文献1のように、クエリ実行部108が、クエリの実行において、DBオペレーションを実行するためのタスクを動的に生成し、動的に生成されたタスクを実行し、2以上の実行可能なタスクのうちの少なくとも2つのタスクを並行して実行するようになっている場合には、有効である。
図8は、性能余力判定(図6のS603)の流れを示すフローチャートである。
クエリ実行開始制御部111は、サーバ性能情報中のCPU使用率が、X%未満(X=CPU使用率の上限)か否かを判定する(S801)。
S801の判定の結果が真の場合(S801:YES)、クエリ実行開始制御部111は、性能余力判定の結果として、性能余力あり、を出力する(S804)。
S801の判定の結果が偽の場合(S801:NO)、クエリ実行開始制御部111は、サーバ性能情報中のI/Oスループット使用率が、Y%未満(Y=I/Oスループット使用率の上限)か否かを判定する(S802)。S802の判定の結果が真の場合(S802:YES)、更に、クエリ実行開始制御部111は、サーバ性能情報中のI/O多重度使用率が、Z%未満(Z=I/O多重度使用率の上限)か否かを判定する(S803)。
S803の判定の結果が真の場合(S803:YES)、クエリ実行開始制御部111は、性能余力判定の結果として、性能余力あり、を出力する(S804)。
S802またはS803の判定の結果が偽の場合(S802:NOまたはS803:NO)、クエリ実行開始制御部111は、性能余力判定の結果として、性能余力なし、を出力する(S805)。
実施例1によれば、クエリ実行情報を基に、テールフェーズ判定と性能余力判定の両方が行われ、両方の判定の結果が真の場合、実行中クエリの実行終了前に実行待ちクエリが実行開始とされる。実行中クエリがテールフェーズにあり、且つ、サーバ性能が上限に達していなければ、実行中クエリの実行終了前に実行待ちクエリを開始することで、サーバ性能をなるべく上限まで発揮させることが期待できる。
以上が、実施例1の説明である。なお、性能余力ありは、CPU性能とI/O性能の両方が上限に達していないことであってよい。また、サーバ性能(性能指標)は、CPU性能およびI/O性能の少なくとも1つに代えてまたは加えて、他種の性能(性能指標)、例えば、メモリ性能(例えばメモリ使用率)を含んでもよい。また、発揮されるサーバ性能が上限に達する(サーバ性能が上限を下回る)という表現は、使用されるシステム資源量が上限に達する(システム資源量が上限を下回る)という表現に言い換えられてもよい。システム資源とは、DBサーバ101における資源を含み、更に、DB110と他の装置(例えば外部ストレージ装置118)とを含んだ計算機システムの資源でもよい。システム資源としても、例えば、CPU使用率、I/Oスループット使用率およびI/O多重度使用率の少なくとも1つが採用されてよい。
以下、実施例2を説明する。その際、実施例1との相違点を主に説明し、実施例1との共通点については説明を省略または簡略する。
クエリ(クエリ実行プラン)によっては、タスクを並行実行できないDBオペレーションが存在することがある。そのようなDBオペレーションの一例として、例えば、検索結果集合のソート処理が挙げられる。ソート処理は、一部ではタスクの並行実行が可能ではあるが、ソート処理全般に渡ってタスクを並行実行することはできない。
そこで、実施例2では、テールフェーズ判定において、タスクを多重実行可能なDBオペレーションが全て実行終了しているか否かが判定され、その判定の結果が、実行中タスクがテールフェーズにあるか否かの結論に影響する。
図9は、実施例2にかかるDBMS104の実行状態の管理の一例を示す。
実行情報取得部112がクエリ実行部(108)から取得するクエリ実行情報は、クエリ実行プランのノード毎に管理されているコンテキストの数、および、メモリ確保情報を含む。実行情報取得部112は、クエリ実行情報中の、各ノードについてのコンテキスト数に基づき、各ノード(DBオペレーション)が、未実行(Unexecuted)、実行中(Executing)および実行済(Executed)のいずれの状態であるかを判定する。図9に示す実行状態の例によれば、part context904、lineitem context905およびorders context906に登録されているコンテキストの数が0であることから、Selection operation(Part)、Selection operation(Lineitem)、および、Selection operation(Orders)は、Executedと判定される。また、Grouping context907に登録されているコンテキストの数が0であることから、Grouping Operationも、Executedと判定される。また、Ordering context908に登録されているコンテキストの数が1であることから、Ordering Operationは、Executingと判定される。DBオペレーションの直前のDBオペレーションに対応したコンテキストの数も1以上であれば、当該DBオペレーションについては未実行もしくは実行中と判定される。また、クエリ実行開始制御部111は、クエリ実行情報が含むクエリ実行プラン情報を基に、各DBオペレーションについて、タスクを多重実行可能か否か取得し、多重実行可能なDBオペレーションについては「Multiple Exe」と管理し、多重実行不可能なDBオペレーションについては「Single Exe」と管理する。
図10は、実施例2にかかるテールフェーズ判定の流れを示すフローチャートである。
実施例2にかかるテールフェーズ判定では、図7のS701に代えて、S1001が行われ、それ以外は同じである。S1001では、クエリ実行開始制御部111は、クエリ実行情報(特に、実行情報取得部112により特定された、各ノード(DBオペレーション)の状態)を基に、多重実行可能なDBオペレーションが全て終了しているか否かを判定する。S1001の判定の結果が真の場合(S1001:YES)、S702が行われ、S1001の判定の結果が偽の場合(S1001:NO)、S704が行われる。
多重実行可能なDBオペレーションが全て終了していれば、実行中クエリの実行において性能が高くなることはない(言い換えれば、消費される資源量が増えることはない)。実施例2によれば、多重実行可能なDBオペレーションが全て終了していると判定され、且つ、後段のDBオペレーションで必要なワーク領域が確保されていれば、実行中クエリがテールフェーズにあると判定される。
以下、実施例3を説明する。その際、実施例1および2との相違点を主に説明し、実施例1および2との共通点については説明を省略または簡略する。
図11は、実施例3にかかる計算機システムの構成を示す。
アプリケーションサーバ1102は、DBサーバ101に、通信ネットワーク1109を介して通信可能に接続されている。また、DBサーバ101は、外部ストレージ装置118に、通信ネットワーク403を介して通信可能に接続されている。ユーザ端末(クライアント端末)1101は、アプリケーションサーバ1102に、通信ネットアーク1108を介して通信可能に接続されている。DBサーバ101は、DB122を管理するDBMS104を実行する。外部ストレージ装置118は、DB122を格納する。アプリケーションサーバ1102は、DBMS104に対してクエリを発行するアプリケーションプログラムを実行する。ユーザ端末1101は、アプリケーションサーバ1102で実行されるアプリケーションプログラムに要求を出す。なお、ユーザ端末1101、または、アプリケーションサーバ1102は、複数存在しても良い。
アプリケーションサーバ管理端末1105は、通信ネットワーク1111を介してアプリケーションサーバ1102に通信可能に接続されている。DBサーバ管理端末1106は、通信ネットワーク1112を介してDBサーバ101に通信可能に接続されている。外部ストレージ管理端末1107は、通信ネットワーク1113を介して外部ストレージ装置118に通信可能に接続されている。アプリケーションサーバ管理端末1105は、アプリケーションサーバ1102を管理する端末である。DBサーバ管理端末1106は、DBサーバ101を管理する端末である。外部ストレージ管理端末1107は、外部ストレージ装置118を管理する端末である。なお、管理端末1105〜1107のうちの少なくとも2つが共通(一体)であっても良い。また、通信ネットワーク403および1108〜1113のうちの少なくとも2つが共通(一体)であっても良い。
実施例3では、例えば、下記の通り処理が実行される。
(S1114)ユーザ端末1101は、アプリケーションサーバ1102に要求(以下、ユーザ要求)を発行する。
(S1115)アプリケーションサーバ1102は、S1114で受信したユーザ要求に従いクエリを生成する。そして、生成したクエリをDBサーバ101に発行する。
(S1116)DBサーバ101は、アプリケーションサーバ1102からのクエリを受け付け、受け付けたクエリを実行する。DBサーバ101は、受け付けたクエリの実行において必要なデータ入出力要求(例えばデータ読出し要求)を外部ストレージ装置118に発行する。DBサーバ101は、1つのクエリの実行において、複数のデータ入出力要求を並行して発行することがある。そのため、DBサーバ101は、1つのクエリの実行において、S1116の要求を複数回並行して行うことがある。
(S1119)外部ストレージ装置118は、S1116で発行されたデータ入出力要求について、DBサーバ101に応答する。外部ストレージ装置118は、S1119の応答を複数回並行して行うことがある。
(S1118)DBサーバ101は、クエリの実行結果を生成し、アプリケーションサーバ1102に送信する。
(S1117)アプリケーションサーバ1102は、クエリの実行結果を受信する。そして、該実行結果に従う、S1114で受信したユーザ要求に対する回答を、ユーザ端末1101に送信する。
なお、アプリケーションサーバ1102に発行されるユーザ要求、または、DBサーバへ発行されるクエリは、同時に複数あっても良い。
以上、幾つかの実施例を説明したが、本発明は、これらの実施例に限定されるものでなく、その要旨を逸脱しない範囲で種々変更可能である。例えば、本発明は、DBMS以外のシステム、例えば、ファイルシステムにも適用できる。そのようなシステムを実行する計算機(又はその計算機を含んだ計算機システム)は、例えば、複数の処理要求の各々の実行開始を制御する実行処理要求制御部と、実行開始とされた処理要求を実行する要求実行部とを有してよい。実行処理要求制御部が、計算機(又は計算機システム)の実行状態に基づいて、実行中の処理要求の実行により発揮される性能である発揮性能が或る時点以降継続して所定の条件を満たすか否かを判定し、判定の結果の真の場合、実行中の処理要求の実行終了前に実行待ちの処理要求を実行開始としてよい。このように、DBMS以外のシステムでは、上記の説明において、DBオペレーションをオペレーションと読み替え、クエリを処理要求と読み替えることができる。
104…データベース管理システム(DBMS)

Claims (12)

  1. データベースへの複数のクエリの各々の実行開始を制御する実行クエリ制御部と、
    実行開始とされたクエリを実行するクエリ実行部と
    を有し、
    前記実行クエリ制御部が、
    データベース管理システムの実行状態に基づいて、実行中のクエリの実行により発揮される性能である発揮性能が或る時点以降継続して所定の条件を満たすか否かを判定し、
    前記判定の結果真の場合、前記実行中のクエリの実行終了前に実行待ちのクエリを実行開始とする、
    データベース管理システム。
  2. 前記発揮性能が前記所定の条件を満たすとは、データベース管理システムを含んだ計算機の性能を含むシステム性能についての所定の閾値を前記発揮性能が下回ることである、
    請求項1記載のデータベース管理システム。
  3. 前記データベース管理システム実行状態は、前記実行中のクエリの実行状態である実行クエリ状況を含み、
    前記発揮性能が前記或る時点以降継続して前記所定の条件を満たすとは、前記データベース管理システムを含んだ計算機の性能を含むシステム性能についての所定の閾値を前記発揮性能が下回り、且つ、前記実行クエリ状況が、前記実行中のクエリがテールフェーズにあることを表すことである、
    請求項1記載のデータベース管理システム。
  4. 前記複数のクエリの各々について、クエリを実行するために必要な複数のデータベースオペレーションと前記複数のデータベースオペレーションの実行手順とを表す情報を含んだクエリ実行プランを生成するクエリ実行プラン生成部、
    を更に有し、
    前記実行クエリ状況は、前記実行中のクエリのクエリ実行プランと、前記実行中のクエリの進捗とに基づいている、
    請求項3記載のデータベース管理システム。
  5. 複数のデータベースオペレーションは、1以上の結合オペレーションを含み、
    前記1以上の結合オペレーションの各々は、外表から取得されたレコードを用いて内表から取得されたレコードの結果を生成するデータベースオペレーションであり、
    前記実行クエリ状況は、更に、メモリ領域の確保状況を含み、
    前記クエリ実行部は、前記複数のクエリの各々の実行において、データベースオペレーションを実行するためのタスクを動的に生成し、動的に生成されたタスクを実行し、2以上の実行可能なタスクが存在する場合には、それら2以上のタスクのうちの少なくとも2つのタスクを並行して実行することで、データ読出し要求を多重化して発行し、且つ、多重化したデータ読出し要求の内容を含んだコンテキストを保持し、
    前記実行中のクエリが前記テールフェーズにあるとは、最外表から推定結合率が1より大きい結合オペレーションの外表までのデータベースオペレーションに対応したコンテキストの総和が0であり、且つ、前記実行中のクエリの後段のデータベースオペレーションで必要なメモリ領域が確保済である、
    各結合オペレーションについて、推定結合率は、結合元の件数に対する結合結果の件数の倍率の推定値である、
    請求項3記載のデータベース管理システム。
  6. 前記実行中のクエリが前記テールフェーズにあるとは、2以上のタスクが並行実行されるデータベースオペレーションが全て実行済である、
    請求項3記載のデータベース管理システム。
  7. 前記発揮性能が前記所定の条件を満たすとは、CPU性能が第1の条件を満たすこと、および、I/O性能が第2の条件を満たすこと、のうちの少なくとも1つである、
    請求項1記載のデータベース管理システム。
  8. 前記CPU性能は、CPU使用率であり、
    前記I/O性能は、I/OスループットとI/O多重度であり、
    前記CPU性能が前記第1の条件を満たすとは、前記CPU使用率が所定の使用率を下回ることであり、
    前記I/O性能が前記第2の条件を満たすとは、前記I/Oスループットが所定のスループットを下回り、且つ、前記I/O多重度が、所定の多重度を下回ることである、
    請求項7記載のデータベース管理システム。
  9. 前記或る時点以降継続してとは、前記或る時点からクエリ実行終了までである、
    請求項1記載のデータベース管理システム。
  10. 前記発揮性能が或る時点以降継続して所定の条件を満たすか否かの判定は、定期的に行われる、
    請求項1記載のデータベース管理システム。
  11. データベース管理システムの実行状態を表す情報を記憶するメモリと、
    データベースへの複数のクエリの各々の実行開始を制御し実行開始とされたクエリを実行するプロセッサと
    を有し、
    前記プロセッサが、
    前記情報に基づいて、実行中のクエリの実行により発揮される性能である発揮性能が或る時点以降継続して所定の条件を満たすか否かを判定し、
    前記判定の結果真の場合、前記実行中のクエリの実行終了前に実行待ちのクエリを実行開始とする、
    計算機。
  12. コンピュータが、データベース管理システムの実行状態に基づいて、実行中のクエリの実行により発揮される性能である発揮性能が或る時点以降継続して所定の条件を満たすか否かを判定し、
    前記コンピュータが、前記判定の結果真の場合、実行待ちのクエリがあれば、前記実行中のクエリの実行終了前に、前記実行待ちのクエリの実行を開始する、
    データベース管理方法。
JP2016509853A 2014-03-28 2014-03-28 データベース管理システム、計算機、データベース管理方法 Active JP6210501B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/059274 WO2015145761A1 (ja) 2014-03-28 2014-03-28 データベース管理システム、計算機、データベース管理方法

Publications (2)

Publication Number Publication Date
JPWO2015145761A1 JPWO2015145761A1 (ja) 2017-04-13
JP6210501B2 true JP6210501B2 (ja) 2017-10-11

Family

ID=54194347

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016509853A Active JP6210501B2 (ja) 2014-03-28 2014-03-28 データベース管理システム、計算機、データベース管理方法

Country Status (3)

Country Link
US (1) US20160335321A1 (ja)
JP (1) JP6210501B2 (ja)
WO (1) WO2015145761A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6690829B2 (ja) * 2015-08-28 2020-04-28 国立大学法人 東京大学 計算機システム、省電力化方法及び計算機

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3522820B2 (ja) * 1994-03-15 2004-04-26 株式会社東芝 分散処理システム
US6108653A (en) * 1998-08-31 2000-08-22 Platinum Technology Ip, Inc. Method and apparatus for fast and comprehensive DBMS analysis
JP4611830B2 (ja) * 2005-07-22 2011-01-12 優 喜連川 データベース管理システム及び方法
US7627618B2 (en) * 2007-02-21 2009-12-01 At&T Knowledge Ventures, L.P. System for managing data collection processes
JP5091694B2 (ja) * 2007-04-05 2012-12-05 京セラドキュメントソリューションズ株式会社 情報処理システム及び情報処理プログラム
US7774336B2 (en) * 2007-09-10 2010-08-10 International Business Machines Corporation Adaptively reordering joins during query execution
US7885969B2 (en) * 2007-09-17 2011-02-08 International Business Machines Corporation System and method for executing compute-intensive database user-defined programs on an attached high-performance parallel computer
JP4815459B2 (ja) * 2008-03-06 2011-11-16 株式会社日立製作所 負荷分散制御サーバ、負荷分散制御方法及びコンピュータプログラム
US10261888B2 (en) * 2012-10-12 2019-04-16 Teradata Us, Inc. Emulating an environment of a target database system
CN102946486A (zh) * 2012-11-20 2013-02-27 惠州Tcl移动通信有限公司 一种基于手机的后台应用自动清理方法及手机
US9171043B2 (en) * 2013-01-31 2015-10-27 International Business Machines Corporation Dynamically determining join order

Also Published As

Publication number Publication date
JPWO2015145761A1 (ja) 2017-04-13
US20160335321A1 (en) 2016-11-17
WO2015145761A1 (ja) 2015-10-01

Similar Documents

Publication Publication Date Title
US11983198B2 (en) Multi-cluster warehouse
US10757178B2 (en) Automated ETL resource provisioner
US9842136B2 (en) Database management system, computer, and database management method
US10108686B2 (en) Implementation of semi-structured data as a first-class database element
JP5999574B2 (ja) データベース管理システム及び計算機システム
JP6152431B2 (ja) データベース管理システム及び方法
US20150112965A1 (en) Database management system, computer, and database management method
US9928004B2 (en) Assigning device adaptors to use to copy source extents to target extents in a copy relationship
US9841989B2 (en) Parallel data processing system, computer, and parallel data processing method
US20210096981A1 (en) Identifying differences in resource usage across different versions of a software application
US10810174B2 (en) Database management system, database server, and database management method
JP6707797B2 (ja) データベース管理システム及びデータベース管理方法
JP6168635B2 (ja) データベース管理システム、計算機、データベース管理方法
JP6823626B2 (ja) データベース管理システム及び方法
US10838949B2 (en) Shared resource update apparatus and shared resource update method
JP6210501B2 (ja) データベース管理システム、計算機、データベース管理方法
JP5818264B2 (ja) 計算機システム及びジョブネット実行方法
양영석 A Flexible Architecture for Optimizing Distributed Data Processing

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170530

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170714

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: 20170808

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170905

R150 Certificate of patent or registration of utility model

Ref document number: 6210501

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150