JP4659888B2 - データベース処理システム、計算機及びデータベース処理方法 - Google Patents

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

Info

Publication number
JP4659888B2
JP4659888B2 JP2009031190A JP2009031190A JP4659888B2 JP 4659888 B2 JP4659888 B2 JP 4659888B2 JP 2009031190 A JP2009031190 A JP 2009031190A JP 2009031190 A JP2009031190 A JP 2009031190A JP 4659888 B2 JP4659888 B2 JP 4659888B2
Authority
JP
Japan
Prior art keywords
sort
query
trigger information
information
data
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
JP2009031190A
Other languages
English (en)
Other versions
JP2010186391A (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
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2009031190A priority Critical patent/JP4659888B2/ja
Priority to US12/543,826 priority patent/US8510316B2/en
Publication of JP2010186391A publication Critical patent/JP2010186391A/ja
Application granted granted Critical
Publication of JP4659888B2 publication Critical patent/JP4659888B2/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/24537Query rewriting; Transformation of operators

Landscapes

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

Description

本発明は、データベースからデータを取得する技術に関し、特に、ソートされたデータを取得する技術に関する。
近年、RFID(Radio Frequency IDentification)の登場によってトランザクションデータ及びトレーサビリティデータなどを格納するためのデータベースの規模が急速に拡大している。このような大規模なデータベースを高速に検索するニーズがより一層高まっている。
大規模なデータベースを高速に検索するシステムには、二次記憶装置へデータ読み出し要求を多重に発行するデータベース処理システムがある。問合せ処理の多くを占める二次記憶装置に対する入出力(I/O)処理に着目し、二次記憶装置へデータ読み出し要求を多重に発行することで処理時間を短縮したデータベース処理システムである(例えば、特許文献1参照)。
特許文献1に開示されているデータベース処理システムは、データを必要とする都度、データを取得するためのタスクを生成し、生成されたタスクの実行時に必要に応じて、データ読み出し要求を発行する。データの読み出しを要求するタスクが複数で並列に処理されるため、データ読み出し要求が二次記憶装置に多重に発行される。
データベース処理システムでは、データ読み出し要求の完了順に処理が進行する。通常、多重に二次記憶装置へデータ読み出し要求を発行した場合、読み出しの完了順序は実行のたびに毎回異なるため、問合せ結果が生成される順序も毎回異なるといった特徴を持つ。問合せの結果出力順序が指定されていなければ、実行のたびに問合せ結果の出力順序が違うことを確認することができる。
また、高速な検索を実現する手段には、問合せ処理のソート処理に着目した技術がある。ソート処理は、問合せ結果を特定の出力順序にしたり、問合せ結果を集計する際の前処理として使われたりする。データベースが大規模になればソート処理のコストも大きくなるため、ソート処理に着目した高速化技術も重要である。
ソート処理に着目した高速化技術には、ソートキャンセルと呼ばれる技術が知られている。一般にデータベース処理システムでは、特定の順序でデータを読み出すアクセス手段を備えている。例えば、少ないデータ読み出し要求でデータを取得するための索引を用いた場合、索引のキーの順にデータをアクセスできる。また、クラスタ表のアクセスではクラスタキーによる順序でデータにアクセスできる。これはアクセス手段によって保障されるデータの読み出し順序を利用して、その後のソート処理を回避するものである。さらに、ソートキャンセルでは、検索時にソート処理が含まれないため、データの読み出しがすべて終了する前に問合せ結果を出力できる利点がある。特に、上位n件のみ取得するtop−kクエリの場合に効果が高い。なお、ソートキャンセルの詳細については、非特許文献1に説明されている。
特開2007−34414号公報 Hector Garcia-Molina著、「Database System Implementation」、Prentice Hall、1999年、P.258,417-418
しかし、二次記憶装置へデータ読み出し要求を多重に発行するデータベース処理システムでは、ソートキャンセルを適用することができないという問題がある。具体的には、特定の順序でデータを読み出し可能なアクセス手段を適用しても、データ読み出し要求の発行順だけが保障され、データ読み出し要求の完了順は実行のたびに毎回異なってしまうため、問合せ結果の生成順序が保障されない。したがって、問合せ結果を特定の出力順序にしたり、問合せ結果を集計する際の前処理を実行したりするためには、問合せ結果全体を対象としたソート処理が必要となる。
本発明は、二次記憶装置へデータ読み出し要求を多重に発行するデータベース処理システムにおいて、問合せ結果全体を対象としたソート処理を実行せずに問合せ結果をソートすることを目的とする。
本発明の代表的な一形態によれば、外部から受け付けた問合せ要求に基づいて問合せ結果全体を出力する計算機と、前記問合せ要求により出力される対象であるデータを格納するストレージシステムと、を含み、前記計算機は、前記ストレージシステムに接続される第1インタフェースと、前記第1インタフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリと、を備え、前記ストレージシステムは、前記計算機に接続される第2インタフェースと、前記第2インタフェースに接続される制御装置と、前記制御装置に接続される記憶装置と、を備え、前記記憶装置には、前記データ、及び前記データの格納位置が所定の順序で記録されている格納位置情報が格納されたデータベース処理システムにおいて、前記計算機は、前記格納位置情報に記録された値の順序に従って問合せ結果を出力する問合せ要求を受け付け、前記問合せ要求に基づいて前記データを取得する複数個のデータ読み出し要求に対する前記格納位置情報に記録された値の順序関係を記憶し、前記データ読み出し要求を前記ストレージシステムに送信し、前記ストレージシステムは、前記計算機から受信した個々の前記データ読み出し要求に対し、前記受信したデータ読み出し要求に基づく取得されたデータを前記計算機に送信し、前記計算機は、前記送信した複数のデータ読出し要求がすべて完了する前に、取得済の部分的な前記取得データ中に次に出力すべき問合せ結果が存在するかを前記順序関係により確認し、前記次に出力すべきデータが有る場合には前記問合せ結果の出力を開始する。
本発明の一形態によれば、問合せ結果全体を対象としたソート処理を実行することなく、問合せ結果をソートすることができる。
以下、図面を参照しながら、本発明の実施の形態について説明する。本発明は、二次記憶装置に対してデータ読み出し要求を多重に発行することが可能なデータベース処理システムに適用される。
例えば、データベース処理システムを複数プロセスで動作する並列データベースと、単一プロセスで動作するシングルデータベースとに分類すると、二次記憶装置にデータ読み出し要求を多重に発行するシングルデータベースは本発明の対象となる。
また、並列データベースには、共有型と無共有型がある。共有型並列データベースは、システム全体で特定の順序でデータを読み出すことが可能なアクセス手段を備え、ソートキャンセルが実現可能であるため本発明の対象となる。
一方、無共有型並列データベースでは、システム全体で特定の順序でデータを読み出せるアクセス手段を備えていないため、システム全体におけるソートキャンセルを実現することができない。しかし、分割された個々のデータベースを対象とすれば、特定の順序でデータを読み出すアクセス手段を備えるため、個々のデータベースにおいてソートキャンセル実現可能である。したがって、個々のデータベースで二次記憶装置へデータ読み出し要求を多重に発行することが可能な無共有型並列データベースは本発明の対象となる。
(第1の実施の形態)
図1は、本発明の第1の実施の形態の計算機システムの構成を示すブロック図である。
本発明の第1の実施の形態の計算機システムは、ホスト101及びストレージシステム103を含む。ホスト101及びストレージシステム103は、ネットワーク102を介して互いに接続される。
ホスト101は、ストレージシステム103にあるデータを管理するプログラムであるデータベース管理システム132を実行し、ホスト101内部のアプリケーション又は図示しないクライアント計算機などによって要求された問合せを処理し、問合せ結果を応答する。
ホスト101は、メモリ111、プロセッサ112及びインタフェース113を備える。メモリ111は、データベース管理システム132などのプログラム及び当該プログラムの実行に必要なデータを記憶する。プロセッサ112は、メモリ111に記憶されたプログラムを実行することによって、各種処理を実行する。
インタフェース113は、ネットワーク102に接続し、ストレージシステム103と通信する。ネットワーク102がストレージエリアネットワーク(SAN)である場合には、インタフェース113はいわゆるホストバスアダプタ(HBA)であってもよい。メモリ111に記憶されたプログラムが実行されると、必要に応じて、インタフェース113を介してストレージシステム103に入出力要求を発行する。
ネットワーク102は、例えば、ファイバーチャネル(FC)プロトコルが適用されるストレージエリアネットワーク(SAN)であるが、その他の任意の形態のネットワークであってもよい。具体的には、ネットワーク102がインターネットプロトコル(IP)ネットワークであれば、ホスト101とストレージシステム103との間をiSCSIプロトコルで通信するようにしてもよい。
ストレージシステム103は、ホスト101によって読み書きされるデータを格納し、ホスト101から送信された入出力要求に基づいて、データの書き込み又は読み出しを実行する。
ストレージシステム103は、インタフェース121、制御装置122及び記憶装置123を備える。インタフェース121は、ネットワーク102に接続される。制御装置122は、ホスト101から送信された入出力要求を処理する。
記憶装置123は、入出力要求によって読み書きされるデータを格納する。記憶装置123は、ハードディスクドライブ(HDD)、光ディスクドライブ、半導体記憶装置又はその他の記憶装置であってもよい。図1には、1つの記憶装置123がストレージシステム103に備えられているが、記憶装置123の数は任意である。また、複数の記憶装置123が備えられている場合には、ディスクアレイを構成するようにしてもよい。
メモリ111に記憶されるプログラムには、アプリケーションプログラム(AP)131、データベース管理システム132及びオペレーティングシステム(OS)133が含まれる。
AP131は、データベース管理システム132に問合せ要求を発行し、問合せ結果を受信する。本発明の第1の実施の形態ではデータベース管理システム132と同一の計算機でAP131が実行されているが、ネットワークを介して接続された別の計算機でアプリケーションが実行される構成としてもよい。
データベース管理システム132は、要求された問合せで指定された条件に合致するデータをストレージシステム103から検索し、検索結果(問合せ結果)を要求元に応答する。また、データ(表161)に効率よくアクセスするための索引162がストレージシステム103の記憶装置123に格納されている。
データベース管理システム132には、関係モデルをベースとした関係データベース管理システム(RDBMS)、又はオブジェクトモデルをベースとしたオブジェクト指向データベース管理システムがある。
RDBMSでは、レコードと呼ばれるデータを表161に格納し、少ないI/O要求でレコードにアクセスするための索引162を備える。索引162のデータ構造は、B木であったりハッシュであったりする。データに対する問合せはSQL(Structured Query Language)によって記述される。SQLでは、問合せ結果の出力順序指定はOrder by句によって表現され、集計演算はGroup by句によって表現される。
なお、本発明の第1の実施の形態では、データベース管理システム132はネットワーク102を介して接続されたストレージシステム103に表161及び索引162を格納しているが、ホスト101に記憶装置が備えられている場合には、ホスト101内の記憶装置に格納してもよい。
OS133は、ホスト101の資源(プロセッサ112及びメモリ111)を管理するプログラムである。また、データベース管理システム132からの入出力要求を受け付け、ストレージシステム103に入出力要求を発行する。
ここで、さらに、データベース管理システム132の詳細な構成について説明すると、データベース管理システム132には、問合せ受付部141、問合せ実行部142、タスク管理部143、一時バッファ144及びDBバッファ145が備えられる。
問合せ受付部141は、AP131から要求された問合せに基づいて、問合せプランを生成する。問合せプランについては後述する。
問合せ実行部142は、問合せ受付部141によって生成された問合せプランを実行する。問合せ実行部142は、問合せ結果を生成するための基本的なデータベースオペレーション(以下、「OP」)を備えている。問合せプランとは、問合せに応じた結果を生成するために必要なOPを組み合わせた処理手順である。問合せ実行部142は、OP実行部153及び順序保障部151を備える。
タスク管理部143は、問合せプランを実行するためのタスクを管理する。
一時バッファ144は、部分的な問合せ結果を一時的に格納するために割り当てられた領域である。DBバッファ145は、データアクセスを高速化するために、キャッシュされたデータが格納される。
OP実行部153は、問合せプランを実行する複数のタスクを生成し、生成されタスクを実行することによって、問合せ結果を生成する。各タスクを並列して実行することによって、OS133を介してストレージシステム103にデータ読み出し要求が多重に発行される。
また、OP実行部153は、ソート契機情報付与部154を備える。ソート契機情報付与部154は、処理対象のOP及び取得されたデータの取得順序などの情報に基づいて、ソート契機情報を生成する。ソート契機情報とは、問合せ処理の階層構造及び索引の順序などに基づいて、データ読み出し要求ごとに読み出されたデータをソートするための情報である。生成されたソート契機情報は、問合せ結果の途中段階である中間結果と共に付与される。本発明の第1の実施の形態のソート契機情報の具体的な内容については、図7にて後述する。
順序保障部151は、問合せ結果の出力順序を特定の順序に並び替えるモジュールである。問合せ結果を特定の順序でAP131に出力する場合には、順序保障部151がAP131に問合せ結果を出力する。また、問合せ結果を集計する際の前処理に順序保障部151を利用する場合には、順序保障部151がOP実行部153に対して問合せ結果を出力する場合がある。
順序保障部151は、部分ソート実施部152を備える。部分ソート実施部152は、問合せ結果に付与されているソート契機情報及び特定のOPの終了を示すソート契機情報に基づいて、問合せ結果を部分的にソートする。
図2は、本発明の第1の実施の形態の問合せ受付部141によって実行されるソート処理を決定する手順を示すフローチャートである。
本処理は、問合せ受付部141において問合せプランにソート処理を追加する際の処理である。要求された問合せ要求に、問合せ結果の出力順序が指定されている場合、集計処理が含まれている場合にソート処理が追加される。
プロセッサ112は、まず、問合せ受付部141によって問合せ要求が受け付けられると、ソートキャンセル可能か否かを判定する(ステップ201)。ソートキャンセル可能か否かを判定する方法については、図4を参照しながら詳細を説明する。
プロセッサ112は、ソートキャンセル可能な場合には(ステップ201の結果が「Y」)、ソート処理を問合せプランに追加せずに、ソートキャンセルしたことを示すソートキャンセルフラグを問合せプランに設定する(ステップ202)。
一方、プロセッサ112は、ソートキャンセルできない場合には(ステップ201の結果が「N」)、問合せプランにソート処理を追加する(ステップ203)。
続いて、さらに具体的に説明するために、図3A、図3B及び図4を参照しながら、ソートキャンセル可能な問合せプランの例を説明する。ここで説明する例では、データベース管理システム132にRDBMSを想定する。RDBMSに関するデータベースオペレーションの詳細は、非特許文献1などに記載されている。
図3Aは、本発明の第1の実施の形態の具体例を説明するための表及び索引を定義するSQLを示す図である。
図3Aに示すように、本発明の第1の実施の形態のデータベースには、part表とlineitem表が定義されている。
part表には、3つのカラム(Name、Brand及びPID)が含まれている。part表は、SQL301を実行することによって生成される。また、lineitem表には、3つのカラム(PID、LineID及びOID)が含まれている。lineitem表は、SQL302を実行することによって生成される。
さらに、part表には、Nameカラム及びPIDカラムをキーとして、part_index索引が定義されている。part_index索引は、SQL303を実行することによって生成される。同様に、lineitem表には、PIDカラム及びLineIDカラムをキーとして、lineitem_index索引が定義されている。lineitem_index索引は、SQL304を実行することによって生成される。
図3Bは、本発明の第1の実施の形態のデータ検索用のSQLの一例を示す図である。
SQL305は、part表とlineitem表をPIDカラムで結合し、part表のBrandカラムの値が“abc”であるデータを検索し、検索結果をpart表のNameカラムとlineitem表のLineIDカラムに基づいてソートするSQLである。
図4は、本発明の第1の実施の形態のSQL305に基づいて生成された問合せプランの一例を示す図である。
図4に示す問合せプランは、part表とlineitem表をネストループジョインする問合せプランである。
OP0(401)では、part_index索引に基づいて、Brandカラムの値が“abc”であるpart表のレコードへのポインタを取得する。
OP1(402)では、OP0(401)で取得されたpart表のレコードへのポインタに基づいてpart表のレコードを取得する。
OP2(403)では、OP1(402)で取得されたpart表のレコードに含まれるPIDカラムの値が、lineitem表のレコードに含まれるPIDカラムの値と一致するlineitem表のレコードへのポインタを取得する。
OP3(404)では、OP2(403)で取得されたlineitem表のレコードへのポインタに基づいてlineitem表のレコードを取得する。
SQL305には、part表のNameカラム、lineitem表のLineIDカラムの順でソートされた結果を出力するように指定されている。しかし、図4に示す問合せプランでは、最初にpart_index索引にアクセスし、その後にlineitem_index索引にアクセスする。したがって、part表のNameカラム、part表のPIDカラム、lineitem表のPIDカラム、lineitem表のLineIDカラムの順にアクセスされ、この順序で問合せ結果が整列される。このため、図4に示す問合せプランでは、ソート処理は不要、すなわち、ソートキャンセル可能と判定することができる。
このようにして問合せ受付部141によって生成された問合せプランは、問合せ実行部142に渡され、OP実行部153によって実行される。
図5は、本発明の第1の実施の形態の生成された問合せプランを実行する手順を示すフローチャートである。
本処理は、問合せ受付部141によって生成された問合せプランが受け付けられた後、問合せ実行部142のOP実行部153によって実行される。
プロセッサ112は、まず、問合せ受付部141によって生成された問合せプランにソートキャンセルフラグが設定されているか否かを判定する(ステップ501)。
プロセッサ112は、問合せプランにソートキャンセルフラグが設定されていない場合には(ステップ501の結果が「OFF」)、問合せプランの最初のOP(図4に示した問合せプランの例では「OP0」)を実行する(ステップ502)。
一方、プロセッサ112は、問合せプランにソートキャンセルフラグが設定されている場合には(ステップ501の結果が「ON」)、問合せプランの最初のOPを、ソート契機情報を生成しながらOPを実行するソート契機情報生成・OP実行処理を行う(ステップ503)。ソート契機情報生成・OP実行処理の詳細については、図6にて後述する。
ステップ502及びステップ503で実行されるOPでは、二次記憶装置(ストレージシステム103)にデータ読み出し要求が多重に発行される。本発明の第1の実施の形態では、特許文献1に開示されているデータベース処理システムを例に説明する。
図6は、本発明の第1の実施の形態のソート契機情報生成・OP実行処理の手順を示すフローチャートである。
ソート契機情報生成・OP実行処理は、問合せ実行部142のOP実行部153によって実行され、図5に示したフローチャートのステップ503の処理に対応する。
ソート契機情報生成・OP実行処理は、再帰的に実行され、実行時にはOPと対応するソート契機情報がタスクに設定される。また、ソート契機情報生成・OP実行処理が実行される場合には、初期値として、OPには「OP0」が設定され、ソート契機情報には「0」が設定されている。
ソート契機情報生成・OP実行処理が実行されると、プロセッサ112は、まず、ソート契機情報生成処理を実行する(ステップ602)。ソート契機情報生成処理を実行することによって、新たなソート契機情報が生成される。ソート契機情報生成処理の詳細については図8にて後述する。
プロセッサ112は、次に、OPで処理される対象のデータが残っているか否かを判定する(ステップ603)。OPがインデックススキャンの場合には残りのインデックスエントリに対応し、OPがテーブルスキャンの場合には未読のレコードに対応する。
プロセッサ112は、処理対象のデータが残っている場合には(ステップ603の結果が「Y」)、新たにタスクを生成する(ステップ604)。ステップ604の処理で新しいタスクを生成したタスクを親タスクとし、ステップ604の処理で親タスクによって新たに生成されたタスクを子タスクとする。
続いて、プロセッサ112は、親タスクに保持されているOP及びソート契機情報を生成した子タスクにコピーする(ステップ605)。OPが子タスクに割り当てられると、子タスクでは当該OPを処理するために独立して処理が開始され、親タスク側では再びソート契機情報の生成が開始される(ステップ606)。以上のように、OPにおける処理対象のデータがすべて処理されるまで、ステップ602からステップ606までの処理を繰り返すことによって子タスクを動的に生成し、複数のタスクでOPを実行することができる(ステップ620)。
プロセッサ112は、処理対象のデータがなくなった場合には(ステップ603の結果が「N」)、ソート契機情報に終了フラグを設定する(ステップ607)。さらに、終了フラグが付与されたソート契機情報を順序保障部151に送信する(ステップ608)。
一方、子タスク側では、親タスクから独立して処理が開始されると、プロセッサ112は、OPで割り当てられたデータを取得する(ステップ611)。このとき、必要に応じてストレージシステム103にデータ読み出し要求が送信される。
プロセッサ112は、データが取得されると、取得されたデータが選択条件に合致するか否かを判定する(ステップ612)。取得されたデータが選択条件に合致しない場合には(ステップ612の結果が「N」)、当該処理を実行したタスクによる問合せ結果は必要ない。このとき、問合せ結果は必要ないが、部分的なソート結果を出力するために、ソート契機情報を順序保障部151に送信する(ステップ613)。
プロセッサ112は、取得されたデータが選択条件に合致する場合には(ステップ612の結果が「Y」)、処理中のタスクに割り当てられたOPの次に処理されるOPが存在するか否かを判定する(ステップ614)。
プロセッサ112は、次に処理されるOPが存在しない場合には(ステップ614の結果が「N」)、実行中のタスクに割り当てられたOPが最後のOPであるため、問合せ結果が生成されたことになる。この場合には、問合せ結果とともにソート契機情報を順序保障部151に送信する(ステップ615)。
プロセッサ112は、次のOPが存在する場合には(ステップ614の結果が「Y」)、次のOPを設定してソート契機情報生成・OP実行処理を実行する(ステップ616)。このように、本処理は再帰的に実行され、生成された問合せプランにしたがって各OPを順次処理する。
図7は、本発明の第1の実施の形態のソート契機情報生成処理によってソート契機情報が生成される過程を説明する図である。
図7には、図4に示した問合せプランを処理した結果、ソート契機情報生成処理によって生成されたソート契機情報が示されている。
データ801〜812は、各OPでアクセスするデータ(インデックスのエントリ又はレコード)を示している。データ801〜812を接続する矢印は、動的に生成される複数のタスクでデータが取得される先行関係を示している。
ソート契機情報は、問合せプランにおけるOPの階層構造と各OPでアクセスされたデータの順番(データアクセス番号)によって表現される。OPでアクセスされたデータの順番は、データ格納位置と一致する。ソート契機情報は、階層構造に基づいて、各OPの処理順序の順序関係が比較可能なデータ構造を用いる。図7の例では、図4に示した問合せプランの各階層における順番(数値)を「−」で連結したものをソート契機情報831〜843としている。
ここで、図4に示した問合せプランに対応したソート契機情報を生成する過程について説明する。図4に示した問合せプランは、4階層のOPによって構成されているため、ソート契機情報は4つの数値を「−」で連結したものとなる。
具体的に「2−1−1−1」(837)を例として説明する。4つの数値は左からOP0のデータアクセス番号、OP1のデータアクセス番号、OP2のデータアクセス番号、OP3のデータアクセス番号に対応する。
part_index索引のデータ「p−i−2」(807)では、OP0において2番目にアクセスされているため、データアクセス番号は2である。さらに、part表のデータ「p−2」(808)では、OP1においてインデクス「p−i−2」に基づいてpart表に1番目にアクセスされているため、データアクセス番号は1となる。以下、同様に、lineitem_index索引のデータ「l−i−3」(809)では、OP2におけるデータアクセス番号は1、lineitem表のデータ「l−3」(810)では、OP3におけるデータアクセス番号は1となる。
さらに、終了フラグが設定されたソート契機情報によって、OPが終了したことを判定することができる。「1−1−3(E)」(835)は、終了フラグが設定されたソート契機情報の一例である。OP0のデータアクセス番号が1で、OP1のデータアクセス番号が1、そしてOP2のデータアクセス番号が3で終了フラグが設定されている。
「1−1−3(E)」(835)は、OP2で「p−1」(802)に基づいてlineitem_index索引にアクセスする場合に、「l−i−1」(803)及び「l−i−2」(804)にアクセスし、3回目で次のデータがないために終了フラグが設定されたソート契機情報を示している。
例えば、「2−1−1−1」(837)を出力する際には、「p−i−1」(801)から生成される問合せ結果が存在しないことを確認する必要がある。そこで、「1−1−1−2(E)」(832)、「1−1−2−2(E)」(834)、「1−1−3(E)」(835)、「1−2(E)」(836)といった終了フラグが設定されたソート契機情報を順序保障部151に送信し(図6のステップ608)、データ801に基づいて処理されたOPがすべて終了したことを確認する。また、選択条件によって問合せ結果が途中から生成されない場合でも、問合せ結果が生成されないことを確認するためにソート契機情報を順序保障部151に送信する必要がある(図6のステップ613)。
図8は、本発明の第1の実施の形態のソート契機情報生成処理の手順を示すフローチャートである。
ソート契機情報生成処理は、問合せ実行部142のOP実行部153に含まれるソート契機情報付与部154よって実行され、図6に示したフローチャートのステップ602の処理に対応する。ソート契機情報生成処理では、現在のタスクに設定されているソート契機情報及びOPを参照する。以下、具体的に手順を説明する。
プロセッサ112は、まず、タスクに設定されたOPの深さd1とソート契機情報の深さd2とを比較する(ステップ701)。前述のように、問合せプランは階層化されたOPによって構成されるため、階層内における深さを各OPの深さと定義する。例えば、図4の問合せプランの例では、OP0は深さ1、OP1は深さ2、OP2は深さ3、そしてOP3は深さ4となる。一方、ソート契機情報の深さとは、図7で示した例では、「−」で連結された数値の個数と定義する。
プロセッサ112は、ソート契機情報の深さd2がOPの深さd1よりも小さい場合には(ステップ701の結果が「d1>d2」)、タスクに対応するOPが最初に実行された場合であるため、ソート契機情報を1段深くする。すなわち、現在のソート契機情報に「−」及び1を追加する(ステップ702)。
プロセッサ112は、ソート契機情報の深さd2がOPの深さd1と同じ場合には(ステップ701の結果が「d1=d2」)、タスクに対応するOPで次のデータを参照する場合である。この場合には、ソート契機情報の一番深い番号に1を加算する(ステップ703)。
ソート契機情報生成処理を図6に示したフローチャートのステップ602で実行することによって、図7で説明したソート契機情報が生成される。ソート契機情報は、並列に実行される別々のタスクで順序保障部151に送信されるため、順序保障部151ではソート契機情報をランダムに受信することとなる。
図9は、本発明の第1の実施の形態の順序保障部151でソート契機情報を受信した時の処理の手順を示すフローチャートである。
プロセッサ112は、順序保障部151がソート契機情報を受信した場合には、部分ソート実施部152によって部分ソート処理を実行する(ステップ901)。部分ソート処理の詳細については、図10にて後述する。
図10は、本発明の第1の実施の形態の部分ソート処理の手順を示すフローチャートである。
部分ソート実施部152には、次に出力するべきソート契機情報の値を保持する出力判定情報が含まれる。出力判定情報はソート契機情報と同じデータ構造となっている。具体的には、出力判定情報と一致するソート契機情報に対応するタスクよりも前に実行されたタスクが完了し、問合せ結果が出力済みであることを示している。以下、部分ソート処理の手順について説明する。
プロセッサ112は、まず、出力判定情報が初期化されているか否かを判定する(ステップ1001)。初期化されていない場合には(ステップ1001の結果が「N」)、出力判定情報を初期化する(ステップ1002)。出力判定情報の初期値には、問合せ結果が最初に出力されるソート契機情報を設定する。前述したように、本発明の第1の実施の形態では、ソート契機情報の例では、問合せプランの階層分「1」を「−」で連結したもの(「1−1−1−1」)となる。
プロセッサ112は、順序保障部151で受信されたソート契機情報と出力判定情報に基づいて部分ソート完了判定処理を実行する(ステップ1003A)。部分ソート完了判定処理では、受信したソート契機情報と出力判定情報とを比較し、当該ソート契機情報において部分ソートが完了したか否かを判定する。部分ソート完了判定処理の詳細は、図11にて後述する。
プロセッサ112は、部分ソート完了判定処理の結果が「完了」であるか否かを判定する(ステップ1003B)。部分ソート完了判定処理の結果が「完了」でない、すなわち、「未完」と判定された場合には(ステップ1003Bの結果が「N」)、受信したソート契機情報及び問合せ結果を一時バッファ144に格納し(ステップ1004)、部分ソート処理を終了する。一時バッファ144は、順序保障部151から出力されるまでに一時的にソート契機情報と問合せ結果の組を保持する。ソート契機情報と問合せ結果の組は、ソート契機情報に基づいてソートされた状態で格納される。
一方、プロセッサ112は、部分ソート完了判定処理の結果が「完了」と判定された場合には(ステップ1003Bの結果が「Y」)、ソート契機情報及び問合せ結果に基づいて結果出力処理を実行する(ステップ1005)。結果出力処理では、問合せ結果を部分ソート実施部152によって出力する。結果出力処理の詳細は、図12にて後述する。
続いて、プロセッサ112は、部分ソートが完了したソート契機情報をさらに判定するために、出力判定情報をインクリメントする(ステップ1006)。出力判定情報のインクリメント処理については、図13にて詳細を後述する。
プロセッサ112は、一時バッファ144に格納されている問合せ結果が出力可能であるか否かを判定するために、インクリメントされた出力判定情報を、一時バッファ144に格納されたソート契機情報と比較する。一時バッファ144にはソート契機情報がソートされた状態で格納されているため、一時バッファ144の先頭に格納されたソート契機情報と出力判定情報に基づいて部分ソート完了判定処理を実行する(1007A)。そして、部分ソート完了判定処理の結果が「完了」であるか否かを判定する(ステップ1007B)。
プロセッサ112は、一時バッファ144の先頭に格納されたソート契機情報に対する部分ソート完了判定処理の結果が「完了」と判定された場合には(ステップ1007Bの結果が「Y」)、結果出力処理を実行し、対応する問合せ結果を出力する(ステップ1008)。
プロセッサ112は、一時バッファ144の先頭に格納されたソート契機情報及び対応する問合せ結果を一時バッファ144から削除し(ステップ1009)、さらに出力判定情報をインクリメントする(ステップ1006)。
プロセッサ112は、ステップ1006からステップ1009の処理を繰り返し、一時バッファ144の先頭に格納されたソート契機情報に対する部分ソート完了判定処理の結果が「完了」と判定されている間は、順次、対応する問合せ結果を出力する。一時バッファ144の先頭に格納されたソート契機情報に対する部分ソート完了判定処理の結果が「未完」と判定された場合には(ステップ1007Bの結果が「N」)、部分ソート処理を終了する。
図11は、本発明の第1の実施の形態の部分ソート完了判定処理の手順を示すフローチャートである。
プロセッサ112は、まず、判定対象のソート契機情報の深さd2と出力判定情報の深さd1とを比較する(ステップ1101)。判定対象のソート契機情報の深さd2と出力判定情報の深さd1が同じ場合には(ステップ1101の結果が「d1=d2」)、各階層の数値が一致するか、すなわち、ソート契機情報と出力判定情報とが一致するか否かを判定する(ステップ1102)。ソート契機情報と出力判定情報とが一致する場合には(ステップ1102の結果が「Y」)、部分ソート完了判定処理の結果を「完了」とする(ステップ1103)。また、ソート契機情報と出力判定情報とが一致しない場合には(ステップ1102の結果が「N」)、部分ソート完了判定処理の結果を「未完」とする(ステップ1104)。
一方、プロセッサ112は、判定対象のソート契機情報の深さd2と出力判定情報の深さd1が相違する場合には(ステップ1101の結果が「d1!=d2」)、深さが一致するまでの階層の各数値が一致し、かつ、残りの部分がすべて「1」か否かを判定する(ステップ1105)。ステップ1105の条件を満たす場合には(ステップ1105の結果が「Y」)、ソート契機情報を出力判定情報に設定する(ステップ1006)。さらに、判定対象のソート契機情報を「完了」と判定する(ステップ1107)。また、ステップ1105の条件を満たさない場合には(ステップ1105の結果が「N」)、「未完」と判定する(ステップ1108)。
図12は、本発明の第1の実施の形態の結果出力処理の手順を示すフローチャートである。
プロセッサ112は、まず、処理対象のソート契機情報に対応する問合せ結果が存在するか否かを判定する(ステップ1201)。問合せ結果が存在する場合には(ステップ1201の結果が「Y」)、当該問合せ結果を部分ソート実施部152によって出力する(ステップ1202)。
プロセッサ112は、問合せ結果が存在しない場合(ステップ1201の結果が「N」)、又はステップ1202の処理が終了した場合には、ソート契機情報に終了フラグが設定されているか否かを判定する(ステップ1203)。ソート契機情報に終了フラグが設定されている場合には(ステップ1203の結果が「Y」)、出力判定情報に終了フラグを設定する(ステップ1204)。
プロセッサ112は、ソート契機情報に終了フラグが設定されていない場合(ステップ1203の結果が「N」)、又はステップ1204の処理が完了した場合には、結果出力処理を完了する。
図13は、本発明の第1の実施の形態の出力判定情報のインクリメント処理の手順を示すフローチャートである。
プロセッサ112は、まず、出力判定情報に終了フラグが設定されているか否かを判定する(ステップ1301)。出力判定情報に終了フラグが設定されている場合には(ステップ1301の結果が「Y」)、出力判定情報の深さを1段浅くする(ステップ1302)。
プロセッサ112は、出力判定情報に終了フラグが設定されていない場合(ステップ1301の結果が「N」)、又はステップ1302の処理が完了した場合には、出力判定情報の一番深い階層の番号に1を加算する(ステップ1303)。
図14は、本発明の第1の実施の形態におけるデータベース管理システム132の動作例を示す図であって、AP131、問合せ受付部141、OP実行部153、OS133及び順序保障部151が相互に動作する様子を示すタイミングチャートである。なお、AP131、問合せ受付部141、OP実行部153、OS133及び順序保障部151は、前述のように、プロセッサ112によって実行されるプログラムである。
まず、AP131は、データベース管理システム132に問合せ要求を発行する(2001)。
データベース管理システム132は、問合せ受付部141によってAP131から発行された問合せ要求を受け付け、問合せプランを生成する(2002)。その後、OP実行部153は、問合せ受付部141によって生成された問合せプランを実行する(2003)。このとき、OP実行部153では問合せプランの実行において必要に応じてタスクを生成し、OS133にデータ読み出し要求を送信する(2004)。
OP実行部153の処理(2003)とOS133の処理(2004)との間の通信は、データ読み出し要求の発行及び完了を示している。図14には図7に示した問合せプラン動作例が示されている。また、OP実行部153とOS133との間における通信の順序は、DBバッファの有無又はデータ読み出し要求の完了順序などによって変化する。
OP実行部153の処理(2003)では、データ読み出し要求の完了順序に従って複数のタスクが処理され、ソート契機情報と問合せ結果との組、及びソート契機情報が、送信可能となった時点で、随時、順序保障部151に送信される(2005〜2011)。なお、図14に示したソート契機情報と問合せ結果の組、及びソート契機情報を順序保障部151に送信する順序は、一例であり、OP実行部153においてタスクが独立して実行されているため、タスクのCPUスケジューリングなどによって変化する。
順序保障部151は、ソート契機情報と問合せ結果の組、及びソート契機情報を受信すると、部分ソート実施部152で問合せ結果に対して部分的なソートを行う。このとき実行されるソートについては、詳細な動作を図15にて説明する。図14に示す動作例では「l−4」のデータ読み出し要求を送信するまでの間に、部分ソート実施部152によって、3個の問合せ結果(2012〜2014)がAP131に出力されている。
図15は、本発明の第1の実施の形態の部分ソート実施部152による処理の一例を説明する図である。図15では問合せ結果の記載を省略しているが、一時バッファ144にはソート契機情報と問合せ結果とが組になって格納されている。
初期の状態では、一時バッファ144は空であり(1401)、出力判定情報は初期値の「1−1−1−1」が設定されている(1402)。
OP実行部153の処理が開始されると、順序保障部151は、複数のソート契機情報1403をOP実行部153から受信する。ソート契機情報1403は、出力判定情報と異なるため、一時バッファ144にソート契機情報の順序で格納される(1404)。
その後、順序保障部151は、ソート契機情報「1−1−1−1」(1406)を受信すると、図12に示した結果出力処理が実行され、さらに、図13に示した手順に従って出力判定情報をインクリメントする(1408)。出力判定情報のインクリメントが終了すると、一時バッファ144に格納されたソート契機情報に対し、図11に示した部分ソート完了判定処理を実行する。しかし、状態1404の一時バッファ144には、完了と判定されるソート契機情報が含まれていないため、一時バッファ144の状態は変化しない(1407)。
続いて、順序保障部151は、ソート契機情報「1−1−1−2(E)」(1409)を受信すると、受信したソート契機情報が出力判定情報と一致するため、結果出力処理が実行される。さらに、出力判定情報をインクリメントし、部分ソート完了判定処理を実行する。その結果、一時バッファ144に格納されているソート契機情報(「1−1−2−1」「1−1−2−2(E)」「1−1−3(E)」)が完了と判定され、順次、一時バッファ144の先頭から出力される(1410)。このとき、出力判定情報は、「1−2」に更新される(1411)。
以上のように、部分ソート実施部152では、ソート契機情報に基づいて部分的なソートが完了したか否かを判定し、完了と判定されたソート契機情報に対応する問合せ結果を出力する。
本発明の第1の実施の形態では、OP実行部153において問合せ結果を生成する際に、問合せプランにおけるOPの階層構造と各OPのデータアクセス番号に基づいて順序比較可能なソート契機情報を生成する。順序保障部151では、ソート契機情報及び対応する問合せ結果を受信し、ソート契機情報に基づいて部分的なソートを実施する。その結果、本発明の第1の実施の形態によれば、多重に二次記憶装置にデータ読み出し要求を発行するデータベース処理システムにおいて、問合せ結果全体を対象としたソート処理を行わずに問合せ結果を出力することができる。
また、本発明の第1の実施の形態によれば、問合せ結果に付与されるソート契機情報に基づいて、問合せ結果の一部をソートする部分ソート処理を実行する。部分ソート処理を実行することによって、すべての問合せ結果が取得された後でなくても、ソートが完了した問合せ結果を先行して出力することができる。
本発明の第1の実施の形態のように多重にデータ読み出し要求を発行する場合であっても、データ読み出し要求の発行順はデータ読み出し要求を1つずつ発行する場合と同じであるため、問合せ処理全体ではデータ読み出し要求の発行順に近い順序で問合せ結果が生成される。したがって、データベースの規模が大きい場合であっても、部分ソート処理に必要な領域(一時バッファ144)が少ないことが期待される。
(第2の実施の形態)
次に、本発明の第2の実施の形態について説明する。本発明の第2の実施の形態では、一時バッファ144で使用可能なメモリ量の閾値が設定され、使用されたメモリ量が閾値を超えた場合にはディスク一時領域を利用したソート処理が実行される。ディスク一時領域は、外部から指定可能であり、ストレージシステム103によって提供される記憶領域であってもよいし、ホスト101で提供される記憶領域であってもよい。
本発明の第2の実施の形態は、部分ソート実施部152による部分ソート処理を除いて、第1の実施の形態と同様である。以下、第2の実施の形態が第1の実施の形態と相違する点について説明する。
図16は、本発明の第2の実施の形態のデータベース管理システム管理ツールの設定画面の一例を示す図である。
図16に示す設定画面では、一時バッファ144で使用可能なメモリ量の閾値とソート処理で利用するディスク一時領域を指定する。使用可能なメモリ量の閾値及びディスク一時領域の指定は、設定ファイルによる指定であってもよい。
図17は、本発明の第2の実施の形態の一時バッファの使用量に基づいて部分ソート実施部152によって部分ソートを実施する手順を示すフローチャートである。
プロセッサ112は、ソート契機情報を受信すると、ディスク一時領域に問合せ結果を出力しているか否かを判定する(ステップ1501)。ディスク一時領域に問合せ結果が出力されていない場合には(ステップ1501の結果が「N」)、図10に示した一時バッファ144を利用した部分ソート処理が実行されている。この場合には、一時バッファ144を利用した部分ソート処理を引き続き実行する(ステップ1502)。
プロセッサ112は、受信したソート契機情報の処理が終了すると、一時バッファ144の使用メモリ量が閾値を超えたか否かを判定する(ステップ1503)。一時バッファ144の使用メモリ量が閾値以下の場合には(ステップ1503の結果が「N」)、本処理を終了する。一時バッファ144の使用メモリ量が閾値を超えた場合には(ステップ1503の結果が「Y」)、一時バッファ144に格納された問合せ結果をすべてディスク一時領域に出力する(ステップ1504)。
プロセッサ112は、ディスク一時領域に問合せ結果が出力されている場合には(ステップ1501の結果が「Y」)、ディスク一時領域を利用したソート処理が実行されている。したがって、受信した問合せ結果はディスク一時領域に出力する(ステップ1505)。
プロセッサ112は、さらに、問合せ結果をすべて生成したか否かを判定する(ステップ1506)。すべての問合せ結果が生成されていない場合には(ステップ1506の結果が「N」)、本処理を終了する。一方、すべての問合せ結果が生成されている場合には(ステップ1506の結果が「Y」)、ディスク一時領域に格納された問合せ結果をソートし、順序保障部151によって問合せ結果を出力する(ステップ1507)。すべての問合せ結果を生成したか否かは、タスク管理部143に処理中のタスクの有無を確認することによって判定することができる。また、閾値以上になった場合であっても、ソート契機情報及び出力判定情報だけを管理することによって、すべての問合せ結果を生成したか否かを判定することが可能である。
以上のように、本発明の第2の実施の形態では、一時バッファ144の使用メモリ量があらかじめ指定された閾値を超えた場合には、ディスク一時領域を利用したソート処理に切り替えることができる。
本発明の第2の実施の形態によれば、部分ソート処理で使用されるメモリの上限値を設定し、当該上限値を超えた場合には記憶装置を利用した外部ソートに切り替えることによって、部分ソート処理において必要以上にメモリが消費されることを防ぐことができる。
(第3の実施の形態)
次に、本発明の第3の実施の形態について説明する。本発明の第3の実施の形態では、使用するメモリ量が閾値を超えた場合、一時的にメモリに保持されている問合せ結果を出力させるために必要なタスクを優先して処理することによって、一時バッファ144の使用量を削減する。
本発明の第3の実施の形態では、タスク管理部143によって管理される情報と部分ソート実施部152による部分ソート処理の手順を除き、第1の実施の形態と同様である。以下、第3の実施の形態が第1の実施の形態と相違する点について説明する。
図18は、本発明の第3の実施の形態のタスク管理部143によって管理されるタスク管理情報である。
タスク管理情報には、実行中のタスクを識別するタスク識別子1601など、タスクを管理するために必要な情報が含まれる。本発明の第3の実施の形態のタスク管理情報には、さらに、ソート契機情報1602が含まれる。ソート契機情報1602は、タスク識別子1601によって識別されるタスクに対応するソート契機情報である。
図19は、本発明の第3の実施の形態の部分ソート実行後に一時バッファの使用量に基づいてタスクの優先度を制御する手順を示すフローチャートである。
プロセッサ112は、第1の実施の形態と同様に、ソート契機情報を受信すると、部分ソート処理を実行する(ステップ1701)。部分ソート処理の終了後、一時バッファ144の使用メモリ量が閾値を超えたか否かを判定する(ステップ1702)。一時バッファ144の使用メモリ量が閾値以下の場合には(ステップ1702の結果が「N」)、本処理を終了する。
一方、プロセッサ112は、一時バッファ144の使用メモリ量が閾値を超えた場合には(ステップ1702の結果が「Y」)、一時バッファ144に格納された問合せ結果を出力するために必要なタスクが優先して処理されるように制御する(ステップ1703)。具体的には、一時バッファ144の先頭に格納されたソート契機情報よりも小さいソート契機情報に対応するタスクをタスク管理部143のタスク管理情報から特定し、特定されたタスクを優先して処理する(ステップ1703)。タスクがプロセス又はカーネルレベルスレッドの場合には、nice関数によって優先度を上げればよい。ユーザレベルスレッドの場合には、データベース管理システム132で管理しているタスクの実行可能キューにおいて当該タスクの処理を優先させればよい。
図20は、本発明の第3の実施の形態のデータベース管理システム管理ツールの設定画面の一例を示す図である。
図20に示す設定画面では、一時バッファ144で使用可能なメモリ量の閾値を設定する。使用可能なメモリ量の閾値の指定は、設定ファイルによる指定であってもよい。
以上のように、本発明の第3の実施の形態によれば、一時バッファ144の使用メモリ量を増大させている原因となっているタスクを特定することができる。特定されたタスクを優先的に処理することによって、一時バッファ144の使用量を削減することが可能となり、メモリの消費を抑制することができる。
(第4の実施の形態)
次に、本発明の第4の実施の形態について説明する。本発明の第4の実施の形態では、使用するメモリ量が閾値を超えた場合、第3の実施の形態と同様に、一時的にメモリに保持されている問合せ結果を出力させるために必要なタスクを優先して処理するように制御する。第4の実施の形態では、特に、必要なタスクの入出力処理がボトルネックとなっている場合に、対応する入出力処理が優先して実行されるように制御する。
本発明の第4の実施の形態では、タスク管理部143によって管理される情報と部分ソート実施部152による部分ソート処理の手順を除き、第1の実施の形態と同様である。以下、第4の実施の形態が第1の実施の形態と相違する点について説明する。
図21は、本発明の第4の実施の形態のタスク管理部143によって管理されるタスク管理情報である。
タスク管理情報には、実行中のタスクを識別するタスク識別子1601など、タスクを管理するために必要な情報が含まれる。第4の実施の形態のタスク管理情報には、第3の実施の形態と共通するタスク識別子1801及びソート契機情報1802の他に、各タスクの状態1803及び関連情報(1804、1805)が含まれる。
タスク識別子1801及びソート契機情報1802は、第3の実施の形態と同様である。タスク状態1803は、タスクの状態を示し、例えば、「実行中」及び「I/O中」などが設定される。
本発明の第4の実施の形態では、タスク状態1803が「I/O中」の場合には、関連情報として入出力要求の情報が格納される。具体的には、ファイル記述子1804及びオフセット1805である。なお、入出力要求の情報は、論理ユニット番号及び論理ブロックアドレスであってもよい。
図22は、本発明の第4の実施の形態の部分ソート実行後に一時バッファの使用量に基づいてタスクの入出力処理の優先度を制御する手順を示すフローチャートである。
プロセッサ112は、第1の実施の形態と同様に、ソート契機情報を受信すると、部分ソート処理を実行する(ステップ1901)。部分ソート処理が完了すると、一時バッファ144の使用メモリ量が閾値を超えたか否かを判定する(ステップ1902)。一時バッファ144の使用メモリ量が閾値以下の場合には(ステップ1902の結果が「N」)、本処理を終了する。
一方、プロセッサ112は、一時バッファ144の使用メモリ量が閾値を超えた場合には(ステップ1902の結果が「Y」)、一時バッファ144に格納された問合せ結果を出力するために必要なタスクが優先して処理されるように制御する。具体的には、一時バッファ144の先頭に格納されたソート契機情報よりも小さいソート契機情報に対応するタスクをタスク管理部143のタスク管理情報から特定する。さらに、特定されたタスクの状態が「I/O中」の場合には、当該タスクに対応するデータ読み出し要求を優先させるように制御する(ステップ1903)。例えば、I/O優先度を高く設定した同じデータ読み出し要求を発行することによって、他のデータ読み出し要求よりも優先的に処理されるように制御する。
なお、閾値となるメモリ量を設定する手段については、第3の実施の形態に示したデータベース管理システム管理ツールの設定画面を利用すればよい。
以上のように、本発明の第4の実施の形態によれば、一時バッファ144の使用メモリ量を増大させている原因となっているタスクを特定し、特定されたタスクで発行されたデータ読み出し要求を優先的に処理することで当該タスクを優先的に処理することができる。これによって、一時バッファ144の使用量を削減することが可能となり、メモリの消費量を抑制することができる。
本発明の第1の実施の形態の計算機システムの構成を示すブロック図である。 本発明の第1の実施の形態の問合せ受付部によって実行されるソート処理を決定する手順を示すフローチャートである。 本発明の第1の実施の形態の具体例を説明するための表及び索引を定義するSQLを示す図である。 本発明の第1の実施の形態のデータ検索用のSQLの一例を示す図である。 本発明の第1の実施の形態のSQLに基づいて生成された問合せプランの一例を示す図である。 本発明の第1の実施の形態の生成された問合せプランを実行する手順を示すフローチャートである。 本発明の第1の実施の形態のソート契機情報生成・OP実行処理の手順を示すフローチャートである。 本発明の第1の実施の形態のソート契機情報生成処理によってソート契機情報が生成される過程を説明する図である。 本発明の第1の実施の形態のソート契機情報生成処理の手順を示すフローチャートである。 本発明の第1の実施の形態の順序保障部でソート契機情報を受信した時の処理の手順を示すフローチャートである。 本発明の第1の実施の形態の部分ソート処理の手順を示すフローチャートである。 本発明の第1の実施の形態の部分ソート完了判定処理の手順を示すフローチャートである。 本発明の第1の実施の形態の結果出力処理の手順を示すフローチャートである。 本発明の第1の実施の形態の出力判定情報のインクリメント処理の手順を示すフローチャートである。 本発明の第1の実施の形態におけるデータベース処理システムの動作例を示す図であって、AP、問合せ受付部、OP実行部、OS及び順序保障部が相互に動作する様子を示すタイミングチャートである。 本発明の第1の実施の形態の部分ソート実施部による処理の一例を説明する図である。 本発明の第2の実施の形態のデータベース管理システム管理ツールの設定画面の一例を示す図である。 本発明の第2の実施の形態の一時バッファの使用量に基づいて部分ソート実施部によって部分ソートを実施する手順を示すフローチャートである。 本発明の第3の実施の形態のタスク管理部によって管理されるタスク管理情報である。 本発明の第3の実施の形態の部分ソート実行後に一時バッファの使用量に基づいてタスクの優先度を制御する手順を示すフローチャートである。 本発明の第3の実施の形態のデータベース管理システム管理ツールの設定画面の一例を示す図である。 本発明の第4の実施の形態のタスク管理部によって管理されるタスク管理情報である。 本発明の第4の実施の形態の部分ソート実行後に一時バッファの使用量に基づいてタスクの入出力処理の優先度を制御する手順を示すフローチャートである。
101 ホスト
102 ネットワーク
103 ストレージシステム
111 メモリ
112 プロセッサ
113 インタフェース
121 インタフェース
122 制御装置
123 記憶装置
131 アプリケーションプログラム(AP)
132 データベース管理システム
133 オペレーティングシステム(OS)
141 問合せ受付部
142 問合せ実行部
143 タスク管理部
144 一時バッファ
145 DBバッファ
151 順序保障部
152 部分ソート実施部
153 OP実行部
154 ソート契機情報付与部

Claims (15)

  1. 外部から受け付けた問合せ要求に基づいて問合せ結果全体を出力する計算機と、前記問合せ要求により出力される対象であるデータを格納するストレージシステムと、を含み、
    前記計算機は、前記ストレージシステムに接続される第1インタフェースと、前記第1インタフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリと、を備え、
    前記ストレージシステムは、前記計算機に接続される第2インタフェースと、前記第2インタフェースに接続される制御装置と、前記制御装置に接続される記憶装置と、を備え、
    前記記憶装置には、前記データ、及び前記データの格納位置が所定の順序で記録されている格納位置情報が格納され、
    たデータベース処理システムにおいて、
    前記計算機は、
    前記格納位置情報に記録された値の順序に従って問合せ結果を出力する問合せ要求を受け付け、前記問合せ要求に基づいて前記データを取得する複数個のデータ読み出し要求に対する前記格納位置情報に記録された値の順序関係を記憶し、前記データ読み出し要求を前記ストレージシステムに送信し、
    前記ストレージシステムは、
    前記計算機から受信した個々の前記データ読み出し要求に対し、前記受信したデータ読み出し要求に基づく取得されたデータを前記計算機に送信し、
    前記計算機は、
    前記送信した複数のデータ読出し要求がすべて完了する前に、取得済の部分的な前記取得データ中に次に出力すべき問合せ結果が存在するかを前記順序関係により確認し、前記次に出力すべきデータが存在する場合には前記問合せ結果の出力を開始することを特徴とするデータベース処理システム。
  2. 前記メモリには、前記問合せ要求に基づいて前記ストレージシステムから取得されたデータから生成される問合せ結果を一時的に保持する一時バッファが含まれ、
    前記計算機は、
    前記メモリ上にある、問合せ要求を受付け、前記ストレージシステムへデータ読出し要求を行うことで問合せ結果全体を生成し、出力するデータベース管理システムをプロセッサで実行しており、
    前記データベース管理システムは、前記問合せ要求を受けつけ、問合せ結果を生成するための手順である問合せプランを生成する問合せ受付部と、前記問合せプランを実行し問合せ結果全体を生成する問合せ実行部を持ち、
    前記問合せプランは、前記データ又は前記格納位置情報にアクセスするオペレーションによって構成され、
    前記問合せ実行部は、
    前記問合せプランを構成するオペレーションをデータごとに並列して実行することで前記データを取得する複数個のデータ読出し要求を前記ストレージシステムに送信し、その結果得られる前記データから問合せ結果を生成するオペレーション実行部を含み、
    前記問合せ実行部は、前記問合せ要求により指定される順序関係を示すためのソート契機情報を格納位置情報及びオペレーションの処理順序に基づいて生成するソート契機情報付与部と、前記問合せ要求の指示に従い問合せ結果を出力する部分ソート実施部を含み、
    前記オペレーション実行部は、生成した問合せ結果と対応するソート契機情報を部分ソート実施部に出力し、問合せ結果を生成せずに終了した処理のソート契機情報を部分ソート実施部に出力し、
    前記部分ソート実施部は、
    次に出力すべきソート契機情報の値を保持する出力判定情報をメモリ上に保持し、
    前記ソート判定情報の初期値には、一番最初に出力すべきソート契機情報の値を設定し、
    前記オペレーション実施部から出力される問合せ結果とソート契機情報の組又はソート契機情報を受け取り、前記ソート契機情報と前記出力判定情報を比較し、
    前記ソート契機情報と前記出力判定情報が異なった場合、前記一時バッファに前記ソート契機情報と前記問合せ結果の組である一時バッファ要素として格納し、
    前記ソート契機情報と前記出力判定情報が同じである場合、対応する前記問合せ結果があれば前期問合せ結果を出力し、前記出力判定情報を次に出力すべきソート契機情報の値に更新し、更新後の前記出力判定情報と同じソート契機情報を含む一時バッファ要素を前記一時バッファから探し、
    前記一時バッファ要素がある場合、一時バッファ要素に問合せ結果があれば前記問合せ結果を出力し、前記出力判定情報を次に出力すべきソート契機情報の値に更新し、再度更新後の前記出力判定情報と同じソート契機情報を含む一時バッファ要素を前記一時バッファから探し、前記出力判定情報と同じソート契機情報を含む一時バッファ要素が見つからなくなるまで繰り返す、ことを特徴とする請求項1に記載されたデータベース処理システム。
  3. 前記オペレーション実行部は、並列に動作可能な複数のタスクによりオペレーションを前記データ又は前記格納位置情報ごと独立に実行することで問合せ結果を生成し、
    前記タスクは、オペレーションを実行している前記データ又は前記格納位置情報に対応するソート契機情報をソート契機情報付与部から取得し、問合せ結果を完成させる場合は、問合せ結果とソート契機情報を部分ソート実施部に出力し、問合せ結果を生成せずに終了する場合は、ソート契機情報を部分ソート実施部に出力し、
    前記ソート契機情報は、
    前記問合せプランにおけるオペレーションの先行関係に基づいて階層化され、前記データ又は前記格納位置情報に対するアクセス順序に対応する値が階層ごとに連結された構造となっており、
    さらに、各階層における最後のアクセスを示す情報を含むことを特徴とする請求項2に記載されたデータベース処理システム。
  4. 前記計算機は、前記一時バッファに保持されたデータの容量が所定の第1の閾値を超えた場合には、前記計算機からアクセス可能な外部記憶装置に割り当てられた一時記憶領域を利用して、前記受け付けられた問合せの結果をソートすることを特徴とする請求項2に記載されたデータベース処理システム。
  5. 前記計算機は、前記所定の第1の閾値の設定を受け付けることを特徴とする請求項4に記載されたデータベース処理システム。
  6. 前記計算機は、前記外部記憶装置の指定を受け付けることを特徴とする請求項4に記載されたデータベース処理システム。
  7. 前記メモリには、前記プロセッサによって実行されているタスクを管理するタスク管理情報が記憶され、
    前記計算機は、
    前記一時バッファに保持されたデータの容量が所定の第2の閾値を超えた場合には、前記一時バッファに保持されたソート契機情報よりも先に出力すべきソート契機情報を保持するタスクよりも先行して実行されたタスクを前記タスク管理情報から選択し、
    前記選択されたタスクの実行を、他に実行されているタスクよりも優先させることを特徴とする請求項3に記載されたデータベース処理システム。
  8. 前記計算機は、前記所定の第2の閾値の設定を受け付けることを特徴とする請求項7に記載されたデータベース処理システム。
  9. 前記メモリには、前記プロセッサによって実行されているタスクを管理するタスク管理情報が記憶され、
    前記計算機は、
    前記一時バッファに保持されたデータの容量が所定の第3の閾値を超えた場合には、前記一時バッファに保持されたソート契機情報よりも先に出力すべきソート契機情報を保持するタスクよりも先行して実行されたタスクを前記タスク管理情報から選択し、
    前記選択されたタスクで発行されたデータ読み出し要求を他のタスクで発行されたデータ読み出し要求よりも高い優先度で再発行することを特徴とする請求項3に記載されたデータベース処理システム。
  10. 前記計算機は、前記所定の第3の閾値の設定を受け付けることを特徴とする請求項9に記載されたデータベース処理システム。
  11. 外部から受け付けた問合せ要求に基づいて問合せ結果全体を出力する計算機であって、前記問合せ要求により出力される対象であるデータを格納するストレージシステムにネットワークを介して接続される第1インタフェースと、前記第1インタフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリと、を備え、
    前記ストレージシステムは、前記計算機に接続される第2インタフェースと、前記第2インタフェースに接続される制御装置と、前記制御装置に接続される記憶装置と、を備え、
    前記記憶装置には、前記データ、及び前記データの格納位置が所定の順序で記録されている格納位置情報が格納され、
    たデータベース処理システムにおいて、
    前記プロセッサは、
    前記格納位置情報に記録された値の順序に従って問合せ結果を出力する問合せ要求を受け付け、前記問合せ要求に基づいて前記データを取得する複数個のデータ読み出し要求に対する前記格納位置情報に記録された値の順序関係を記憶し、前記データ読み出し要求を前記第1インターフェースを介して前記ストレージシステムに送信し、
    前記ストレージシステムから、前記計算機から受信した個々の前記データ読み出し要求に基づき、前記ストレージシステムが格納するデータから取得されたデータを前記第1インターフェースを介して受信し、
    前記送信した複数のデータ読出し要求がすべて完了する前に、取得済の部分的な前記取得データ中に次に出力すべき問合せ結果が存在するかを前記順序関係により確認し、前記次に出力すべきデータが有る場合には前記問合せ結果の出力を開始することを特徴とする計算機。
  12. 前記メモリには、前記問合せ要求に基づいて前記ストレージシステムから取得されたデータから生成される問合せ結果を一時的に保持する一時バッファが含まれ、
    前記プロセッサは、
    前記メモリ上にある、問合せ要求を受付け、前記ストレージシステムへデータ読出し要求を行うことで問合せ結果全体を生成し、出力するデータベース管理システムを実行し、
    前記データベース管理システムは、前記問合せ要求を受けつけ、問合せ結果を生成するための手順である問合せプランを生成する問合せ受付部と、前記問合せプランを実行し問合せ結果全体を生成する問合せ実行部を持ち、
    前記問合せプランは、前記データ又は前記格納位置情報にアクセスするオペレーションによって構成され、
    前記問合せ実行部は、
    前記問合せプランを構成するオペレーションをデータごとに並列して実行することで前記データを取得する複数個のデータ読出し要求を前記ストレージシステムに送信し、その結果得られる前記データから問合せ結果を生成するオペレーション実行部を含み、
    前記問合せ実行部は、前記問合せ要求により指定される順序関係を示すためのソート契機情報を格納位置情報及びオペレーションの処理順序に基づいて生成するソート契機情報付与部と、前記問合せ要求の指示に従い問合せ結果を出力する部分ソート実施部を含み、
    前記オペレーション実行部は、生成した問合せ結果と対応するソート契機情報を部分ソート実施部に出力し、問合せ結果を生成せずに終了した処理のソート契機情報を部分ソート実施部に出力し、
    前記部分ソート実施部は、
    次に出力すべきソート契機情報の値を保持する出力判定情報をメモリ上に保持し、
    前記ソート判定情報の初期値には、一番最初に出力すべきソート契機情報の値を設定し、
    前記オペレーション実施部から出力される問合せ結果とソート契機情報の組又はソート契機情報を受け取り、前記ソート契機情報と前記出力判定情報を比較し、
    前記ソート契機情報と前記出力判定情報が異なった場合、前記一時バッファに前記ソート契機情報と前記問合せ結果の組である一時バッファ要素として格納し、
    前記ソート契機情報と前記出力判定情報が同じである場合、対応する前記問合せ結果があれば前期問合せ結果を出力し、前記出力判定情報を次に出力すべきソート契機情報の値に更新し、更新後の前記出力判定情報と同じソート契機情報を含む一時バッファ要素を前記一時バッファから探し、
    前記一時バッファ要素がある場合、一時バッファ要素に問合せ結果があれば前記問合せ結果を出力し、前記出力判定情報を次に出力すべきソート契機情報の値に更新し、再度更新後の前記出力判定情報と同じソート契機情報を含む一時バッファ要素を前記一時バッファから探し、前記出力判定情報と同じソート契機情報を含む一時バッファ要素が見つからなくなるまで繰り返す、ことを特徴とする請求項11に記載された計算機。
  13. 前記オペレーション実行部は、並列に動作可能な複数のタスクによりオペレーションを前記データ又は前記格納位置情報ごと独立に実行することで問合せ結果を生成し、
    前記タスクは、オペレーションを実行している前記データ又は前記格納位置情報に対応するソート契機情報をソート契機情報付与部から取得し、問合せ結果を完成させる場合は、問合せ結果とソート契機情報を部分ソート実施部に出力し、問合せ結果を生成せずに終了する場合は、ソート契機情報を部分ソート実施部に出力し、
    前記ソート契機情報は、
    前記問合せプランにおけるオペレーションの先行関係に基づいて階層化され、前記データ又は前記格納位置情報に対するアクセス順序に対応する値が階層ごとに連結された構造となっており、
    さらに、各階層における最後のアクセスを示す情報を含むことを特徴とする請求項12に記載された計算機。
  14. 前記メモリには、前記プロセッサによって実行されているタスクを管理するタスク管理情報が記憶され、
    前記プロセッサは、
    前記一時バッファに保持されたデータの容量が所定の閾値を超えた場合には、前記一時バッファに保持されたソート契機情報よりも先に出力すべきソート契機情報を保持するタスクを前記タスク管理情報から選択し、
    前記選択されたタスクで発行されたデータ読み出し要求を他のタスクで発行されたデータ読み出し要求よりも高い優先度で再発行することを特徴とする請求項13に記載された計算機。
  15. 外部から受け付けた問合せ要求に基づいて問合せ結果全体を出力する計算機と、問合せ要求により出力される対象であるデータを格納するストレージシステムとを含むシステムにおけるデータベース処理方法であって、
    前記計算機は、前記格納位置情報に記録された値の順序に従って問合せ結果を出力する問合せ要求を受け付け、
    前記計算機は、前記問合せ要求に基づいて前記データを取得する複数個のデータ読み出し要求に対する前記格納位置情報に記録された値の順序関係を保持し、
    前記計算機は、前記データ読み出し要求を前記ストレージシステムに送信し、
    前記ストレージシステムは、前記計算機から受信した個々の前記データ読み出し要求に対し、前記受信したデータ読み出し要求に基づく取得されたデータを前記計算機に送信し、
    前記計算機は、前記送信した複数のデータ読出し要求がすべて完了する前に、取得済の部分的な前記取得データ中に次に出力すべき問合せ結果が存在するかを前記順序関係により確認し、前記次に出力すべきデータが有る場合には前記問合せ結果の出力を開始する、ことを特徴とするデータベース処理方法。
JP2009031190A 2009-02-13 2009-02-13 データベース処理システム、計算機及びデータベース処理方法 Active JP4659888B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009031190A JP4659888B2 (ja) 2009-02-13 2009-02-13 データベース処理システム、計算機及びデータベース処理方法
US12/543,826 US8510316B2 (en) 2009-02-13 2009-08-19 Database processing system and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009031190A JP4659888B2 (ja) 2009-02-13 2009-02-13 データベース処理システム、計算機及びデータベース処理方法

Publications (2)

Publication Number Publication Date
JP2010186391A JP2010186391A (ja) 2010-08-26
JP4659888B2 true JP4659888B2 (ja) 2011-03-30

Family

ID=42560790

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009031190A Active JP4659888B2 (ja) 2009-02-13 2009-02-13 データベース処理システム、計算機及びデータベース処理方法

Country Status (2)

Country Link
US (1) US8510316B2 (ja)
JP (1) JP4659888B2 (ja)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8892780B2 (en) 2007-03-08 2014-11-18 Oracle International Corporation Management of shared storage I/O resources
US9772798B2 (en) * 2008-09-19 2017-09-26 Oracle International Corporation Method and system for implementing workload management by monitoring disk utilizations
US8868831B2 (en) 2009-09-14 2014-10-21 Oracle International Corporation Caching data between a database server and a storage system
WO2010033877A1 (en) 2008-09-19 2010-03-25 Oracle International Corporation Storage-side storage request management
JP4837759B2 (ja) * 2009-05-13 2011-12-14 株式会社日立製作所 データベース処理方法、データベース処理システム及びデータベースサーバ
US8204892B2 (en) * 2009-10-26 2012-06-19 Oracle International Corporation Performance boost for sort operations
US9665620B2 (en) 2010-01-15 2017-05-30 Ab Initio Technology Llc Managing data queries
US8990185B2 (en) 2010-02-19 2015-03-24 International Business Machines Corporation Evaluating reference based operations in shared nothing parallelism systems
JP5199317B2 (ja) 2010-08-25 2013-05-15 株式会社日立製作所 データベース処理方法、データベース処理システム及びデータベースサーバ
US9116955B2 (en) * 2011-05-02 2015-08-25 Ab Initio Technology Llc Managing data queries
JP5458330B2 (ja) * 2012-11-06 2014-04-02 株式会社日立製作所 データベース処理方法及びデータベース処理システム
US9501537B2 (en) * 2012-11-28 2016-11-22 Sap Se Parallel display of multiple query results
US10152500B2 (en) 2013-03-14 2018-12-11 Oracle International Corporation Read mostly instances
JP5999574B2 (ja) * 2013-08-29 2016-09-28 国立大学法人 東京大学 データベース管理システム及び計算機システム
US9767178B2 (en) 2013-10-30 2017-09-19 Oracle International Corporation Multi-instance redo apply
JP2016053919A (ja) * 2014-09-04 2016-04-14 東芝テック株式会社 サーバ装置およびプログラム
US10417281B2 (en) 2015-02-18 2019-09-17 Ab Initio Technology Llc Querying a data source on a network
US10678788B2 (en) 2015-10-22 2020-06-09 Oracle International Corporation Columnar caching in tiered storage
US10783142B2 (en) * 2015-10-23 2020-09-22 Oracle International Corporation Efficient data retrieval in staged use of in-memory cursor duration temporary tables
US11657037B2 (en) 2015-10-23 2023-05-23 Oracle International Corporation Query execution against an in-memory standby database
US10747752B2 (en) 2015-10-23 2020-08-18 Oracle International Corporation Space management for transactional consistency of in-memory objects on a standby database
US10452655B2 (en) 2015-10-23 2019-10-22 Oracle International Corporation In-memory cursor duration temp tables
US10678792B2 (en) 2015-10-23 2020-06-09 Oracle International Corporation Parallel execution of queries with a recursive clause
US10642831B2 (en) 2015-10-23 2020-05-05 Oracle International Corporation Static data caching for queries with a clause that requires multiple iterations to execute
US10860577B2 (en) * 2015-12-24 2020-12-08 Hitachi, Ltd. Search processing system and method for processing search requests involving data transfer amount unknown to host
US10698771B2 (en) 2016-09-15 2020-06-30 Oracle International Corporation Zero-data-loss with asynchronous redo shipping to a standby database
US10891291B2 (en) 2016-10-31 2021-01-12 Oracle International Corporation Facilitating operations on pluggable databases using separate logical timestamp services
US11475006B2 (en) 2016-12-02 2022-10-18 Oracle International Corporation Query and change propagation scheduling for heterogeneous database systems
EP3555774B8 (en) 2016-12-14 2024-03-27 Ocient Inc. Efficient database management system utilizing silo and manifest
US10691722B2 (en) 2017-05-31 2020-06-23 Oracle International Corporation Consistent query execution for big data analytics in a hybrid database
JP6881256B2 (ja) * 2017-11-27 2021-06-02 オムロン株式会社 制御装置、制御方法、およびプログラム
US11170002B2 (en) 2018-10-19 2021-11-09 Oracle International Corporation Integrating Kafka data-in-motion with data-at-rest tables
CN109542961B (zh) * 2018-10-19 2024-05-03 中国平安财产保险股份有限公司 数据存储方法、装置、计算机设备和存储介质
US11194805B2 (en) * 2019-06-10 2021-12-07 International Business Machines Corporation Optimization of database execution planning
US11093223B2 (en) 2019-07-18 2021-08-17 Ab Initio Technology Llc Automatically converting a program written in a procedural programming language into a dataflow graph and related systems and methods
CN110674379A (zh) * 2019-09-26 2020-01-10 凡普数字技术有限公司 获取信息的方法、装置以及存储介质
US20210191774A1 (en) * 2019-12-18 2021-06-24 Micron Technology, Inc. Controlling quality-of-service for input/output streams associated with key-value database

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006048192A (ja) * 2004-08-02 2006-02-16 Dainippon Printing Co Ltd 並列ソートシステム、並列ソートサーバ、クライアント、並列ソート方法、プログラム、記録媒体
JP2007034414A (ja) * 2005-07-22 2007-02-08 Masaru Kiregawa データベース管理システム及び方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3395208B2 (ja) * 1991-07-10 2003-04-07 株式会社日立製作所 分散データベースのソート方法およびアクセス方法
JP3584630B2 (ja) * 1996-09-20 2004-11-04 株式会社日立製作所 データベース処理システムにおける分類集計処理方法
JP3183252B2 (ja) * 1998-04-17 2001-07-09 日本電気株式会社 データベース検索システム
US7729259B1 (en) * 2004-01-20 2010-06-01 Cisco Technology, Inc. Reducing latency jitter in a store-and-forward buffer for mixed-priority traffic
JP5057546B2 (ja) * 2006-03-24 2012-10-24 キヤノン株式会社 文書検索装置および文書検索方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006048192A (ja) * 2004-08-02 2006-02-16 Dainippon Printing Co Ltd 並列ソートシステム、並列ソートサーバ、クライアント、並列ソート方法、プログラム、記録媒体
JP2007034414A (ja) * 2005-07-22 2007-02-08 Masaru Kiregawa データベース管理システム及び方法

Also Published As

Publication number Publication date
US8510316B2 (en) 2013-08-13
US20100211577A1 (en) 2010-08-19
JP2010186391A (ja) 2010-08-26

Similar Documents

Publication Publication Date Title
JP4659888B2 (ja) データベース処理システム、計算機及びデータベース処理方法
US11449507B2 (en) Database engine
CN110268394A (zh) Kvs树
US10885030B2 (en) Database management system and computer system having first and second query execution parts which execute database operations in parallel
CN110383261A (zh) 用于多流存储装置的流选择
JP5950267B2 (ja) データベース管理装置、データベース管理方法及び記憶媒体
US11636107B2 (en) Database management system, computer, and database management method
US8296286B2 (en) Database processing method and database processing system
US9734177B2 (en) Index merge ordering
CN105740264A (zh) 一种分布式xml数据库的排序方法及装置
WO2018194722A1 (en) Systems and methods for proactive spilling of probe records in hybrid hash join
JP2011039800A (ja) データベース管理方法およびシステム並びにその処理プログラム
US10747773B2 (en) Database management system, computer, and database management method
KR102415962B1 (ko) 스토리지 시스템 및 그것의 동작 방법
US10558636B2 (en) Index page with latch-free access
US11615092B1 (en) Lightweight database pipeline scheduler
JP6108418B2 (ja) データベース管理システム、計算機、データベース管理方法
JP6366812B2 (ja) 計算機及びデータベースの管理方法
JP6506773B2 (ja) 情報処理装置、方法およびプログラム
JP7146611B2 (ja) カラムストアデータベースシステム及びデータベース処理高速化方法
WO2017109911A1 (ja) ホストにとってデータ転送量が不明な検索リクエストを処理する検索処理システム及び方法
CN113742346A (zh) 资产大数据平台架构优化方法
JP2011034575A (ja) データベース管理システム及び方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101118

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101227

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140107

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4659888

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150