JP5458330B2 - Database processing method and database processing system - Google Patents
Database processing method and database processing system Download PDFInfo
- Publication number
- JP5458330B2 JP5458330B2 JP2012244730A JP2012244730A JP5458330B2 JP 5458330 B2 JP5458330 B2 JP 5458330B2 JP 2012244730 A JP2012244730 A JP 2012244730A JP 2012244730 A JP2012244730 A JP 2012244730A JP 5458330 B2 JP5458330 B2 JP 5458330B2
- Authority
- JP
- Japan
- Prior art keywords
- order
- list
- query
- data
- result
- 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.)
- Expired - Fee Related
Links
- 238000012545 processing Methods 0.000 title claims description 51
- 238000003672 processing method Methods 0.000 title claims description 21
- 238000000034 method Methods 0.000 claims description 52
- 230000008569 process Effects 0.000 claims description 37
- 238000007726 management method Methods 0.000 description 38
- 238000012790 confirmation Methods 0.000 description 27
- 238000010586 diagram Methods 0.000 description 8
- 238000004458 analytical method Methods 0.000 description 7
- 238000007405 data analysis Methods 0.000 description 4
- 238000013075 data extraction Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 2
- 241001122767 Theaceae Species 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000000556 factor analysis Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本発明は、データベースからデータを抽出する技術に関し、特に、ソートされたデータを抽出する技術に関する。 The present invention relates to a technique for extracting data from a database, and more particularly to a technique for extracting sorted data.
近年、企業活動に関連する大量のデータ収集ツールが整備され、現場の担当者が蓄積された大量の販売データを使って分析するビジネスデータ分析が普及しつつある。ビジネスデータ分析では、仮説立案・動向分析・要因分析のように段階ごとに分析が進められる。 In recent years, a large amount of data collection tools related to corporate activities have been established, and business data analysis in which on-site personnel analyze using a large amount of sales data is becoming widespread. In business data analysis, analysis proceeds at each stage, such as hypothesis planning, trend analysis, and factor analysis.
ビジネスデータ分析では、現場の担当者が試行錯誤をして、いくつもの仮説立案と動向分析を繰り返すため、大量のデータを抽出する必要がある。そのため、このような大量のデータを効率的に処理するためにデータベースによって管理される。 In business data analysis, it is necessary to extract a large amount of data because the person in charge in the field performs trial and error and repeats several hypothesis planning and trend analysis. Therefore, in order to efficiently process such a large amount of data, it is managed by a database.
大量のデータを処理するデータベースシステムでは、分析対象のデータを複数の表に格納している。そして、データを抽出する場合には、複数の表に格納されたデータを連結し、分析者が指定した条件を満たすデータを抽出する。 In a database system that processes a large amount of data, data to be analyzed is stored in a plurality of tables. When data is extracted, data stored in a plurality of tables are concatenated to extract data that satisfies the conditions specified by the analyst.
そこで、このようなデータを抽出する処理を高速化するために、データが格納された二次記憶装置(ストレージ装置)にデータ読み出し要求を多重に発行することによってデータの抽出を高速化する可能な非順序型データベース(DB)が開発された(特許文献1参照)。 Therefore, in order to speed up the process of extracting such data, it is possible to speed up the data extraction by issuing multiple data read requests to the secondary storage device (storage device) in which the data is stored. An unordered database (DB) has been developed (see Patent Document 1).
一方、動向分析では、蓄積された大量のデータから重要な順にデータを抽出して解析者に見せることが求められることが多い。抽出したデータの規模が大きいと、指定されたソート順に並べるのに時間がかかる。非順序型DBにおいて、インデクスが作成された列を対象として、それに対するソート結果を高速に変換する技術については特許文献2に記載されている。
On the other hand, in trend analysis, it is often required to extract data from a large amount of accumulated data in an important order and show it to an analyst. If the size of the extracted data is large, it takes time to arrange the data in the specified sort order.
ビジネスデータ分析では、動向分析などにおいて、蓄積された大量のデータから必要なデータを抽出し、分析しやすいように抽出したデータを指定した順序で並び替える必要がある。このとき、抽出したデータ量が多ければ、指定された順序でデータを並び替えるために多くの処理時間を必要としてしまう。 In business data analysis, it is necessary to extract necessary data from a large amount of accumulated data in trend analysis and rearrange the extracted data in a specified order so that analysis is easy. At this time, if the extracted data amount is large, a large amount of processing time is required to rearrange the data in the designated order.
特許文献1に開示された非順序型DBでは、データの抽出を高速化することは可能であるが、抽出されたデータの並び替え(ソート)については非順序型DBの特性を生かしたものではなかった。したがって、データの抽出を高速化しても、抽出されたデータのソートがボトルネックになってしまうおそれがあった。
With the unordered DB disclosed in
本発明は、二次記憶装置に格納されたデータを取得するデータベース処理システムにおいて、ソートされたデータを抽出する処理を高速化することを目的とする。 It is an object of the present invention to speed up the process of extracting sorted data in a database processing system that acquires data stored in a secondary storage device.
本発明の代表的な一形態によれば、データが格納されたデータベースを管理するデータベース管理システムが実行される計算機において、要求されたデータを出力するデータベース処理方法であって、前記計算機は、前記データベース管理システムを実行するプロセッサと、前記データベース管理システムを記憶するメモリとを備え、前記データに対応する1以上の列によってレコードを構成し、前記レコードを構成する列は、前記指定された順序を決定する値に対応するソート指定列を含み、前記方法は、前記プロセッサが、前記要求されたデータを指定された順序で問合せ結果を出力するように指定された問合せ要求を受け付ける第1ステップと、前記プロセッサが、前記受け付けた問合せ要求に基づいて、前記データを格納する表にアクセスする順序を含む問合せ実行プランを生成する第2ステップと、前記プロセッサが、前記生成された問合せ実行プランに基づいて、前記問合せ要求に基づいて要求されたデータを前記データベースから取得する第3ステップと、前記プロセッサが、前記レコードごとに、前記取得されたデータを含む中間結果を、前記レコード単位で生成する第4ステップと、前記プロセッサが、前記生成された中間結果を、前記問合せ要求で指定された順序に並び替える第5ステップと、前記プロセッサが、処理の進捗状況に基づいて、前記並び替えられた中間結果の順序が確定したか否かを前記中間結果ごとに判定する第6ステップと、前記プロセッサが、前記順序が確定した中間結果を、前記問合せ結果として先頭から順に出力する第7ステップと、前記プロセッサが、前記第4ステップで生成された中間結果を、前記ソート指定列の値が取得されていない中間結果によって構成される第1リスト、前記ソート指定列の値が取得され、かつ、前記レコードを構成する列に対応するデータがすべて取得されていない中間結果によって構成される第2リスト、又は、前記レコードを構成する列に対応するデータがすべて取得されている中間結果によって構成される第3リストのいずれかに分類する第8ステップと、を含み、前記第5ステップは、前記プロセッサが、前記第3リストに分類された中間結果の順序を前記指定された順序で並び替えるステップを含み、前記第6ステップでは、前記レコードを構成する列に対応するデータがすべて取得されていない場合には、前記プロセッサは、順序が確定していないと判定し、前記第6ステップは、前記プロセッサが、前記第1リストに分類された中間結果が存在するか否かを判定する第9ステップと、前記プロセッサが、前記第2リストに分類された中間結果を前記指定された順序で並び替えた場合に、最も順序が先となる中間結果の前記ソート指定列の値を順序確定判定値として取得する第10ステップと、を含み、前記第6ステップでは、前記第1リストに分類された中間結果が存在しない場合に、前記プロセッサが、前記第3リストに分類され、前記順序確定判定値を有する中間結果よりも順序が先になる前記ソート指定列の値を有する中間結果を順序が確定したと判定し、前記第7ステップでは、前記プロセッサは、前記第3リストに分類され、かつ、順序が確定した中間結果を先頭から順に前記問合せ結果として出力する。 According to a representative aspect of the present invention, in a computer that executes a database management system that manages a database in which data is stored, a database processing method that outputs requested data, the computer including: A processor for executing a database management system; and a memory for storing the database management system, wherein a record is constituted by one or more columns corresponding to the data, and the columns constituting the record have the specified order Including a sort specification column corresponding to a value to be determined, the method wherein the processor accepts a query request designated to output query results for the requested data in a designated order; Based on the received inquiry request, the processor assigns to a table storing the data. A second step of generating a query execution plan including an access order; and a third step in which the processor obtains data requested based on the query request from the database based on the generated query execution plan. A fourth step in which the processor generates an intermediate result including the acquired data for each record in the record unit; and the processor specifies the generated intermediate result in the query request. A fifth step of rearranging in the ordered order, and a sixth step in which the processor determines, for each of the intermediate results, whether or not the order of the sorted intermediate results has been determined based on the progress of processing. A seventh step in which the processor outputs the intermediate results of the determined order in order from the top as the query results; The processor, the intermediate result generated in the fourth step, a first list constituted by intermediate results for which the value of the sort designation column is not obtained, the value of the sort designation column is obtained, and The second list constituted by intermediate results from which all the data corresponding to the columns constituting the record are not obtained, or the second list constituted by the intermediate results from which all the data corresponding to the columns constituting the record are obtained. An eighth step of classifying the list into any one of the three lists, wherein the fifth step includes the step of rearranging the order of the intermediate results classified into the third list in the specified order. In the sixth step, if all the data corresponding to the columns constituting the record have not been acquired, the processor And the sixth step includes a ninth step in which the processor determines whether there is an intermediate result classified in the first list, and the processor includes the second step. A tenth step of obtaining the value of the sort specification column of the intermediate result with the first order as the order determination determination value when the intermediate results classified in the list are rearranged in the specified order; In the sixth step, when there is no intermediate result classified in the first list, the processor is classified in the third list, and the order comes before the intermediate result having the order determination determination value. It is determined that the intermediate result having the value of the sort specification column is determined, and in the seventh step, the processor is classified into the third list, and the intermediate result whose order is fixed Is output as the query results in order from the head.
本発明の一形態によれば、データの抽出と、データのソート及び返送とを並行して実行することによって、抽出開始から問合せ結果の送信開始までの時間を短縮することによって、ソートされたデータを抽出する処理を高速化することができる。 According to one aspect of the present invention, the data extracted and the data sorted and returned are executed in parallel, thereby reducing the time from the start of extraction to the start of transmission of the query result, thereby sorting the sorted data. Can be speeded up.
(第1の実施の形態)
図1は、本発明の第1の実施の形態の計算機システムの構成を示すブロック図である。
(First embodiment)
FIG. 1 is a block diagram showing a configuration of a computer system according to the first embodiment of this invention.
本発明の第1の実施の形態の計算機システムは、データベースサーバ101、1又は複数の外部記憶装置103を含む。データベースサーバ101及び外部記憶装置103は、ネットワーク102を介して互いに接続される。
The computer system according to the first embodiment of this invention includes a
データベースサーバ101は、外部記憶装置103に格納されたデータを管理するプログラムであるデータベース管理システム132を実行する。そして、データベースサーバ101で実行されるアプリケーションプログラム131又は図示しないクライアント計算機などによって要求された問合せを処理し、問合せ結果を応答する。
The
データベースサーバ101は、メモリ111、プロセッサ112及びインターフェース113を備える。メモリ111は、データベース管理システム132などのプログラム及び当該プログラムの実行に必要なデータを記憶する。プロセッサ112は、メモリ111に記憶されたプログラムを実行することによって、各種処理を実行する。
The
インターフェース113は、ネットワーク102を介して外部記憶装置103に接続する。ネットワーク102がストレージエリアネットワーク(SAN)である場合には、インターフェース113はいわゆるホストバスアダプタ(HBA)であってもよい。メモリ111に記憶されたプログラムが実行されると、必要に応じて、インターフェース113を介して外部記憶装置103に入出力要求を発行する。
The
ネットワーク102は、例えば、ファイバーチャネル(FC)プロトコルが適用されるストレージエリアネットワーク(SAN)であるが、その他の任意の形態のネットワークであってもよい。具体的には、ネットワーク102がインターネットプロトコル(IP)ネットワークであれば、データベースサーバ101と外部記憶装置103との間をiSCSIプロトコルで通信するようにしてもよい。
The
外部記憶装置103は、データベースサーバ101が管理するデータを格納し、データベースサーバ101から送信された入出力要求に基づいて、要求されたデータを読み書きする。
The
外部記憶装置103は、インターフェース123、制御装置122及び記憶装置121を備える。インターフェース123は、ネットワーク102に接続される。制御装置122は、データベースサーバ101から送信された入出力要求を処理する。
The
記憶装置121は、入出力要求によって読み書きされるデータを管理するデータベースを格納する。記憶装置121は、ハードディスクドライブ(HDD)、光ディスクドライブ、半導体記憶装置又はその他の記憶装置であってもよい。図1では、1つの記憶装置121が外部記憶装置103に備えられているが、記憶装置121の数は任意である。また、複数の記憶装置121が備えられている場合には、ディスクアレイを構成するようにしてもよい。
The
続いて、データベースサーバ101で実行されるプログラムについて説明する。メモリ111に記憶されるプログラムには、アプリケーションプログラム(AP)131、データベース管理システム132及びオペレーティングシステム(OS)133が含まれる。
Next, a program executed on the
プロセッサ112は、AP131を実行することによって、各種業務処理を実行する。このとき、AP131によって、データベース管理システム132に問合せ要求を発行し、問合せ結果を受信する。本発明の第1の実施の形態ではデータベース管理システム132と同一の計算機(データベースサーバ101)でAP131が実行されているが、ネットワークを介して接続された別の計算機でアプリケーションプログラムが実行される構成としてもよい。
The
データベース管理システム132は、要求された問合せで指定された条件に合致するデータを外部記憶装置103に格納されたデータベースから検索する。そして、検索結果(問合せ結果)となるデータを取得し、要求元に応答する。
The
データベース管理システム132には、関係モデルをベースとした関係データベース管理システム(RDBMS)、又はオブジェクトモデルをベースとしたオブジェクト指向データベース管理システムがある。本発明の第1の実施の形態では、特に、RDBMSを対象とする。
The
RDBMSでは、複数種類のデータによって構成されるレコード単位でデータを表161に格納し、少ないI/O要求でレコードにアクセスするための索引162を備える。索引162のデータ構造は、B木であってもよいし、ハッシュであってもよい。データに対する問合せはSQL(Structured Query Language)によって記述される。SQLでは、問合せ結果の出力順序指定はOrder by句によって表現され、集計演算はGroup by句によって表現される。
In the RDBMS, data is stored in the table 161 in units of records composed of a plurality of types of data, and an
なお、本発明の第1の実施の形態では、データベース管理システム132はネットワーク102を介して接続された外部記憶装置103に表161及び索引162を格納しているが、データベースサーバ101に記憶装置が備えられている場合には、データベースサーバ101内の記憶装置に格納してもよい。
In the first embodiment of the present invention, the
OS133は、データベースサーバ101の資源(プロセッサ112及びメモリ111)を管理するプログラムである。また、データベース管理システム132からの入出力要求を受け付け、外部記憶装置103に入出力要求を発行する。
The
ここで、さらに、データベース管理システム132の詳細な構成について説明すると、データベース管理システム132には、問合せ受付部141、問合せ実行部143、問合せ実行プラン生成部142、実行タスク管理部144、DBバッファ145、及び問合せ結果保存部146が備えられる。
Here, the detailed configuration of the
問合せ受付部141は、AP131から要求された問合せ要求を受け付ける。さらに、問合せ受付部141は、受け付けた問合せ要求を解析し、解析結果に応じて問合せ実行プラン生成部142又は問合せ実行部143を実行する。
The
問合せ実行プラン生成部142は、問合せ受付部141が受け付けた問合せ要求の処理手順である問合せ実行プランを生成する。問合せ実行プランについては後述する。
The query execution
問合せ実行部143は、問合せ実行プラン生成部142によって生成された問合せ実行プランに基づいて要求された問合せを処理するために必要な処理を実行する。
The
問合せ実行部143は、問合せ結果を生成するための基本的なデータベースオペレーションを実行可能である。問合せ実行プランは、問合せに応じた結果を生成するために必要なデータベースオペレーションを組み合わせたものである。
The
問合せ実行部143は、実行コンテキスト管理部150、結果順序確定部分判定部160、及び問合せ結果返送部170を備える。
The
前述のように、問合せ実行部143は、複数のタスクを生成して、問合せ要求を処理する。この複数のタスクには、問合せ実行プランにおいて論理的に並列実行可能な実行コンテキストが割り当てられる。また、実行コンテキストは、問合せ実行プランを構成するオペレーションに対応する処理が含まれる。実行コンテキストが実行される際には、オペレーションごとにタスクが生成され、生成されたタスクが実行されることによって問合せ処理が実行される。
As described above, the
実行コンテキスト管理部150は、複数の実行コンテキストを、それぞれの処理の進捗ごとに分類管理する。また、実行コンテキスト管理部150は、結果候補リスト151(第1リスト、第2リスト)及び結果確定リスト152(第3リスト)を含み、処理の進捗に応じて実行コンテキストをいずれかのリストに分類する。このとき、処理中の実行コンテキストにおいて取得済のデータを含む中間結果を分類するようにしてもよい。実行コンテキストを分類する手順については、図2にて後述する。
The execution
結果候補リスト151は、問合せを処理するためのタスクの一部が実行された結果のうち、ソート結果が未確定の実行コンテキストを格納(分類)する。結果候補リスト151には、判定列未取得リスト153(第1リスト)及び判定列取得済リスト154(第2リスト)が含まれる。判定列未取得リスト153は、ソート指定列に対応するデータが未取得の実行コンテキストが格納される。一方、判定列取得済リスト154は、ソート指定列に対応するデータが取得済みの実行コンテキストが格納される。結果確定リスト152は、問合せ要求の結果が確定した実行コンテキストが格納される。
The
結果順序確定部分判定部160は、分類管理された実行コンテキストについて、問合せ結果のソート順序確定部分を判定し、ソート順序が確定したレコードを問合せ結果返送部170に通知する。
The result order determination
具体的には、結果候補リスト151の判定列未取得リスト153に分類される実行コンテキストが無い場合に、判定列取得済リスト154のうち、ソート順序が最先頭の実行コンテキストのソート指定列の値を参照する。そして、結果確定リスト152のうち、ソート指定列の値が参照された値よりも順序が先の実行コンテキストによって生成された問合せ結果は、ソート順序が確定していると判定する。問合せ結果のソート順序確定部分を判定する手順については、図3にて後述する。
Specifically, when there is no execution context classified in the determination column non-acquisition list 153 of the
問合せ実行部143は、問合せ要求の処理の過程で、オペレーティングシステム133にI/O要求を発行し、I/O結果をDBバッファ145に保持する。そして、問合せ要求の結果を問合せ結果保存部146に保存する。
The
問合せ結果返送部170は、問合せ結果保存部146に保存された問合せ要求の結果をアプリケーションプログラム131に返送する。
The query result
実行タスク管理部144は、問合せ実行プランを実行するために生成されたタスクを管理する。
The execution
DBバッファ145は、データアクセスを高速化するために、キャッシュされたデータが格納される。
The
問合せ結果保存部146は、問合せ実行部143によって実行された問合せの結果を保存する。
The query
図2は、本発明の第1の実施の形態の実行コンテキスト管理部150によって実行コンテキストを分類する手順を示すフローチャートである。本処理は、実行コンテキスト管理部150に含まれるプログラムを実行することによって実行される。
FIG. 2 is a flowchart illustrating a procedure for classifying execution contexts by the execution
本処理は、前述のように、処理中又は処理が完了した実行コンテキストを分類する処理である。実行コンテキストの分類は、処理中又は処理が完了した実行コンテキストを、結果候補リスト151(判定列未取得リスト153、判定列取得済リスト154)又は結果確定リスト152に格納する(割り当てる)ことである。
As described above, this processing is processing for classifying execution contexts that are being processed or have been processed. The execution context classification is to store (assign) execution contexts that are being processed or have been processed in the result candidate list 151 (the determination column non-acquisition list 153, the determination column acquisition completed list 154) or the
また、結果候補リスト151及び結果確定リスト152で実行コンテキストを管理する場合、実行コンテキストに対応するデータ(中間結果)そのものを管理してもよく、データへの参照(ポインタ)を管理してもよい。なお、結果確定リスト152では、当該結果確定リスト152に分類される実行コンテキストによって生成され、問合せ結果保存部146に保存されている結果データへの参照を管理するようにしてもよい。
In addition, when managing execution contexts in the
プロセッサ112は、まず、実行コンテキストを選択し、ソート指定列、すなわち、ソート順序を判定する対象の列(判定列)の値がデータベースの表161から取得済であるか否かを判定する(S201)。
First, the
プロセッサ112は、判定列の値が取得済でない場合には(S201の結果が「N」)、結果候補リスト151の判定列未取得リスト153に選択された実行コンテキストを分類する(S202)。
If the determination column value has not been acquired (the result of S201 is “N”), the
一方、プロセッサ112は、判定列の値が取得済である場合には(S201の結果が「Y」)、選択された実行コンテキストの実行が完了しているか否かを判定する(S203)。
On the other hand, when the value of the determination column has been acquired (the result of S201 is “Y”), the
プロセッサ112は、選択された実行コンテキストの実行が完了していない場合には(S203の結果が「N」)、結果候補リスト151の判定列取得済リスト154に選択された実行コンテキストを分類する(S204)。一方、選択された実行コンテキストの実行が完了している場合には(S203の結果が「Y」)、結果確定リスト152に選択された実行コンテキストを分類する(S205)。
When the execution of the selected execution context is not completed (the result of S203 is “N”), the
以上のように、本発明の第1の実施の形態では、ソート指定列の値が取得されたか否か、さらに、実行コンテキストで取得されるデータをすべて取得したか否かによって、実行コンテキストを分類する。そして、すべての実行コンテキストについて、ソート指定列の値が取得されると、すなわち、すべての実行コンテキストが結果候補リスト151の判定列取得済リスト154又は結果確定リスト152に分類されると、結果確定リスト152に含まれる実行コンテキストに対応する問合せ結果のソート順が確定したか否かを判定する。問合せ結果のソート順が確定したか否かを判定する手順については、図3を参照しながら説明する。
As described above, in the first embodiment of the present invention, the execution context is classified based on whether or not the value of the sort designation column has been acquired, and whether or not all the data acquired in the execution context has been acquired. To do. When the values of the sort specification columns are acquired for all execution contexts, that is, when all execution contexts are classified into the determination column acquired
図3は、本発明の第1の実施の形態の結果順序確定部分判定部160によって問合せ結果のソート順が確定したか否かを判定する手順を示すフローチャートである。
FIG. 3 is a flowchart illustrating a procedure for determining whether or not the result order determination
プロセッサ112は、まず、結果候補リスト151の判定列未取得リスト153が空か否かを判定する(S301)。すなわち、ソート指定列の値がすべて取得されたか否かを判定する。結果候補リスト151の判定列未取得リスト153が空でない場合には(S301の結果が「N」)、ソート対象の値がすべて取得されておらず、データの順序を確定することができないため、本処理を終了する。
First, the
プロセッサ112は、結果候補リスト151の判定列未取得リスト153が空の場合には(S301の結果が「Y」)、対象となるソート指定列の値がすべて取得されているため、少なくとも結果確定リスト152に分類された実行コンテキストに対してソート処理を実行することが可能となる。このとき、結果候補リスト151の判定列取得済リスト154及び結果確定リスト152に分類された実行コンテキストに対応するソート指定列の値はソート済みとなっている。
When the determination column non-acquisition list 153 of the
そして、プロセッサ112は、結果候補リスト151の判定列取得済リスト154で最先頭順序の実行コンテキストのソート指定列の値(順序確定判定値)をNとする(S302)。そして、結果確定リスト152の先頭の実行コンテキストのソート指定列の値(判定列値)が、Nよりも先行するか否かを判定する(S303)。Nよりも先行しない場合には(S303の結果が「N」)、ソート順が確定した実行コンテキストが結果確定リスト152に含まれていないため、本処理を終了する。
Then, the
プロセッサ112は、結果確定リスト152の先頭の実行コンテキストの判定列値が、ソートした場合にNよりも先行する場合には(S303の結果が「Y」)、結果確定リスト152の先頭の実行コンテキストの結果を問合せ結果返送部170に通知し、結果確定リスト152から削除する(S304)。そして、新たに先頭になった実行コンテキストの判定列値がNよりも先行するか否かを判定し(S303)、先頭の実行コンテキストの判定列値がNよりも先行しなくなるまで(若しくは結果確定リスト152が空になるまで)、S303及びS304の処理を実行する。
If the determination column value of the first execution context in the
以下、本発明の第1の実施の形態におけるソートされたデータを抽出する方法について図面を参照しながらに具体的に説明する。 Hereinafter, a method for extracting sorted data according to the first embodiment of the present invention will be specifically described with reference to the drawings.
以下に説明する具体例では、商品明細表(T1)、販売履歴データ表(T2)、顧客表(T3)の3つの表から指定された順序でデータを抽出する。データを抽出する問合せ要求は、一般的なSQLによって表現される。 In the specific example described below, data is extracted in the specified order from the three tables of the product schedule (T1), the sales history data table (T2), and the customer table (T3). A query request for extracting data is expressed by general SQL.
図4は、本発明の第1の実施の形態の問合せ要求に対応するSQLの一例を示す図である。 FIG. 4 is a diagram illustrating an example of SQL corresponding to the inquiry request according to the first embodiment of this invention.
図4に示す問合せ要求であるSQLは、指定された条件を満たす商品明細表(T1)、販売履歴データ表(T2)、顧客表(T3)に格納されたデータを指定された順序で抽出する。 The query request SQL shown in FIG. 4 extracts the data stored in the product specification table (T1), the sales history data table (T2), and the customer table (T3) that satisfy the specified conditions in the specified order. .
まず、SQLの詳細を説明する前に、図5を参照しながら商品明細表(T1)、販売履歴データ表(T2)、顧客表(T3)の構成について説明する。 First, before explaining the details of SQL, the configuration of the product specification table (T1), the sales history data table (T2), and the customer table (T3) will be described with reference to FIG.
図5は、本発明の第1の実施の形態の問合せ要求によって抽出されるデータを格納する表の一例を示す図である。 FIG. 5 is a diagram illustrating an example of a table storing data extracted by the inquiry request according to the first embodiment of this invention.
商品明細表(T1)、販売履歴データ表(T2)、顧客表(T3)の3つの表は、外部記憶装置103の記憶装置123に格納された表161に含まれる。
The three tables of the product specification table (T1), the sales history data table (T2), and the customer table (T3) are included in the table 161 stored in the
商品明細表(T1)は、「itemID」列、「category」列、及び「price」列を含む。 The commodity specification table (T1) includes an “itemID” column, a “category” column, and a “price” column.
「itemID」列の値は、商品を識別する識別子である。「category」列の値は、itemIDによって識別される商品のカテゴリーを示す。具体的には、「coffee(コーヒー)」、「tea(お茶)」などの値が設定される。「price」列の値は、itemIDによって識別される商品の価格を示す。 The value of the “itemID” column is an identifier for identifying a product. The value of the “category” column indicates the category of the product identified by itemID. Specifically, values such as “coffee” and “tea” are set. The value in the “price” column indicates the price of the product identified by the itemID.
販売履歴データ表(T2)は、「orderID」列、「itemID」列、「custID」列、及び「num」列を含む。 The sales history data table (T2) includes an “orderID” column, an “itemID” column, a “cusID” column, and a “num” column.
「orderID」列の値は、注文を識別する識別子である。「itemID」列の値は、注文された商品を識別する識別子である。「custID」列の値は、注文を行った顧客を識別する識別子である。「num」列の値は、商品を注文した数である。 The value of the “orderID” column is an identifier for identifying an order. The value of the “itemID” column is an identifier for identifying the ordered product. The value in the “customID” column is an identifier for identifying the customer who has placed the order. The value in the “num” column is the number of items ordered.
顧客表(T3)は、「custID」列、「gender」列、及び「age」列を含む。 The customer table (T3) includes a “custID” column, a “gender” column, and an “age” column.
「custID」列の値は、顧客を識別する識別子である。「gender」列の値は、custIDによって識別される顧客の性別を示す情報である。「age」列の値は、custIDによって識別される顧客の年齢を示す情報である。 The value in the “customID” column is an identifier for identifying a customer. The value in the “gender” column is information indicating the gender of the customer identified by the custom ID. The value of the “age” column is information indicating the age of the customer identified by the custom ID.
ここで、図4に示したSQLの説明に戻る。図4に示したSQLは、20歳から29歳までの女性で、コーヒーを注文したという条件を満たす、商品明細表(T1)、販売履歴データ表(T2)、顧客表(T3)の該当するレコード(データ)を抽出することを示している。 Here, it returns to description of SQL shown in FIG. The SQL shown in FIG. 4 corresponds to the product specification table (T1), the sales history data table (T2), and the customer table (T3) that satisfy the condition that a woman aged 20 to 29 has ordered coffee. Indicates that a record (data) is to be extracted.
さらに詳しく説明すると、商品明細表(T1)の「category」列の値が「coffee」であって、商品明細表(T1)の「itemID」列と販売履歴データ表(T2)の「itemID」列の値が同じ、かつ、販売履歴データ表(T2)の「custID」列と顧客表(T3)の「custID」列の値が同じ、すなわち、itemIDで商品明細表(T1)及び販売履歴データ表(T2)を結合し、custIDで販売履歴データ表(T2)及び顧客表(T3)を結合する。そして、顧客表(T3)の「gender」列の値が「F」、かつ、顧客表(T3)の「age」列の値が20から29である条件を満たすデータ(レコード)を結合された3つの表(T1、T2、T3)から抽出し、商品明細表(T1)の「price」列の値が降順となるように出力する。 More specifically, the value of the “category” column of the product schedule (T1) is “offee”, and the “itemID” column of the product schedule (T1) and the “itemID” column of the sales history data table (T2) Are the same, and the “customID” column of the sales history data table (T2) and the “customID” column of the customer table (T3) are the same, that is, the item description table (T1) and the sales history data table with itemID (T2) is joined, and the sales history data table (T2) and the customer table (T3) are joined by customID. Then, data (records) satisfying the condition that the value of the “gender” column of the customer table (T3) is “F” and the value of the “age” column of the customer table (T3) is 20 to 29 are combined. Extract from the three tables (T1, T2, T3), and output the values in the “price” column of the product specification table (T1) in descending order.
図5に示した各表のレコード間を接続する矢印は、各レコードの結合状態を図示したものである。具体的に説明すると、「category」列の値が「coffee」である商品明細表(T1)の「itemID」列の値が“0001”のレコードは、販売履歴データ表(T2)の「itemID」列の値が“0001”である2レコードに連結する。さらに、この2レコードの「custID」列の値はそれぞれ“0001”“0003”であり、それぞれ対応する顧客表(T3)のレコードに連結される。このとき、図4に示したSQLでは、「女性」かつ「20歳から29歳」の条件が指定されているため、「custID」列の値が“0003”のレコードは抽出されない。 The arrows connecting the records in each table shown in FIG. 5 illustrate the combined state of the records. More specifically, the record with the value “0001” in the “itemID” column of the product description table (T1) whose value in the “category” column is “offee” is the “itemID” in the sales history data table (T2). It is linked to two records whose column value is “0001”. Furthermore, the values in the “custID” column of these two records are “0001” and “0003”, respectively, and are linked to the corresponding records in the customer table (T3). At this time, in the SQL shown in FIG. 4, the condition “female” and “20 to 29 years old” is specified, so the record whose value in the “custID” column is “0003” is not extracted.
続いて、図4に示したSQLに基づいて生成された、表及び索引にアクセスする順序を示す問合せ実行プラン(処理順序)について説明する。 Next, a query execution plan (processing order) indicating the order of accessing the table and the index generated based on the SQL shown in FIG. 4 will be described.
図6は、本発明の第1の実施の形態の問合せ要求に対応するSQLに対応する問合せ実行プランの一例を示す図である。 FIG. 6 is a diagram illustrating an example of a query execution plan corresponding to the SQL corresponding to the query request according to the first embodiment of this invention.
本発明の第1の実施の形態では、商品明細表(T1)の「category」列、販売履歴データ表(T2)の「itemID」列、及び、顧客表(T3)の「custID」列に索引が作成されている。これらの索引は、外部記憶装置103の記憶装置123に格納された索引162に含まれる。
In the first embodiment of the present invention, an index is assigned to the “category” column of the product schedule (T1), the “itemID” column of the sales history data table (T2), and the “customID” column of the customer table (T3). Has been created. These indexes are included in the
図6に示す問合せ実行プランは、6つのオペレーション(OP1〜OP6)によって構成され、OP6でソートされた問合せ結果が出力される。実行コンテキストは、OP1からOP6までの処理を含み、途中のオペレーションで複数のデータが抽出された場合には、抽出されたデータの数の実行コンテキストに分割される。分割後の実行コンテキストは、それぞれ並行して処理可能である。 The query execution plan shown in FIG. 6 is composed of six operations (OP1 to OP6), and query results sorted by OP6 are output. The execution context includes processing from OP1 to OP6, and when a plurality of data is extracted in the middle of the operation, the execution context is divided into execution contexts corresponding to the number of extracted data. The divided execution contexts can be processed in parallel.
また、問合せ実行部143は、前述のように、問合せ実行プラン生成部142によって生成された問合せ実行プランを構成する各オペレーションを実行するために、オペレーションごとにタスクを生成する。同じ実行コンテキストで生成されたタスクはオペレーションの実行順序に従って順次実行されるが、異なる実行コンテキストで生成されたタスクは並行して実行することが可能である。
In addition, as described above, the
図6に示す問合せ実行プランでは、まず、商品明細表(T1)の「category」列の索引を使用して「category」列の値が「coffee」であるレコードを検索し、該当するレコードを表T1から取得する。 In the query execution plan shown in FIG. 6, first, a record in which the value of the “category” column is “offset” is searched using the index of the “category” column of the product schedule (T1), and the corresponding record is displayed. Obtain from T1.
続いて、販売履歴データ表(T2)の「itemID」列の索引を使用して「itemID」列の値が商品明細表(T1)から取得したレコードの「itemID」列の値と同じレコードを検索する。そして、該当するレコードを販売履歴データ表(T2)から取得し、商品明細表(T1)から取得したレコードと結合する。 Subsequently, using the index of the “itemID” column in the sales history data table (T2), search for a record in which the value of the “itemID” column is the same as the value of the “itemID” column of the record acquired from the product description table (T1) To do. Then, the corresponding record is acquired from the sales history data table (T2) and combined with the record acquired from the product description table (T1).
続いて、顧客表(T3)の「custID」列の索引を使用して、「custID」の列の値が履歴データ表(T2)から取得したレコードの「custID」列の値と同じ行を検索し、該当するレコードを顧客表(T3)から取得する。さらに、取得したレコードの「gender(性別)」列の値が「F(女性)」であり、「age(年齢)」列の値が20から29という条件を満たすか否かを判定する。条件を満たす場合には、取得したT1及びT2のレコードを結合することによって生成されたレコードと、顧客表(T3)から取得した結合し、問合せ結果保存部146に保存する。
Subsequently, using the index of the “customID” column of the customer table (T3), search for a row in which the value of the “customID” column is the same as the value of the “customID” column of the record acquired from the history data table (T2) The corresponding record is acquired from the customer table (T3). Further, it is determined whether or not the value of the “gender” column of the acquired record is “F (female)” and the value of the “age (age)” column is 20 to 29. When the condition is satisfied, the record generated by combining the acquired records of T1 and T2 and the record acquired from the customer table (T3) are combined and stored in the query
問合せ結果を返送する場合には、問合せ結果保存部146に保存されている結果であって、商品明細表(T1)の「price」列の値が降順となるように結合されたレコードを、問合せ要求の送信元に返送する。
When returning a query result, a record stored in the query
続いて、図6に示した問合せ実行プランにしたがって、データを取得し、問合せ結果を出力する過程について説明する。 Next, a process of acquiring data and outputting a query result according to the query execution plan shown in FIG. 6 will be described.
図7は、本発明の第1の実施の形態におけるソートされたデータをデータベースから抽出し、問合せ結果として出力する過程の具体例を説明する図である。 FIG. 7 is a diagram illustrating a specific example of a process of extracting sorted data from the database and outputting it as a query result according to the first embodiment of this invention.
図6に示した問合せ実行プランでは、図5に示した商品明細表(T1)の1レコード分のデータから、対応する販売履歴データ表(T2)及び顧客表(T3)のレコードを結合した問合せ結果を検索及び抽出する一連の処理が1つの実行コンテキストとなる。したがって、実行コンテキストが分割される前の段階で、「category」列の値が「coffee」である行ごとに実行コンテキストが生成される。これらの実行コンテキストは並行して処理可能である。 In the query execution plan shown in FIG. 6, a query combining records of the corresponding sales history data table (T2) and customer table (T3) from the data for one record of the product description table (T1) shown in FIG. A series of processes for retrieving and extracting the result is one execution context. Therefore, at the stage before the execution context is divided, an execution context is generated for each row in which the value of the “category” column is “offee”. These execution contexts can be processed in parallel.
図7のphase1は、問合せ処理の実行開始直後の状態を示している。具体的には、最初に実行された実行コンテキストにおいて、商品明細表(T1)の「category」列の索引検索処理部分が1つのタスクにより実行されている状態である。すなわち、図6の問合せ実行プランにおけるOP1が終了した状態である。phase1における実行コンテキストは、ソート指定列である商品明細表(T1)の「price」の値を取得していないため、結果候補リスト151の判定列未取得リスト153に分類される(図2のS202)。
図7のphase2は、前述したphase1よりも処理が進行した状態を示している。具体的には、実行コンテキストは、「category」列の値が「coffee」である1つめのレコードを商品明細表(T1)から取得し、対応する「price」列の値が500であることが判明する。この段階では、図6の問合せ実行プランにおけるOP2が終了した状態となっている。
続いて、商品明細表(T1)の「itemID」列の値(具体的には“0001”)に基づいて、販売履歴データ表(T2)の「itemID」列の索引検索を実行し(OP3)、販売履歴データ表(T2)から該当するレコードを取得する(OP4)。このとき、販売履歴データ表(T2)から2件のレコードが取得されているため、実行コンテキストが2つに分割されている。 Subsequently, based on the value (specifically, “0001”) in the “itemID” column of the product description table (T1), an index search of the “itemID” column in the sales history data table (T2) is executed (OP3). The corresponding record is acquired from the sales history data table (T2) (OP4). At this time, since two records are acquired from the sales history data table (T2), the execution context is divided into two.
phase2では、ソート指定列の値が取得されたため、結果候補リスト151の判定列取得済リスト154に分類される(図2のS204)。また、商品明細表(T1)の「category」列の索引検索処理を並行して開始した別の実行コンテキストが、結果候補リスト151の判定列未取得リスト153に分類されている。phase2が終了した段階では、図6の問合せ実行プランにおけるOP4が終了した状態となっている。
In
phase3は、phase2よりもさらに処理が進行した状態を示している。具体的には、「price」列の値が500であった実行コンテキストは、さらに処理が進行して顧客表(T3)のレコードの取得及び条件判定まで終了している。このとき、図6の問合せ実行プランにおけるOP6が終了した状態となっている。したがって、実行コンテキストは「結果確定リスト」に分類される(図2のS205)。
なお、phase2で分割された他方の実行コンテキストは、検索条件を満たさなかったため、結果確定リスト152には分類されない。検索条件を満たさない実行コンテキストについては、検索条件を満たさないことが判明した時点で破棄され、いずれのリストにも分類されなくなる。
Note that the other execution context divided by
phase4では、結果候補リスト151の判定列未取得リスト153に分類される実行コンテキストが無くなったため、結果確定リスト152からソート順序が確定した結果を判定する。すなわち、少なくとも検索条件を満たす可能性があるレコードのソート指定列に値がすべて取得されたことになる。したがって、結果候補リスト151の判定列取得済リスト154に分類された実行コンテキストのうち、ソート指定列である「price」列の値が最も大きい実行コンテキストを取得し、当該「price」列の値を順序確定判定値とする(図3のS302)。そして、「price」列の値が順序確定判定値よりも大きい値の実行コンテキストが結果確定リスト152に分類されていれば、問合せ結果として要求元に返送することが可能となる。
In
具体的に説明すると、図7のphase4では、結果候補リスト151の判定列取得済リスト154に分類された実行コンテキストの「price」列の値が200であり、順序確定判定値は200となる。そして、結果確定リスト152の実行コンテキストから、「price」列の値が200以上の実行コンテキスト(1000、500)を選択する。選択された実行コンテキストによって生成されたレコード(中間結果)は順序を確定することが可能であるため、選択された実行コンテキストによって生成されたレコードを「price」列の値の順にソートする。そして、当該レコードを問合せ結果返送部170に通知し、問合せ要求に対するすべての検索処理が終了する前に、問合せ結果の返送を開始する。
More specifically, in
なお、結果候補リスト151の判定列取得済リスト154又は結果確定リスト152に実行コンテキストを分類する場合には、受け付けられた問合せ要求で指定された順序となるように各リスト内であらかじめソートしておくとよい。
When the execution contexts are classified into the judgment column acquired
結果確定リスト152内でソート指定列の値でソートすると、先頭の実行コンテキストから順にソート指定列の値と順序確定判定値とを比較し、ソート指定列の値が順序確定判定値よりも先の順序にならなくなった時点で比較を中止し、結果確定リスト152内の比較済の実行コンテキストのレコード(中間結果)を問合せ結果返送部170に通知すればよい。また、比較時に問合せ結果返送部170に通知するようにしてもよい。
When sorting by the value of the sort specification column in the
また、結果候補リスト151の判定列取得済リスト154内でソート指定列の値でソートすると、先頭の実行コンテキストのソート指定列の値を順序確定判定値とすることが可能となり、順序確定判定値を取得する処理を効率化することができる。
In addition, when sorting is performed by the value of the sort specification column in the determination
さらに、結果候補リスト151の判定列取得済リスト154から結果確定リスト152にコンテキストの分類先を変更する場合に、リストの先頭から順に比較することによって結果確定リスト152の格納位置を決定することが可能となる。
Furthermore, when the context classification destination is changed from the determination column acquired
このとき、結果確定リスト152及び結果候補リスト151の判定列取得済リスト154に分類された実行コンテキストをソート指定列の値の順序で管理するデータ構造としては、単方向リストであってもよいし、双方向リストであってもよい。また、木構造であってもよい。
At this time, the data structure for managing the execution contexts classified in the determination column acquired
また、リスト内の実行コンテキストをソート指定列の値の順序で管理する場合、ソート処理は、リストに実行コンテキストが挿入されるたびに実行してもよく、所定数の実行コンテキストが分類されたタイミングで実行してもよく、その他任意のタイミングで実行してもよい。 Also, when managing execution contexts in the list in the order of the values of the sort specification column, the sort process may be executed each time execution contexts are inserted into the list, and the timing when a predetermined number of execution contexts are classified It may be executed at any other timing.
また、結果順序確定部分判定部160が順序確定判定を実行するタイミングは、結果候補リスト151の判定列未取得リスト153に分類された実行コンテキストがなくなった直後が最初のタイミングとなる。以降、ユーザから結果返送を要求されたタイミングで実行してもよく、問合せ結果保存部146に一定数以上のレコード(問合せ結果)が挿入されたタイミングであってもよい。
In addition, the timing at which the result order determination
また、本発明の第1の実施の形態では、ソート指定列の値の取得をできるだけ早くすべての実行コンテキストにおいて完了させれば、問合せ結果の返送開始時期を早めることができる。したがって、問合せ実行プランを生成する場合に、ソート指定列を含む表のアクセス順序が早くなるように設定することによって、問合せ結果の返送開始時期を早めることができる。 Further, in the first embodiment of the present invention, if the acquisition of the value of the sort designation column is completed in all execution contexts as soon as possible, the return start time of the query result can be advanced. Therefore, when the query execution plan is generated, the return start time of the query result can be advanced by setting the access order of the table including the sort specification column to be earlier.
なお、実行タスク管理部144は、複数の実行コンテキストの実行順序を管理することが可能だが、結果候補リスト151の判定列未取得リスト153に分類された実行コンテキストを最も優先的に実行し、続いて結果候補リスト151の判定列取得済リスト154に分類された実行コンテキストを優先的に実行することによって、問合せ処理開始から問合せ結果返送処理が開始されるまでの時間を、より短縮することが可能となる。
The execution
本発明の第1の実施の形態によれば、すべての問合せ結果を取得する前にソートされた問合せ結果を順次返送することが可能となる。したがって、問合せ処理開始から問合せ結果返送処理が開始されるまでの時間を短縮することが可能となる。また、結果確定リスト152に分類された問合せ結果をソート指定列の値に基づいてあらかじめソートして格納しているため、全結果を抽出した後にデータをソートする処理を実行する必要がなくなる。
According to the first embodiment of the present invention, it is possible to sequentially return query results sorted before obtaining all query results. Therefore, it is possible to shorten the time from the start of the query process to the start of the query result return process. Further, since the query results classified in the
また、本発明の第1の実施の形態によれば、索引を利用せずにソート指定列の値をソートすることができるため、索引が作成されていないソート指定列でソートする場合であっても迅速にソートされたデータを抽出することが可能となる。 In addition, according to the first embodiment of the present invention, the values of the sort specification column can be sorted without using the index, and therefore, the sort specification column for which no index is created is used. It becomes possible to extract the sorted data quickly.
(第1の実施の形態の変形例)
以上説明した第1の実施の形態では、複数の実行コンテキストにおいて、データの読み出しを並行して実行することが可能な非順序型データベースに本発明を適用していたが、非順序型データベースでない一般的なデータベースに適用してもよい。以下、第1の実施の形態の変形例として説明する。
(Modification of the first embodiment)
In the first embodiment described above, the present invention is applied to an unordered database that can execute data reading in parallel in a plurality of execution contexts. It may be applied to a typical database. Hereinafter, a description will be given as a modification of the first embodiment.
非順序型データベースでない一般的なデータベースでは、図1に示したシステム構成において、データベース管理システム132に実行タスク管理部144が含まれていない点で相違し、その他の点で共通している。すなわち、1つのタスクで実行コンテキストが逐次的に実行されるため、同時に処理される実行コンテキストは1つとなる。
A general database which is not an unordered database is different in that the execution
したがって、処理が開始されていない実行コンテキストが、結果候補リスト151の判定列未取得リスト153に分類され、処理中の実行コンテキストが結果候補リスト151の判定列取得済リスト154に分類される。そして、処理が終了した実行コンテキストが結果確定リスト152に分類される。
Therefore, execution contexts for which processing has not started are classified into the determination column non-obtained list 153 of the
このとき、結果確定リスト152をソート指定列順に管理することによって、最後の実行コンテキストが結果候補リスト151の判定列取得済リスト154に分類された時点で、結果確定リスト152の順序確定部分を返送する。
At this time, by managing the
以上のように、本発明の第1の実施の形態の変形例によれば、問合せ処理の半ばで問合せ結果を返送することはできないが、結果確定リスト152に分類される実行コンテキストの結果をソート指定列の値に基づいてソートして管理することによって、結果抽出処理後のソート処理が不要になり、ソートされたデータを抽出する処理を高速化することができる。
As described above, according to the modification of the first embodiment of this invention, the query result cannot be returned in the middle of the query process, but the results of the execution context classified in the
(第2の実施の形態)
次に、本発明の第2の実施の形態について説明する。第1の実施の形態では、非順序型データベースに本発明を適用していたが、第2の実施の形態では、複数の計算機で並列して問合せ要求が処理される並列データベースシステムに適用する。以下、第2の実施の形態が第1の実施の形態と相違する点について説明する。
(Second Embodiment)
Next, a second embodiment of the present invention will be described. In the first embodiment, the present invention is applied to an unordered database. However, in the second embodiment, the present invention is applied to a parallel database system in which query requests are processed in parallel by a plurality of computers. In the following, the difference between the second embodiment and the first embodiment will be described.
図8は、本発明の第2の実施の形態の計算機システムの構成を示すブロック図である。 FIG. 8 is a block diagram illustrating a configuration of a computer system according to the second embodiment of this invention.
本発明の第2の実施の形態の計算機システムは、要求受付サーバ104、複数の実行サーバ106及び外部記憶装置103を含む。
The computer system according to the second embodiment of this invention includes a
要求受付サーバ104及び複数の実行サーバ106は、ネットワーク105を介して互いに接続される。複数の実行サーバ106及び外部記憶装置103を含む。データベースサーバ101及び外部記憶装置103は、ネットワーク102を介して互いに接続される。
The
要求受付サーバ104は、データベースサーバ101と同様に、メモリ111、プロセッサ112及びインターフェース113を含む。メモリ111には、データベース管理システム132が記憶される。インターフェース113は、ネットワーク105に接続される。
Similar to the
実行サーバ106は、メモリ201、プロセッサ202、インターフェース203及びインターフェース204を含む。メモリ201には、外部記憶装置103からデータを取得するデータ処理部210が記憶される。インターフェース203は、ネットワーク105を介して要求受付サーバ104に接続される。インターフェース204は、ネットワーク102を介して外部記憶装置103に接続される。
The
要求受付サーバ104は、問合せ要求を受け付け、実行サーバ106に実行コンテキストを割り当てる。すなわち、要求受付サーバ104は、第1の実施の形態におけるデータベースサーバ101と同様に、複数の実行コンテキストを生成する。このとき、外部記憶装置103には直接アクセスせずに、実行コンテキストを処理するために必要な情報を実行サーバ106に送信する。
The
実行サーバ106は、要求受付サーバ104によって指示された実行コンテキストを、データ処理部210によって処理することによって問合せ結果を取得する。実行サーバ106は、一般的なデータベースサーバと同様に、同時に1つの実行コンテキストのみを処理することができる。
The
要求受付サーバ104は、第1の実施の形態のデータベースサーバと同様に結果候補リスト151及び結果確定リスト152を保持する。要求受付サーバ104は、問合せ実行プラン生成後、実行コンテキストを処理する実行サーバ106を選択する。そして、選択された実行コンテキストを選択された実行サーバ106に割り当てると、処理の開始を指示する。このとき、要求受付サーバ104は、割り当てた実行コンテキストを、結果候補リスト151の判定列未取得リスト153に分類する。
The
実行サーバ106は、割り当てられた実行コンテキストを処理し、ソート指定列の値を取得すると、中間結果を要求受付サーバ104に送信する。要求受付サーバ104は、ソート指定列の値を取得した中間結果を受信すると、対応する実行コンテキストを結果候補リスト151の判定列取得済リスト154に分類する。
When the
その後、実行サーバ106は、実行コンテキストの処理を継続し、すべてのオペレーションの実行が完了すると、処理結果を要求受付サーバ104に送信する。要求受付サーバ104は、受信した処理結果に対応する実行コンテキストを結果確定リスト152に分類する。
Thereafter, the
なお、実行サーバ106が実行コンテキストを処理している間に、実行コンテキストが複数に分割された場合には、実行サーバ106で順次処理するようにしてもよいし、1つの実行コンテキストを除いて要求受付サーバ104に送信し、要求受付サーバ104が別の実行サーバ106に割り当てするようにしてもよい。
When the execution context is divided into a plurality of parts while the
以上のように、本発明の第2の実施の形態によれば、既存の並列データベースシステムに本発明を適用することができる。したがって、各実行サーバ106にデータの読み出しを実行させ、要求受け付けサーバで結果候補リスト151及び結果確定リスト152を管理することによって、すべての問合せ結果を取得する前にソートされた問合せ結果を順次返送することが可能となり、ソートされたデータを抽出する処理を高速化することができる。
As described above, according to the second embodiment of the present invention, the present invention can be applied to an existing parallel database system. Accordingly, by causing each
特許請求の範囲に記載した以外の本発明の観点の代表的なものとして、次のものがあげられる。 The following are typical examples of aspects of the present invention other than those described in the claims.
(1) データが格納されたデータベースを管理するデータベース管理システムが実行される計算機において、要求されたデータを出力するデータベース処理方法であって、
前記計算機は、前記データベース管理システムを実行するプロセッサと、前記データベース管理システムを記憶するメモリとを備え、
前記方法は、
前記要求されたデータを指定された順序で問合せ結果を出力するように指定された問合せ要求を受け付ける第1ステップと、
前記受け付けた問合せ要求に基づいて、前記データを格納する表にアクセスする順序を含む問合せ実行プランを生成する第2ステップと、
前記生成された問合せ実行プランに基づいて、前記問合せ要求に基づいて要求されたデータを前記データベースから取得する第3ステップと、
前記取得されたデータを含む中間結果を生成する第4ステップと、
前記生成された中間結果を、前記問合せ要求で指定された順序に並び替える第5ステップと、
前記並び替えられた中間結果の順序が確定したか否かを前記中間結果ごとに判定する第6ステップと、
前記順序が確定した中間結果を、前記問合せ結果として先頭から順に出力する第7ステップと、を含むデータベース処理方法。
(1) A database processing method for outputting requested data in a computer in which a database management system for managing a database storing data is executed,
The computer includes a processor that executes the database management system, and a memory that stores the database management system,
The method
A first step of accepting a query request designated to output query results in a designated order for the requested data;
A second step of generating a query execution plan including an order of accessing a table storing the data based on the received query request;
A third step of obtaining data requested based on the query request from the database based on the generated query execution plan;
A fourth step of generating an intermediate result including the acquired data;
A fifth step of rearranging the generated intermediate results in the order specified in the query request;
A sixth step for determining for each intermediate result whether or not the order of the rearranged intermediate results is confirmed;
A database processing method comprising: a seventh step of outputting the intermediate results of which the order is determined in order from the top as the query results.
(2) (1)に記載のデータベース処理方法であって、
前記問合せ結果は、データに対応する1以上の列によって構成されるレコード単位で処理され、
前記第3ステップは、前記列ごとにデータを取得し、
前記第4ステップは、前記レコード単位で前記中間結果を生成し、
前記第6ステップは、前記レコードを構成する列に対応するデータがすべて取得されていない場合には順序が確定していないと判定するデータベース処理方法。
(2) The database processing method according to (1),
The query result is processed in units of records composed of one or more columns corresponding to data,
The third step acquires data for each column,
The fourth step generates the intermediate result for each record,
The sixth step is a database processing method in which it is determined that the order is not fixed when all the data corresponding to the columns constituting the record are not acquired.
(3) データを格納するストレージ装置と、前記ストレージ装置に格納されたデータを管理し、要求されたデータを出力するデータベース管理システムが実行される計算機と、を含むデータベース処理システムであって、
前記計算機は、
前記要求されたデータを指定された順序で問合せ結果を出力するように指定された問合せ要求を受け付ける問合せ要求受付部と、
前記受け付けた問合せ要求に基づいて、前記データを格納する表にアクセスする順序を含む問合せ実行プランを生成する問合せ実行プラン生成部と、
前記生成された問合せ実行プランに基づいて、前記問合せ要求によって要求されたデータを前記ストレージ装置から取得し、前記取得されたデータを格納する1以上の列によって構成されるレコードごとに処理して、前記問合せ要求に対する問合せ結果を出力する問合せ実行部とを備え、
前記問合せ実行部は、
前記列ごとにデータを取得し、
前記取得されたデータを含む中間結果を前記レコードごとに生成し、
前記生成された中間結果を、前記問合せ要求で指定された順序に並び替え、
前記並び替えられた中間結果の順序が確定したか否かを前記中間結果ごとに判定し、
前記順序が確定した中間結果を、前記問合せ結果として先頭から順に出力するデータベース処理システム。
(4) ストレージ装置に格納されたデータを管理するデータベース管理システムが実行され、要求されたデータを出力するデータベースサーバあって、
前記データベース管理システムを実行するプロセッサと、前記データベース管理システムを記憶するメモリとを備え、
前記プロセッサは、
前記要求されたデータを指定された順序で問合せ結果を出力するように指定された問合せ要求を受け付け、
前記受け付けた問合せ要求に基づいて、前記データを格納する表にアクセスする順序を含む問合せ実行プランを生成し、
前記生成された問合せ実行プランに基づいて、前記問合せ要求によって要求されたデータを前記ストレージ装置から取得し、
前記取得されたデータを含む中間結果を生成し、
前記生成された中間結果を、前記問合せ要求で指定された順序に並び替え、
前記並び替えられた中間結果の順序が確定したか否かを前記中間結果ごとに判定し、
前記順序が確定した中間結果を、前記問合せ結果として先頭から順に出力するデータベースサーバ。
(3) A database processing system including a storage device that stores data, and a computer that executes a database management system that manages the data stored in the storage device and outputs the requested data,
The calculator is
A query request receiving unit that receives a query request specified to output a query result in a specified order for the requested data;
A query execution plan generating unit that generates a query execution plan including an order of accessing the table storing the data based on the received query request;
Based on the generated query execution plan, the data requested by the query request is acquired from the storage device, and processed for each record configured by one or more columns storing the acquired data, A query execution unit that outputs a query result for the query request;
The inquiry execution unit
Get data for each column,
Generating an intermediate result including the acquired data for each record;
Reordering the generated intermediate results in the order specified in the query request;
Determine for each intermediate result whether or not the order of the sorted intermediate results is fixed;
A database processing system for outputting the intermediate results in which the order is determined in order from the top as the query results.
(4) A database management system for managing data stored in a storage device is executed, and there is a database server for outputting requested data,
A processor for executing the database management system; and a memory for storing the database management system;
The processor is
Accepting a query request specified to output query results in the specified order for the requested data;
Based on the received query request, generate a query execution plan including the order of accessing the table storing the data,
Based on the generated query execution plan, obtain the data requested by the query request from the storage device,
Generating an intermediate result including the acquired data;
Reordering the generated intermediate results in the order specified in the query request;
Determine for each intermediate result whether or not the order of the sorted intermediate results is fixed;
A database server for outputting the intermediate results whose order is determined in order from the top as the query results.
101 データベースサーバ
102 ネットワーク
103 外部記憶装置
104 要求受付サーバ
105 ネットワーク
106 実行サーバ
111 メモリ
112 プロセッサ
113 インターフェース
121 インターフェース
122 制御装置
123 記憶装置
131 アプリケーションプログラム(AP)
132 データベース管理システム
133 オペレーティングシステム(OS)
141 問合せ受付部
142 問合せ実行プラン生成部
143 問合せ実行部
144 実行タスク管理部
145 DBバッファ
146 問合せ結果保存部
150 実行コンテキスト管理部
151 結果候補リスト
152 結果確定リスト
153 判定列未取得リスト
154 判定列取得済リスト
160 結果順序確定部分判定部
161 表
162 索引
170 問合せ結果返送部
201 メモリ
202 プロセッサ
203 インターフェース
204 インターフェース
210 データ処理部
101
132
141
Claims (12)
前記計算機は、前記データベース管理システムを実行するプロセッサと、前記データベース管理システムを記憶するメモリとを備え、
前記データに対応する1以上の列によってレコードを構成し、
前記レコードを構成する列は、前記指定された順序を決定する値に対応するソート指定列を含み、
前記方法は、
前記プロセッサが、前記要求されたデータを指定された順序で問合せ結果を出力するように指定された問合せ要求を受け付ける第1ステップと、
前記プロセッサが、前記受け付けた問合せ要求に基づいて、前記データを格納する表にアクセスする順序を含む問合せ実行プランを生成する第2ステップと、
前記プロセッサが、前記生成された問合せ実行プランに基づいて、前記問合せ要求に基づいて要求されたデータを前記データベースから取得する第3ステップと、
前記プロセッサが、前記レコードごとに、前記取得されたデータを含む中間結果を、前記レコード単位で生成する第4ステップと、
前記プロセッサが、前記第4ステップで生成された中間結果を、前記ソート指定列の値が取得されていない中間結果によって構成される第1リスト、前記ソート指定列の値が取得され、かつ、前記レコードを構成する列に対応するデータがすべて取得されていない中間結果によって構成される第2リスト、又は、前記レコードを構成する列に対応するデータがすべて取得されている中間結果によって構成される第3リストのいずれかに分類する第8ステップと、
前記プロセッサが、前記生成された中間結果のうち、前記第3リストに分類された中間結果を、前記問合せ要求で指定された順序に並び替える第5ステップと、
前記プロセッサが、処理の進捗状況に基づいて、前記並び替えられた中間結果の順序が確定したか否かを前記中間結果ごとに判定する第6ステップと、
前記プロセッサが、前記順序が確定した中間結果を、前記問合せ結果として先頭から順に出力する第7ステップと、を含み、
前記第6ステップでは、前記レコードを構成する列に対応するデータがすべて取得されていない場合には、前記プロセッサは、順序が確定していないと判定し、
前記第6ステップは、前記プロセッサが、前記第1リストに分類された中間結果が存在するか否かを判定する第9ステップと、前記プロセッサが、前記第2リストに分類された中間結果を前記指定された順序で並び替えた場合に、最も順序が先となる中間結果の前記ソート指定列の値を順序確定判定値として取得する第10ステップと、を含み、
前記第6ステップでは、前記第1リストに分類された中間結果が存在しない場合に、前記プロセッサが、前記第3リストに分類され、前記順序確定判定値を有する中間結果よりも順序が先になる前記ソート指定列の値を有する中間結果を順序が確定したと判定し、
前記第7ステップでは、前記プロセッサは、前記第3リストに分類され、かつ、順序が確定した中間結果を先頭から順に前記問合せ結果として出力するデータベース処理方法。 In a computer on which a database management system for managing a database storing data is executed, a database processing method for outputting requested data,
The computer includes a processor that executes the database management system, and a memory that stores the database management system,
Composing a record by one or more columns corresponding to the data,
The columns constituting the record include a sort specification column corresponding to a value that determines the specified order,
The method
A first step in which the processor receives a query request designated to output query results for the requested data in a designated order;
A second step of generating a query execution plan including an order of accessing the table storing the data based on the received query request;
A third step in which the processor obtains data requested based on the query request from the database based on the generated query execution plan;
A fourth step in which the processor generates, for each record, an intermediate result including the acquired data for each record;
The processor, the intermediate result generated in the fourth step, a first list constituted by intermediate results for which the value of the sort designation column is not obtained, the value of the sort designation column is obtained, and The second list constituted by intermediate results from which all the data corresponding to the columns constituting the record are not obtained, or the second list constituted by the intermediate results from which all the data corresponding to the columns constituting the record are obtained. An eighth step for classifying into any of the three lists;
A fifth step in which the processor rearranges the intermediate results classified in the third list among the generated intermediate results in an order specified by the query request;
A sixth step in which the processor determines, for each intermediate result, whether or not the order of the rearranged intermediate results has been determined based on the progress of processing;
A seventh step in which the processor outputs the intermediate results in which the order is determined in order from the top as the query results;
In the sixth step, when all the data corresponding to the columns constituting the record have not been acquired, the processor determines that the order has not been determined,
The sixth step includes a ninth step in which the processor determines whether there is an intermediate result classified in the first list, and the processor determines the intermediate result classified in the second list as the second result. A tenth step of obtaining the value of the sort specification column of the intermediate result with the first order as the order determination determination value when rearranged in the specified order;
In the sixth step, when there is no intermediate result classified in the first list, the processor is classified in the third list, and the order comes before the intermediate result having the order determination determination value. It is determined that the intermediate result having the value of the sort specification column is confirmed in order,
In the seventh step, the processor outputs the intermediate results classified in the third list and determined in order as the query results in order from the top.
前記第3ステップは、
前記プロセッサが、前記問合せ実行プランに基づいて、前記問合せ結果を取得する処理を含み、並列して実行可能な処理単位である実行コンテキストを生成するステップと、
前記プロセッサが、前記実行コンテキストを処理することによって前記データを取得するステップと、を含み、
前記第9ステップでは、前記ソート指定列の値を取得するすべての実行コンテキストが完了している場合に、前記プロセッサは、前記第1リストに分類された中間結果が存在しないと判定するデータベース処理方法。 The database processing method according to claim 1,
The third step includes
The processor includes processing for obtaining the query result based on the query execution plan, and generating an execution context that is a processing unit that can be executed in parallel.
The processor obtaining the data by processing the execution context;
In the ninth step, when all execution contexts for acquiring the value of the sort specification column have been completed, the processor determines that there is no intermediate result classified in the first list. .
前記第8ステップは、
前記実行コンテキストを処理する過程で前記ソート指定列の値の取得が完了した場合に、前記プロセッサが、前記生成された中間結果を前記第2リストに分類するステップと、
前記実行コンテキストに含まれる前記問合せ結果を取得する処理が完了した場合に、前記プロセッサが、前記生成された中間結果を前記第3リストに分類するステップと、を含むデータベース処理方法。 The database processing method according to claim 2, wherein
The eighth step includes
When the acquisition of the value of the sort specification column is completed in the process of processing the execution context, the processor classifies the generated intermediate result into the second list;
And a step of classifying the generated intermediate result into the third list when the process of obtaining the query result included in the execution context is completed.
前記第3ステップは、前記プロセッサが、前記ソート指定列の値が取得されていない実行コンテキストを優先して処理するステップを含むデータベース処理方法。 The database processing method according to claim 2, wherein
The database processing method, wherein the third step includes a step in which the processor preferentially processes an execution context in which a value of the sort designation column is not acquired.
前記第3ステップは、前記プロセッサが、前記第2リストに分類される中間結果に対応する実行コンテキストについて、当該中間結果の前記ソート指定列の値に基づき順序が先となる実行コンテキストを優先して処理するステップを含むデータベース処理方法。 The database processing method according to claim 2, wherein
In the third step, for the execution context corresponding to the intermediate result classified in the second list, the processor gives priority to the execution context whose order is first based on the value of the sort specification column of the intermediate result. A database processing method including a step of processing.
前記第5ステップは、前記プロセッサが、前記第2リストに分類される中間結果の順序を前記指定された順序で並び替えるステップを含み、
前記第10ステップは、前記プロセッサが、前記第2リストに分類された先頭の中間結果の前記ソート指定列の値を順序確定判定値とするデータベース処理方法。 The database processing method according to claim 1,
The fifth step includes the step of the processor rearranging the order of the intermediate results classified in the second list in the designated order;
The tenth step is a database processing method in which the processor uses the value of the sort designation column of the first intermediate result classified in the second list as an order determination determination value.
前記第2ステップでは、前記プロセッサが、前記ソート指定列を含む表が優先してアクセスされるように問合せ実行プランを生成するデータベース処理方法。 The database processing method according to claim 1,
In the second step, a database processing method in which the processor generates a query execution plan so that a table including the sort specification column is accessed with priority.
前記第6ステップでは、前記プロセッサが、問合せ結果の出力要求を受け付けた場合に、前記並び替えられた中間結果の順序が確定したか否かを判定するデータベース処理方法。 The database processing method according to claim 1,
In the sixth step, when the processor receives an output request for a query result, the database processing method determines whether or not the order of the rearranged intermediate results is fixed.
前記第6ステップでは、前記プロセッサが、前記生成された中間結果の数が所定数を超えた場合に、前記並び替えられた中間結果の順序が確定したか否かを判定するデータベース処理方法。 The database processing method according to claim 1,
In the sixth step, a database processing method in which the processor determines whether or not the order of the rearranged intermediate results is fixed when the number of the generated intermediate results exceeds a predetermined number.
前記データを格納する1以上の列によってレコードを構成し、
前記レコードを構成する列は、前記指定された順序を決定する値に対応するソート指定列を含み、
前記計算機は、
前記要求されたデータを指定された順序で問合せ結果を出力するように指定された問合せ要求を受け付ける問合せ要求受付部と、
前記受け付けた問合せ要求に基づいて、前記データを格納する表にアクセスする順序を含む問合せ実行プランを生成する問合せ実行プラン生成部と、
前記生成された問合せ実行プランに基づいて、前記問合せ要求によって要求されたデータを前記ストレージ装置から取得し、前記レコードごとに処理して、前記問合せ要求に対する問合せ結果を出力する問合せ実行部とを備え、
前記問合せ実行部は、
前記取得されたデータを含む中間結果を前記レコードごとに生成し、
前記生成された中間結果を、前記ソート指定列の値が取得されていない中間結果によって構成される第1リスト、前記ソート指定列の値が取得され、かつ、前記レコードを構成する列に対応するデータがすべて取得されていない中間結果によって構成される第2リスト、又は、前記レコードを構成する列に対応するデータがすべて取得されている中間結果によって構成される第3リストのいずれかに分類し、
前記第3リストに分類された中間結果の順序を前記問合せ要求で指定された順序に並び替え、
前記第1リストに分類された中間結果が存在するか否かを判定し、
前記第2リストに分類された中間結果を前記指定された順序で並び替えた場合に、最も順序が先となる中間結果の前記ソート指定列の値である順序確定判定値を取得し、
前記第1リストに分類された中間結果が存在しない場合に、前記第3リストに分類され、前記順序確定判定値を有する中間結果よりも順序が先になる前記ソート指定列の値を有する中間結果を順序が確定したことを前記中間結果ごとに判定し、
前記第3リストに分類され、かつ、順序が確定した中間結果を、前記問合せ結果として先頭から順に出力するデータベース処理システム。 A database processing system comprising: a storage device for storing data; and a computer on which a database management system for managing data stored in the storage device and outputting requested data is executed,
A record is composed of one or more columns storing the data,
The columns constituting the record include a sort specification column corresponding to a value that determines the specified order,
The calculator is
A query request receiving unit that receives a query request specified to output a query result in a specified order for the requested data;
A query execution plan generating unit that generates a query execution plan including an order of accessing the table storing the data based on the received query request;
A query execution unit that obtains data requested by the query request from the storage device based on the generated query execution plan, processes the records for each record, and outputs a query result for the query request; ,
The inquiry execution unit
Generating an intermediate result including the acquired data for each record;
The generated intermediate result corresponds to a first list constituted by intermediate results for which the value of the sort specification column has not been acquired, the value of the sort specification column is acquired, and the column constituting the record Classify either the second list composed of intermediate results from which all data has not been acquired or the third list composed of intermediate results from which all data corresponding to the columns constituting the record have been acquired. ,
Rearranging the order of the intermediate results classified in the third list into the order specified in the query request;
Determining whether there are intermediate results classified in the first list;
When the intermediate results classified in the second list are rearranged in the specified order, an order determination determination value that is the value of the sort specification column of the intermediate result that is the first in the order is acquired;
If there is no intermediate result classified in the first list, the intermediate result is classified into the third list and has the value of the sort specification column that is in the order before the intermediate result having the order determination determination value. Is determined for each intermediate result that the order has been determined,
A database processing system for outputting intermediate results classified into the third list and in which the order is determined in order from the top as the query results.
前記問合せ実行部は、
前記問合せ実行プランに基づいて、前記問合せ結果を取得する処理を含み、並列して実
行可能な処理単位である実行コンテキストを生成し、
前記実行コンテキストを処理することによって前記データを取得し、
前記ソート指定列の値を取得するすべての実行コンテキストが完了している場合に、前記第1リストに分類された中間結果が存在しないと判定するデータベース処理システム。 The database processing system according to claim 10, wherein
The inquiry execution unit
Based on the query execution plan, an execution context that is a processing unit that can be executed in parallel, including processing for obtaining the query result, is generated.
Obtaining the data by processing the execution context;
A database processing system that determines that there are no intermediate results classified in the first list when all execution contexts for acquiring values of the sort specification column have been completed.
前記問合せ実行部は、
前記ソート指定列の値を取得する実行コンテキストが完了した場合に、前記生成された中間結果を前記第1リストに分類し、
前記問合せ実行プランに含まれるすべての実行コンテキストが完了した場合に、前記生成された中間結果を前記第3リストに分類するデータベース処理システム。 The database processing system according to claim 11, wherein
The inquiry execution unit
When the execution context for obtaining the value of the sort specification column is completed, the generated intermediate result is classified into the first list,
A database processing system that classifies the generated intermediate results into the third list when all execution contexts included in the query execution plan are completed.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012244730A JP5458330B2 (en) | 2012-11-06 | 2012-11-06 | Database processing method and database processing system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012244730A JP5458330B2 (en) | 2012-11-06 | 2012-11-06 | Database processing method and database processing system |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010187798A Division JP5199317B2 (en) | 2010-08-25 | 2010-08-25 | Database processing method, database processing system, and database server |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013033517A JP2013033517A (en) | 2013-02-14 |
JP5458330B2 true JP5458330B2 (en) | 2014-04-02 |
Family
ID=47789301
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012244730A Expired - Fee Related JP5458330B2 (en) | 2012-11-06 | 2012-11-06 | Database processing method and database processing system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5458330B2 (en) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5089985A (en) * | 1988-04-07 | 1992-02-18 | International Business Machines Corporation | System and method for performing a sort operation in a relational database manager to pass results directly to a user without writing to disk |
JPH06110936A (en) * | 1992-09-25 | 1994-04-22 | Toshiba Corp | Data processor |
JP3434641B2 (en) * | 1996-02-23 | 2003-08-11 | 三菱電機株式会社 | Database processing method |
JP3538322B2 (en) * | 1998-06-22 | 2004-06-14 | 株式会社日立製作所 | Database management system and query processing method |
JP4611830B2 (en) * | 2005-07-22 | 2011-01-12 | 優 喜連川 | Database management system and method |
JP4659888B2 (en) * | 2009-02-13 | 2011-03-30 | 株式会社日立製作所 | Database processing system, computer and database processing method |
-
2012
- 2012-11-06 JP JP2012244730A patent/JP5458330B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2013033517A (en) | 2013-02-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5199317B2 (en) | Database processing method, database processing system, and database server | |
CN106030573B (en) | Implementation of Semi-structured Data as First-Level Database Elements | |
CN102521416B (en) | Data correlation query method and data correlation query device | |
CN117725283B (en) | Archival data storage system based on big data | |
US8510316B2 (en) | Database processing system and method | |
US9639542B2 (en) | Dynamic mapping of extensible datasets to relational database schemas | |
US20060069672A1 (en) | Query forced indexing | |
US10810174B2 (en) | Database management system, database server, and database management method | |
US12072939B1 (en) | Federated data enrichment objects | |
JP5558514B2 (en) | Method and apparatus for optimally processing N-sort queries in multi-range scanning | |
US9552415B2 (en) | Category classification processing device and method | |
CN105740264A (en) | Distributed XML database sorting method and apparatus | |
KR101744892B1 (en) | System and method for data searching using time series tier indexing | |
JP5844895B2 (en) | Distributed data search system, distributed data search method, and management computer | |
US20250103604A1 (en) | Retrieving data identifiers from queue for search of external data system | |
US20140067853A1 (en) | Data search method, information system, and recording medium storing data search program | |
JPWO2014141355A1 (en) | Computer system, data management method, and recording medium for storing program | |
JP5458330B2 (en) | Database processing method and database processing system | |
JP6438295B2 (en) | Automatic editing of graph input for hypergraph solvers | |
CN103891244B (en) | A kind of method and device carrying out data storage and search | |
US11720591B1 (en) | Virtual metrics | |
JP2006092409A (en) | Complex database retrieval system, complex database retrieval method, and program therefor | |
CN102339284B (en) | Establishing method of database index and computer system thereof | |
JP6201053B2 (en) | Feature data management system and feature data management method | |
JP6402600B2 (en) | Database apparatus, data management method, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20131217 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131220 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5458330 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |