JP2019040409A - データベース管理装置、データベース管理方法、及びデータベース管理プログラム - Google Patents

データベース管理装置、データベース管理方法、及びデータベース管理プログラム Download PDF

Info

Publication number
JP2019040409A
JP2019040409A JP2017162137A JP2017162137A JP2019040409A JP 2019040409 A JP2019040409 A JP 2019040409A JP 2017162137 A JP2017162137 A JP 2017162137A JP 2017162137 A JP2017162137 A JP 2017162137A JP 2019040409 A JP2019040409 A JP 2019040409A
Authority
JP
Japan
Prior art keywords
subquery
view
database management
unit
calculation cost
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.)
Granted
Application number
JP2017162137A
Other languages
English (en)
Other versions
JP6812321B2 (ja
Inventor
茂莉 黒川
Mori Kurokawa
茂莉 黒川
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.)
KDDI Corp
Original Assignee
KDDI Corp
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 KDDI Corp filed Critical KDDI Corp
Priority to JP2017162137A priority Critical patent/JP6812321B2/ja
Publication of JP2019040409A publication Critical patent/JP2019040409A/ja
Application granted granted Critical
Publication of JP6812321B2 publication Critical patent/JP6812321B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

【課題】データベースに対応する問合せをユーザに自発的に改善させる。【解決手段】データベース管理装置1は、データベースに対応する複数の問合せ文を取得する取得部121と、取得された複数の問合せ文の少なくとも一部の問合せ文に共通に含まれる副問合せを特定する特定部122と、特定された副問合せの計算コストを算出する算出部123と、算出された計算コストを示す情報を出力する出力部124とを備える。算出部123は、特定された副問合せの計算コストと、当該副問合せをビューに置き換えた場合の当該ビューの計算コストとを算出し、出力部124は、算出された副問合せの計算コストと、当該副問合せをビューに置き換えた場合の当該ビューの計算コストとに基づいて、ビューに置き換えることによって計算コストが低下する副問合せを示す情報を出力する。【選択図】図2

Description

本発明は、データベース管理装置、データベース管理方法、及びデータベース管理プログラムに関する。
従来、データベースに対応する複数の問合せを最適化することが行われている。複数の問合せを最適化する方法としては、複数の問合せにおいて共通する処理の中間結果を共有する方法が挙げられる(例えば、特許文献1及び非特許文献1参照)。中間結果を最適化することにより、計算コストを削減することができる。
特表2016−529586号公報
Murat Ali Bayir, Ismail H. Toroslu, Ahmet Cosar, "Genetic algorithm for the multiple-query optimization problem", IEEE Transactions on Systems, Man and Cybernetics Part C: Applications and Reviews 37, 147-153
複数の問合せの最適化では、自動的に複数の問合せ間で共通の中間結果が共有されるので、共有する中間結果をユーザが定義する必要がない。このため、どのように中間結果を共有すると最適化されるかをユーザが認識しないことがある。この場合、ユーザは、自身が作成した問合せの中のどの部分が冗長であり、計算コストが高いのか認識することができず、自発的に問合せを改善することが難しくなるという問題が発生する。
例えば、特許文献1は、Hadoop(登録商標)やリレーショナルデータベースシステムといった複数のデータベースシステムにおいて、Hadoop上の中間生成物を用いて、どのデータベースシステムにどのデータを物理的に配置するかを問合せ処理効率の観点で制約付き最適化する技術を開示している。この場合、Hadoop上の中間生成物を用いているため、任意のデータベースシステムに拡張することはできない。
また、計算コストが高い処理は、記述量が多くなる場合が多い。例えば、複数の問合せにおいて共通する処理に対応する記述を変更する場合に、当該記述の量が多いときには、ユーザが修正する範囲が大きくなり、ユーザの修正作業が煩雑になるという問題がある。そこで、ユーザに問合せ文の計算コストを把握させ、自発的に問合せを改善できるようにすることが求められている。
そこで、本発明はこれらの点に鑑みてなされたものであり、データベースに対応する問合せをユーザに自発的に改善させることができるデータベース管理装置、データベース管理方法、及びデータベース管理プログラムを提供することを目的とする。
本発明の第1の態様に係るデータベース管理装置は、データベースに対応する複数の問合せ文を取得する取得部と、取得された複数の前記問合せ文の少なくとも一部の問合せ文に共通に含まれる副問合せを特定する特定部と、特定された前記副問合せの計算コストを算出する算出部と、算出された前記計算コストを示す情報を出力する出力部と、を備える。
前記算出部は、特定された前記副問合せの計算コストと、当該副問合せをビューに置き換えた場合の当該ビューの計算コストとを算出し、前記出力部は、算出された前記副問合せの計算コストと、当該副問合せをビューに置き換えた場合の当該ビューの計算コストとに基づいて、前記ビューに置き換えることによって計算コストの低下量の期待値が増加する前記副問合せを示す情報を出力してもよい。
前記出力部は、前記ビューに置き換えることによる前記計算コストの低下量の期待値が大きい順に前記副問合せを示す情報を出力してもよい。
前記出力部は、前記副問合せを前記ビューに置き換え、前記副問合せに対応するデータをキャッシュした場合に消費する記憶領域の量を示す資源コストが所定の制約を満たすように前記副問合せを前記ビューに置き換えることによって計算コストの低下量の期待値が増加する前記副問合せを示す情報を出力してもよい。
前記計算コストの低下量の期待値が増加する前記副問合せに対応するビューを作成する作成部をさらに備えてもよい。
前記作成部は、前記計算コストの低下量の期待値が増加する前記副問合せに対応するビューを作成するか否かの指示をユーザ端末から受け付け、当該ビューを作成する指示を受け付けたことに応じて、当該ビューを作成してもよい。
前記作成部は、前記ビューを作成する指示を前記ユーザ端末から受け付けると、当該ビューに対応するキャッシュを生成するか否かの指示を前記ユーザ端末からさらに受け付け、当該キャッシュを生成する指示を受け付けたことに応じて、当該キャッシュを生成してもよい。
前記データベース管理装置は、前記ユーザ端末から前記問合せ文を取得する第2取得部と、前記第2取得部が取得した前記問合せ文に含まれる副問合せに対応するビューが作成されている場合に、当該副問合せを当該ビューに置き換えることにより当該問合せ文を実行する実行部をさらに備えてもよい。
前記実行部は、前記副問合せを前記ビューに置き換える指示を前記ユーザ端末から受け付けたことに応じて、当該副問合せを当該ビューに置き換えて前記問合せ文を実行してもよい。
前記取得部は、前記複数の問合せ文のそれぞれに対応する処理を木構造で示す実行計画を取得し、前記特定部は、取得された前記実行計画の少なくとも一部の実行計画に共通に含まれる部分木を特定し、当該部分木に対応する前記副問合せを特定してもよい。
本発明の第2の態様に係るデータベース管理方法は、コンピュータが実行する、データベースに対応する複数の問合せ文を取得するステップと、取得された複数の前記問合せ文の少なくとも一部の問合せ文に共通に含まれる副問合せを特定するステップと、特定された前記副問合せの計算コストを算出するステップと、算出された前記計算コストを示す情報を出力するステップと、を備える。
本発明の第3の態様に係るデータベース管理プログラムは、コンピュータを、データベースに対応する複数の問合せ文を取得する取得部、取得された複数の前記問合せ文の少なくとも一部の問合せ文に共通に含まれる副問合せを特定する特定部、特定された前記副問合せの計算コストを算出する算出部、及び、算出された前記計算コストを示す情報を出力する出力部、として機能させる。
本発明によれば、データベースに対応する問合せをユーザに自発的に改善させることができるという効果を奏する。
第1実施形態に係るデータベース管理システムの概要を示す図である。 第1実施形態に係るデータベース管理装置の構成を示す図である。 第1実施形態に係る問合せ文の一例を示す図である。 図3に示す問合せ文に対応する実行計画を示す図である。 第1実施形態に係るデータベース管理装置における処理の流れを示すフローチャートである。 第2実施形態に係るデータベース管理装置の構成を示す図である。
<第1実施形態>
[データベース管理システムSの概要]
図1は、第1実施形態に係るデータベース管理システムSの概要を示す図である。データベース管理システムSは、データベース管理装置1と、データベースシステム2と、ユーザ端末3とを備え、データベースシステム2において実行される問合せ文を管理するシステムである。
データベース管理装置1は、データベースシステム2及びユーザ端末3と、LANやインターネット等の通信ネットワークを介して通信可能に接続されている。データベース管理装置1は、データベースシステム2において実行された複数の問合せ文をデータベースシステム2から取得する(図1の(1))。
データベース管理装置1は、取得した複数の問合せ文の少なくとも一部の問合せ文に共通に含まれる副問合せを特定する(図1の(2))。データベース管理装置1は、特定した副問合せの計算コストを算出するとともに、当該副問合せをビューに置き換えた場合の計算コストを算出する(図1の(3)、(4))。データベース管理装置1は、算出した計算コストを示す計算コスト情報をユーザ端末3に送信する(図1の(5))。これにより、データベース管理装置1は、計算コスト情報をユーザに確認させて、データベースに対応する問合せをユーザに自発的に改善させることができる。
ユーザ端末3は、ユーザから、ビューの作成指示を受け付けると、ビューの作成を指示する作成指示情報をデータベース管理装置1に送信する(図1の(6))。データベース管理装置1は、作成指示情報を受信するとビューを作成する(図1の(7))。
このように、データベース管理装置1は、ユーザ端末3から受信した作成指示情報に基づいてビューを作成することにより、作成対象のビューの計算コストが副問合せの計算コストよりも低い場合に、計算コストを削減することができる。
以下、データベース管理装置1の構成について説明する。
[データベース管理装置1の構成例]
図2は、第1実施形態に係るデータベース管理装置1の構成を示す図である。
データベース管理装置1は、記憶部11と、制御部12とを備える。
記憶部11は、例えば、ROM(Read Only Memory)及びRAM(Random Access Memory)等である。記憶部11は、データベース管理装置1を機能させるための各種プログラムを記憶する。記憶部11は、データベース管理装置1の制御部12を、後述する取得部121、特定部122、算出部123、出力部124、及び作成部125として機能させるデータベース管理プログラムを記憶する。また、記憶部11は、副問合せと、当該副問合せに対応して作成されたビューとの対応関係を示す対応関係情報を記憶する。
制御部12は、例えばCPU(Central Processing Unit)である。制御部12は、記憶部11に記憶されている各種プログラムを実行することにより、データベース管理装置1に係る機能を制御する。制御部12は、データベース管理プログラムを実行することにより、取得部121、特定部122、算出部123、出力部124、及び作成部125として機能する。
取得部121は、データベースに対応する複数の問合せ文をデータベースシステム2から取得する。具体的には、取得部121は、データベースシステム2から、複数の問合せ文として、SQL(Structured Query Language)で記述された命令文を取得する。また、取得部121は、複数の問合せ文のそれぞれに対応する処理を木構造で示す実行計画を取得する。取得部121は、取得した複数の問合せ文と実行計画とを関連付けて記憶部11に記憶させる。
図3は、本実施形態に係る問合せ文の一例を示す図である。図4は、図3に示す問合せ文に対応する実行計画を示す図である。図4に示されるように、実行計画は木構造であることが確認できる。また、図4に示されるように、楕円内には、問合せ文によって実行される処理の種類が記載されている。また、処理の種類がテーブルのスキャンである場合には、処理の後にスキャン対象となるテーブル名(例えば、customerやorders)が示されている。なお、図4に示される実行計画では、テーブルから選択するカラムの指定や、テーブルから行を選択する条件といった処理の内容については記載を省略している。
特定部122は、取得された複数の問合せ文の少なくとも一部の問合せ文に共通に含まれる副問合せを1以上特定する。具体的には、特定部122は、取得された複数の実行計画の少なくとも一部の実行計画に共通に含まれる共通部分木を特定し、当該共通部分木に対応する副問合せを特定する。
より具体的には、特定部122は、取得された複数の実行計画を参照し、処理の種類、スキャン対象となるテーブル名、及び木構造が共通する部分木を共通部分木として特定する。ここで、特定部122は、特定した部分木において、処理の内容が異なる場合、処理の内容の共通部分を抽出し、共通部分木の処理内容としてもよい。
特定部122は、例えば、処理の種類が選択の場合には、カラムの和集合を共通部分として抽出し、処理の種類が射影の場合には、行の選択条件の論理和を共通部分として抽出する。なお、特定部122は、共通部分木が1つのテーブルからの選択に対応するとともに、行の選択条件の論理和が「any」となる共通部分については、抽出しないようにしてもよい。
その後、特定部122は、実行計画から特定した共通部分木と、当該実行計画に対応する問合せ文とに基づいて、共通部分木に対応する副問合せを特定する。
算出部123は、特定された副問合せのそれぞれの計算コストを算出する。例えば、算出部123は、特定された副問合せが参照するテーブルのレコード数に所定の係数を乗算することにより、副問合せの計算コストを算出する。
また、算出部123は、特定された1以上の副問合せのそれぞれをビューに置き換えた場合の、当該ビューの計算コストを算出する。例えば、算出部123は、副問合せに対応するビューをデータベースシステム2に生成させて、当該ビューをデータベースシステム2に実行させることにより、ビューの実行にかかる計算コストを取得する。ここで、問合せ文に含まれる副問合せをビューに置き換えて実行する場合には、副問合せをビューに置き換える処理が発生する。そこで、算出部123は、問合せ文に含まれる副問合せをビューに置き換える処理に対応する計算コストと、ビューの実行にかかる計算コストとの合算値をビューの計算コストとしてもよい。
算出部123は、算出された副問合せの計算コストと、当該副問合せをビューに置き換えた場合の当該ビューの計算コストとに基づいて、ビューに置き換えることによって計算コストが低下する副問合せを特定する。
また、n個の問合せ文から特定された副問合せの個数がkであり、j番目の副問合せをビューに置き換える処理に対応する計算コストをd(j)とする。
また、i番目の問合せ文にj番目の副問合せが含まれるか否かを示すデルタ関数(含まれる場合1、含まれない場合0)をa(i,j)とする。
ここで、i番目の問合せ文にj番目の副問合せが含まれる個数を示す関数をa(i,j)としてもよい。これは、i番目の問合せ文にj番目の副問合せが複数個含まれる場合を考慮したものである。
また、j番目の副問合せをビューに置き換えるか否かを示す関数をx(j)とする。ここで、x(j)は、0又は1をとる。0は、副問合せをビューに置き換えないことを示し、1は、副問合せをビューに置き換えることを示す。そして、複数の副問合せのそれぞれをビューに置き換えるか否かを以下の式(1)で表現する。
Figure 2019040409
また、i番目の問合せ文に含まれるj番目の副問合せをビューに置き換えた後の、i番目の問合せ文の計算コストの低下量をc’(i,j)とする。
複数の問合せ文の少なくともいずれかに含まれる副問合せをビューに置き換えた場合の計算コストの低下量は、以下の式(2)で表現することができる。
Figure 2019040409
さらに、a(i,j)を、i番目の問合せ文が実行される頻度に、i番目の問合せ文にj番目の副問合せが含まれるか否かを示すデルタ関数(含まれる場合1、含まれない場合0)を乗算したものとしてもよい。これにより、(2)式は複数の問合せ文の少なくともいずれかに含まれる副問合せをビューに置き換えた場合の計算コストの期待値となる。i番目の問合せ文が実行される頻度をすべて1とみなすと、a(i,j)は、i番目の問合せ文にj番目の副問合せが含まれるか否かを示すデルタ関数となり、各問合せ文が1回ずつ実行された場合の計算コストの低下量の期待値となる。
さらに、a(i,j)を、i番目の問合せ文が実行される頻度に、i番目の問合せ文にj番目の副問合せが含まれる個数を乗算したものとしてもよい。これにより、(2)式は、i番目の問合せ文にj番目の副問合せが複数個含まれる場合を考慮し、さらに、複数の問合せ文の少なくともいずれかに含まれる副問合せをビューに置き換えた場合の計算コストの期待値となる。i番目の問合せ文が実行される頻度をすべて1とみなすと、a(i,j)は、i番目の問合せ文にj番目の副問合せが含まれる個数を示すこととなり、これは各問合せ文が1回ずつ実行された場合の計算コストの低下量の期待値となる。
算出部123は、式(1)のXに含まれるx(1)〜x(k)の値を変化させながら、式(2)の値が最大となるx(1)〜x(k)の組み合わせを特定する。これにより、算出部123は、ビューに置き換えることによって計算コストが低下する全ての副問合せを特定することができる。
さらに、組み合わせを特定する際、式(2)に制約をかけてもよい。具体的には、j番目の副問合せに対応するキャッシュ(マテリアライズド・ビュー)を生成した場合のストレージ等の記憶領域の資源コストをr(j)、資源コストの総量をSとし、式(2)の制約を以下の式(3)で表現する。
Figure 2019040409
算出部123は、式(1)のXに含まれるx(1)〜x(k)の値を変化させながら、式(3)の制約下で式(2)の値が最大となるx(1)〜x(k)の組み合わせを特定する。これにより、算出部123は、式(3)の制約下でビューに置き換えることによって計算コストが低下する全ての副問合せを特定することができる。
出力部124は、算出部123によって算出された副問合せの計算コストを示す情報を出力する。また、出力部は、算出部123によって算出された、副問合せをビューに置き換えた場合の当該ビューの計算コストを示す情報をユーザ端末3に出力する。
ここで、出力部124は、算出部123によって特定された副問合せ、すなわち、ビューに置き換えることによって計算コストの低下量の期待値が増加する副問合せを示す情報をユーザ端末3に出力してもよい。このようにすることで、ユーザ端末3のユーザは、計算コストの低下量の期待値が増加する副問合せを認識し、ビューに置き換えたり、副問合せの見直しを行ったりすることができる。
また、出力部124は、ビューに置き換えることによる計算コストの低下量の期待値が大きい順に副問合せを示す情報をユーザ端末3に出力してもよい。このようにすることで、ユーザ端末3のユーザは、計算コストの低下量の期待値が大きく、見直すことによる改善効果が大きい副問合せを認識することができる。
作成部125は、計算コストの低下量の期待値が増加する副問合せに対応するビューを作成する。具体的には、作成部125は、出力部124が副問合せを示す情報をユーザ端末3に出力した後、ユーザ端末3から、副問合せに対応するビューを作成するか否かの指示をユーザ端末3から受け付ける。例えば、ユーザ端末3は、自身の表示部に計算コストの低下量の期待値が増加する1以上の副問合せを示す情報を表示させ、ユーザから、ビューに置き換える副問合せの選択を受け付ける。
ユーザ端末3は、副問合せが選択されたことに応じて、選択された副問合せに対応するビューを作成する指示を示す作成指示情報をデータベース管理装置1に送信する。作成部125は、ユーザ端末3から作成指示情報を受信すると、当該作成指示情報に基づいて、データベースシステム2にビューを作成させる。ここで、作成部125は、記憶部11に記憶されている作成済みのビューと、当該ビューに対応する副問合せとの関係を示す対応関係情報を参照し、作成指示情報が示すビューが既に作成されているか否かを判定する。そして、作成部125は、作成指示情報が示すビューが作成されていない場合に、データベースシステム2に当該ビューを作成させる。
作成部125は、ビューを作成する指示をユーザ端末3から受け付けると、当該ビューに対応するキャッシュ(マテリアライズド・ビュー)を生成するか否かの指示をユーザ端末3からさらに受け付けてもよい。そして、作成部125は、当該キャッシュを生成する指示を受け付けたことに応じて、当該キャッシュを生成してもよい。
また、作成部125は、取得部121がデータベースシステム2から取得した問合せ文に基づいて、ビューに対応する副問合せ文が、キャッシュの生成に適しているか否かを判定してもよい。例えば、作成部125は、データベースシステム2から取得した問合せ文に基づいて、副問合せ文に対応するテーブルに格納されるデータの更新頻度を算出してもよい。そして、作成部125は、更新頻度が所定の閾値以下である場合に、キャッシュの生成に適していると判定してもよい。作成部125は、ビューに対応する副問合せ文が、キャッシュの生成に適していると判定し、さらに、ビューを作成する指示をユーザ端末3から受け付けると、当該ビューに対応するキャッシュを生成してもよい。
作成部125は、ビューを作成すると、当該ビューを示す情報と、当該ビューに対応する副問合せを示す情報との対応関係を示す対応関係情報を記憶部11に記憶させる。
[データベース管理装置1における処理の流れ]
続いて、データベース管理装置1における処理の流れについて説明する。図5は、第1実施形態に係るデータベース管理装置1における処理の流れを示すフローチャートである。
まず、取得部121は、データベースシステム2から、問合せ文と実行計画とを取得し(S10)、問合せ文と実行計画とを記憶部11に記憶させる。
続いて、特定部122は、実行計画に基づいて、複数の問合せ文に共通に含まれる副問合せを特定する(S20)。
続いて、算出部123は、特定した副問合せの計算コストを算出する(S30)。また、算出部123は、特定した副問合せをビューに置き換えた場合の当該ビューの計算コストを算出する(S40)。
続いて、出力部124は、算出部123によって算出された副問合せの計算コストを示す情報と、当該副問合せに対応するビューの計算コストを示す情報とをユーザ端末3に出力する(S50)。
続いて、作成部125は、S50において計算コストを示す情報をユーザ端末3に出力してから所定時間以内にユーザ端末3においてビューの作成指示が行われたか否かを判定する(S60)。作成部125は、ビューの作成指示が行われたと判定すると、S70に処理を移し、ビューを作成する。また、作成部125は、ビューの作成指示が行われていないと判定すると、本フローチャートに係る処理を終了する。
作成部125は、ビューを作成すると、当該ビューを示す情報と、当該ビューに対応する副問合せを示す情報との対応関係を示す対応関係情報を記憶部11に記憶させる(S80)。
[第1実施形態における効果]
以上のとおり、第1実施形態に係るデータベース管理装置1は、複数の問合せ文の少なくとも一部の問合せ文に共通に含まれる副問合せを特定し、特定された副問合せの計算コストを算出し、ユーザ端末3に出力する。このようにすることで、ユーザ端末3のユーザは、複数の問合せ文の少なくとも一部の問合せ文に共通に含まれる副問合せの計算コストを認識することができる。これにより、データベース管理装置1は、ユーザに、問合せ文の中で、どの部分が冗長であるかを認識させ、自発的に問合せ文を改善させることができる。
また、ユーザが自発的に問合せ文を改善することにより、ユーザが作成する問合せ文が簡潔な記載となる。これにより、データの定義の一部が変更された場合、又は問合せの対象となるテーブルの変更が行われた場合に、ユーザによる問合せ文の修正範囲を少なくすることができる。
また、ユーザ又は管理者は、データベースシステム2において頻繁に実行される共通の中間処理である副問合せをビューという形式で認識することができ、データ分析の計画やシステムの増設等の計画にも利用することができる。
<第2実施形態>
[問合せ文に含まれる副問合せをビューに置き換える入力を受け付ける]
続いて、第2実施形態について説明する。第1実施形態に係るデータベース管理装置1は、ユーザ端末3からの指示情報を受信したことに応じてビューを作成したが、ユーザが新たに問合せ文を作成する場合に、作成されたビューを使用せず、副問合せを使用する場合がある。これに対して、第2実施形態に係るデータベース管理装置1は、新たに作成された問合せ文に、作成されたビューに対応する副問合せが含まれている場合に、当該副問合せを当該ビューに置き換える。以下に、第2実施形態に係るデータベース管理装置1について説明する。なお、第1実施形態と同じ部分については適宜説明を省略する。
図6は、第2実施形態に係るデータベース管理装置1の構成を示す図である。第2実施形態に係るデータベース管理装置1の制御部12は、記憶部11に記憶されているデータベース管理プログラムを実行することにより第2取得部126及び実行部127としてさらに機能する。
第2取得部126は、ユーザ端末3から、新たにデータベースシステム2において実行される問合せ文を取得する。
実行部127は、第2取得部126が問合せ文を取得すると、当該問合せ文に含まれる副問合せに対応するビューが作成されている場合に、当該副問合せを当該ビューに置き換えることにより当該問合せ文を実行する。
具体的には、実行部127は、第2取得部126が取得した問合せ文を解析し、記憶部11に記憶されている対応関係情報を構成する副問合せ文が含まれているか否かを判定する。実行部127は、問合せ文に、対応関係情報を構成する副問合せ文が含まれていると判定すると、対応関係情報を参照し、当該副問合せに関連付けられているビューを示す情報を特定する。
実行部127は、問合せ文に含まれている、特定した副問合せ文を、特定したビューに置き換える。ここで、実行部127は、問合せ文に含まれる副問合せに対応するビューが作成されている場合に、当該副問合せをビューに置き換えるか否かをユーザ端末3から受け付けてもよい。そして、実行部127は、副問合せをビューに置き換える指示をユーザ端末3から受け付けたことに応じて、当該副問合せを当該ビューに置き換えてもよい。
その後、実行部127は、ビューに置き換えた後の問合せ文をデータベースシステム2に送信することにより、当該問合せ文をデータベースシステム2に実行させる。
[第2実施形態における効果]
以上のとおり、第2実施形態に係るデータベース管理装置1は、ユーザ端末3から取得した問合せ文に含まれる副問合せに対応するビューが作成されている場合に、当該副問合せを当該ビューに置き換えることにより当該問合せ文を実行する。このようにすることで、データベース管理装置1は、ユーザ端末3から取得した問合せ文の計算コストを低減することができる。
また、データベース管理装置1は、ユーザ端末3から取得した問合せ文に含まれる副問合せに対応するビューが作成されている場合に、当該副問合せをビューに置き換えるか否かをユーザ端末3から受け付け、副問合せをビューに置き換える指示をユーザ端末3から受け付けたことに応じて、当該副問合せを当該ビューに置き換える。このようにすることで、データベース管理装置1は、ユーザ端末3から取得した問合せ文に含まれる副問合せをビューに置き換えることにより、当該問合せ文の計算コストを低減できることをユーザに認識させることができる。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更又は改良を加えることが可能であることが当業者に明らかである。例えば、上述の複数の実施形態を組み合わせてもよい。また、特に、装置の分散・統合の具体的な実施形態は以上に図示するものに限られず、その全部又は一部について、種々の付加等に応じて、又は、機能負荷に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。
1・・・データベース管理装置、11・・・記憶部、12・・・制御部、121・・・取得部、122・・・特定部、123・・・算出部、124・・・出力部、125・・・作成部、126・・・第2取得部、127・・・実行部、2・・・データベースシステム、3・・・ユーザ端末、S・・・データベース管理システム

Claims (12)

  1. データベースに対応する複数の問合せ文を取得する取得部と、
    取得された複数の前記問合せ文の少なくとも一部の問合せ文に共通に含まれる副問合せを特定する特定部と、
    特定された前記副問合せの計算コストを算出する算出部と、
    算出された前記計算コストを示す情報を出力する出力部と、
    を備えるデータベース管理装置。
  2. 前記算出部は、特定された前記副問合せの計算コストと、当該副問合せをビューに置き換えた場合の当該ビューの計算コストとを算出し、
    前記出力部は、算出された前記副問合せの計算コストと、当該副問合せをビューに置き換えた場合の当該ビューの計算コストとに基づいて、前記ビューに置き換えることによって計算コストの低下量の期待値が増加する前記副問合せを示す情報を出力する、
    請求項1に記載のデータベース管理装置。
  3. 前記出力部は、前記ビューに置き換えることによる前記計算コストの低下量の期待値が大きい順に前記副問合せを示す情報を出力する、
    請求項2に記載のデータベース管理装置。
  4. 前記出力部は、前記副問合せを前記ビューに置き換え、前記副問合せに対応するデータをキャッシュした場合に消費する記憶領域の量を示す資源コストが所定の制約を満たすように前記副問合せを前記ビューに置き換えることによって計算コストの低下量の期待値が増加する前記副問合せを示す情報を出力する、
    請求項2又は3に記載のデータベース管理装置。
  5. 前記計算コストの低下量の期待値が増加する前記副問合せに対応するビューを作成する作成部をさらに備える、
    請求項2から4のいずれか1項に記載のデータベース管理装置。
  6. 前記作成部は、前記計算コストの低下量の期待値が増加する前記副問合せに対応するビューを作成するか否かの指示をユーザ端末から受け付け、当該ビューを作成する指示を受け付けたことに応じて、当該ビューを作成する、
    請求項5に記載のデータベース管理装置。
  7. 前記作成部は、前記ビューを作成する指示を前記ユーザ端末から受け付けると、当該ビューに対応するキャッシュを生成するか否かの指示を前記ユーザ端末からさらに受け付け、当該キャッシュを生成する指示を受け付けたことに応じて、当該キャッシュを生成する、
    請求項6に記載のデータベース管理装置。
  8. 前記ユーザ端末から前記問合せ文を取得する第2取得部と、
    前記第2取得部が取得した前記問合せ文に含まれる副問合せに対応するビューが作成されている場合に、当該副問合せを当該ビューに置き換えることにより当該問合せ文を実行する実行部をさらに備える、
    請求項6又は7に記載のデータベース管理装置。
  9. 前記実行部は、前記副問合せを前記ビューに置き換える指示を前記ユーザ端末から受け付けたことに応じて、当該副問合せを当該ビューに置き換えて前記問合せ文を実行する、
    請求項8に記載のデータベース管理装置。
  10. 前記取得部は、前記複数の問合せ文のそれぞれに対応する処理を木構造で示す実行計画を取得し、
    前記特定部は、取得された前記実行計画の少なくとも一部の実行計画に共通に含まれる部分木を特定し、当該部分木に対応する前記副問合せを特定する、
    請求項1から9のいずれか1項に記載のデータベース管理装置。
  11. コンピュータが実行する、
    データベースに対応する複数の問合せ文を取得するステップと、
    取得された複数の前記問合せ文の少なくとも一部の問合せ文に共通に含まれる副問合せを特定するステップと、
    特定された前記副問合せの計算コストを算出するステップと、
    算出された前記計算コストを示す情報を出力するステップと、
    を備えるデータベース管理方法。
  12. コンピュータを、
    データベースに対応する複数の問合せ文を取得する取得部、
    取得された複数の前記問合せ文の少なくとも一部の問合せ文に共通に含まれる副問合せを特定する特定部、
    特定された前記副問合せの計算コストを算出する算出部、及び、
    算出された前記計算コストを示す情報を出力する出力部、
    として機能させるデータベース管理プログラム。
JP2017162137A 2017-08-25 2017-08-25 データベース管理装置、データベース管理方法、及びデータベース管理プログラム Active JP6812321B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017162137A JP6812321B2 (ja) 2017-08-25 2017-08-25 データベース管理装置、データベース管理方法、及びデータベース管理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017162137A JP6812321B2 (ja) 2017-08-25 2017-08-25 データベース管理装置、データベース管理方法、及びデータベース管理プログラム

Publications (2)

Publication Number Publication Date
JP2019040409A true JP2019040409A (ja) 2019-03-14
JP6812321B2 JP6812321B2 (ja) 2021-01-13

Family

ID=65726399

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017162137A Active JP6812321B2 (ja) 2017-08-25 2017-08-25 データベース管理装置、データベース管理方法、及びデータベース管理プログラム

Country Status (1)

Country Link
JP (1) JP6812321B2 (ja)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05334368A (ja) * 1992-06-02 1993-12-17 Hitachi Ltd データベース問合せ処理方法
JP2000222426A (ja) * 1999-02-02 2000-08-11 Nippon Steel Corp データベースシステム及び記録媒体
JP2002510088A (ja) * 1998-03-27 2002-04-02 インフォミックス ソフトウェア, インコーポレイテッド 予め演算されたビューの処理
JP2002163290A (ja) * 2000-09-27 2002-06-07 Microsoft Corp クエリ最適化のためのコストに基づく具体化ビューの選択
US20060026133A1 (en) * 2004-07-27 2006-02-02 Oracle International Corporation Determining query cost based on subquery filtering factor
JP2006511876A (ja) * 2002-12-23 2006-04-06 インターナショナル・ビジネス・マシーンズ・コーポレーション トランスペアレントなネットワークのエッジ・データ・キャッシュ
JP2006343798A (ja) * 2005-06-07 2006-12-21 Hitachi Ltd マテリアライズドビュー表作成方法、装置及びプログラム
US20090319476A1 (en) * 2008-06-20 2009-12-24 Chris Olston Adaptive materialized view selection for databases
JP2016529586A (ja) * 2013-09-13 2016-09-23 エヌイーシー ラボラトリーズ アメリカ インクNEC Laboratories America, Inc. マルチストアシステムをチューニングし、ビッグデータクエリワークロードを高速化するためのシステムおよび方法
US9582539B1 (en) * 2012-05-04 2017-02-28 Paraccel, Inc. Optimizing database queries using reusable subqueries
JP2017058947A (ja) * 2015-09-16 2017-03-23 富士通株式会社 データベースシステム、データベースアクセス方法、データベースアクセスプログラム、及び、情報処理装置

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05334368A (ja) * 1992-06-02 1993-12-17 Hitachi Ltd データベース問合せ処理方法
JP2002510088A (ja) * 1998-03-27 2002-04-02 インフォミックス ソフトウェア, インコーポレイテッド 予め演算されたビューの処理
JP2000222426A (ja) * 1999-02-02 2000-08-11 Nippon Steel Corp データベースシステム及び記録媒体
JP2002163290A (ja) * 2000-09-27 2002-06-07 Microsoft Corp クエリ最適化のためのコストに基づく具体化ビューの選択
JP2006511876A (ja) * 2002-12-23 2006-04-06 インターナショナル・ビジネス・マシーンズ・コーポレーション トランスペアレントなネットワークのエッジ・データ・キャッシュ
US20060026133A1 (en) * 2004-07-27 2006-02-02 Oracle International Corporation Determining query cost based on subquery filtering factor
JP2006343798A (ja) * 2005-06-07 2006-12-21 Hitachi Ltd マテリアライズドビュー表作成方法、装置及びプログラム
US20090319476A1 (en) * 2008-06-20 2009-12-24 Chris Olston Adaptive materialized view selection for databases
US9582539B1 (en) * 2012-05-04 2017-02-28 Paraccel, Inc. Optimizing database queries using reusable subqueries
JP2016529586A (ja) * 2013-09-13 2016-09-23 エヌイーシー ラボラトリーズ アメリカ インクNEC Laboratories America, Inc. マルチストアシステムをチューニングし、ビッグデータクエリワークロードを高速化するためのシステムおよび方法
JP2017058947A (ja) * 2015-09-16 2017-03-23 富士通株式会社 データベースシステム、データベースアクセス方法、データベースアクセスプログラム、及び、情報処理装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
渡辺 俊史: "問い合わせ文記述の幅を広げる相関副問い合わせ", 日経ソフトウエア, vol. 第11巻,第7号, JPN6020016233, 24 May 2008 (2008-05-24), JP, pages 140 - 147, ISSN: 0004266708 *

Also Published As

Publication number Publication date
JP6812321B2 (ja) 2021-01-13

Similar Documents

Publication Publication Date Title
US11630830B2 (en) Background format optimization for enhanced queries in a distributed computing cluster
US7814091B2 (en) Multi-tiered query processing techniques for minus and intersect operators
CN105404665B (zh) 一种json格式数据的查询管理系统
EP2752779B1 (en) System and method for distributed database query engines
CN104123374B (zh) 分布式数据库中聚合查询的方法及装置
US7509301B2 (en) Systems and methods for data processing
US8626747B2 (en) Automated query path reporting in distributed databases
US8943059B2 (en) Systems and methods for merging source records in accordance with survivorship rules
EP3218823B1 (en) Processing queries containing a union-type operation
US10698593B1 (en) Symmetric log axis scaling for a data visualization user interface
US20230409543A1 (en) Dynamic multi-platform model generation and deployment system
US20140067853A1 (en) Data search method, information system, and recording medium storing data search program
US20080126317A1 (en) Method and system for converting source data files into database query language
US20230126509A1 (en) Database management system and method for graph view selection for a relational-graph database
JP6812321B2 (ja) データベース管理装置、データベース管理方法、及びデータベース管理プログラム
EP3086244B1 (en) Database system and method of operation thereof
US20220188335A1 (en) Distributing tables in a distributed database using consolidated grouping sources
US10289632B1 (en) Dynamic array type in a data store system
JP6898215B2 (ja) データベース管理装置、データベース管理方法及びデータベース管理プログラム
KR20160047239A (ko) 혼합 워크로드 처리 환경에서 효율적인 데이터 저장을 위한 컬럼 그룹 선택방법 및 장치
US11580139B1 (en) Using an object model to view data associated with data marks in a data visualization
US20240012818A1 (en) Data management apparatus, data management system, and data management method
US20230401221A1 (en) Cross-tables search method, electronic device, and storage medium
JP2016062363A (ja) マニュアル表示制御プログラム、マニュアル表示制御方法及び装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190802

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200416

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200526

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200722

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201216

R150 Certificate of patent or registration of utility model

Ref document number: 6812321

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150