JP2008084028A - データベース検索システムおよびデータベース検索方法 - Google Patents

データベース検索システムおよびデータベース検索方法 Download PDF

Info

Publication number
JP2008084028A
JP2008084028A JP2006263549A JP2006263549A JP2008084028A JP 2008084028 A JP2008084028 A JP 2008084028A JP 2006263549 A JP2006263549 A JP 2006263549A JP 2006263549 A JP2006263549 A JP 2006263549A JP 2008084028 A JP2008084028 A JP 2008084028A
Authority
JP
Japan
Prior art keywords
query
hint
plan
tree
conditional
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.)
Abandoned
Application number
JP2006263549A
Other languages
English (en)
Inventor
Yosuke Kuroda
洋介 黒田
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2006263549A priority Critical patent/JP2008084028A/ja
Publication of JP2008084028A publication Critical patent/JP2008084028A/ja
Abandoned legal-status Critical Current

Links

Images

Landscapes

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

Abstract

【課題】ユーザが詳細な知識を持つこともなく複雑かつ柔軟なヒント機能を容易に作成することができるデータベース検索システムを提供する。
【解決手段】問合せクエリを問合せ言語の文法に従って構文解析した後、データベース管理装置にとって1つの処理単位となるノードによって構成される解析木を作成するとともに、解析木の各単位についてデータベース管理装置側が適用可能なヒント項目を検出し、解析木を木構造の形で表現し、各ノードに対して選択可能なヒントを提示する。これにより、問合せクエリをデータベース管理装置側の処理単位及びヒントの適用単位で構成される解析木として視覚的に把握することができるとともに、各ノードに対して適用可能なヒントが提示されるため、ユーザ側は容易に問合せクエリの単位を把握し、ヒントを柔軟に追加することができる。
【選択図】 図8

Description

本発明は、データベース検索システムおよびデータベース検索方法に関する。
問合せクエリに応じてデータベースを検索するデータベース管理装置は、問合せクエリを解析して、効率的な応答性能を実現するための索引作成などの問合せ実行計画(プラン)を作成し、当該プランに基づいてデータベース管理装置内のデータに対して問合せ処理を実施する。
しかしながら、作成されたプランは必ずしも最も効率が良いものとは限らないため、ユーザはデータベース管理装置が作成したプランを参照して問題点を解析する必要がある。
一般に、作成されたプランはデータベース管理装置の装置固有の言語として提供され、データベースに対するオペレーションとその付随情報を複数のカラムとして含むテーブル形式で与えられる場合が多い。このため、プランを解析するにはデータベース管理装置の装置固有の言語の知識を十分に把握する必要があり、また分かりにくいテーブル形式で渡されたプランを解読する必要がある。
そこで、このような問題を解決するため、特許文献1では、データベース管理装置が作成した複雑なプランを木構造の形で表示することによってユーザがすばやくプランを解析することを支援している。
一方、データベース管理装置側では、プランを解析したユーザが検索時間の問題などによってプランを変更したいと考えた場合に、ユーザの意図を反映させる手段としてヒント機能を提供している。このヒント機能は、一般に、問合せ言語で提供された文法やデータベース管理装置が独自に拡張した文法、問合せ言語のコメント文等を利用して提供されている。例えば、XMLデータに対する問合せ言語であるXQueryでは、実装側固有の処理を指定可能とするPragma文法が用意されており、このPragma文法を使用することでヒント機能が提供可能である。また、ORACLE社(ORACLEは登録商標)が提供するデータベースでは、SQL内のコメントを独自拡張し、コメント内で記述可能な幾つかの文法を用意することでプランを変更する手段を提供している。他にもMicrosoft社(Microsoftは登録商標)が提供するデータベースであるSQLServerではSQL文法を拡張することでヒント機能を実現している。このように、従来より様々な形でプランの変更をユーザにより指定する方法が提供されている。
特許第2510945号公報
しかしながら、上述したようなヒント機能を提供するデータベース管理装置では、ヒント機能を指定する方法は存在するものの、ヒント機能を容易に作成するための手段が提供されていない。つまり、ユーザは、問合せ言語、データベース固有のプラン及びヒント機能の文法・機能を十分に把握しなければヒント機能を使用することができない。
ヒント機能を容易に作成するための手段が提供されていない原因の1つとしては、問合せクエリに対してユーザ側に提供する情報がプラン情報だけであることが挙げられる。より詳細には、プランではデータベース管理装置側の実行単位であるオペレーションの列が出力されているが、このオペレーションが問合せクエリのどの部分に対応しているかがプラン情報だけでは完全に把握できないためである。また、問合せクエリのどの部分に対してどのようなヒント機能が適用できるかを問合せクエリとプランを見るだけで判断するのが難しく、ユーザ側に詳細な知識が必要とされてしまうためである。
加えて、一般に提供されているヒント機能は、索引使用などの固定的な指示で用意されており、状況に応じて動作を変化させるようなヒント機能は用意されていない。このためストアドファンクションのようなパラメータ化されたクエリでは入力される変数値によって効率的なプランが変化するため、ヒント機能を利用することは困難である。また、SQLのLike文やXQueryのcontains()関数によって実現される部分マッチ検索は、部分マッチによって該当するデータ件数に対する精度の高い見積もりが難しく効率の良い実行計画を作るのが困難である。すなわち、上述したパラメータ化されたクエリによる検索および部分マッチ検索のいずれにおいても、実際の値に応じて効率の良いプランを生成するようなヒント機能が存在すれば良いが、このようなヒントを提供するには幾つかの問題がある。1つは、そのような見積り精度が低くなるポイントをユーザが見つけ出すことが難しいことである。1つは、状況に応じたプラン生成を指定するようなヒント機能を実現するには複雑なヒントの記述が必要であることである。1つは、そのようなヒントをどこに埋め込むべき場所を決定することが難しいことである。また、上述したような機能を実現したとしてもユーザ側に詳細に把握してもらう必要があり、実際に使用してもらえる可能性は低いと考えられる。
本発明は、上記に鑑みてなされたものであって、ユーザが詳細な知識を持つこともなく複雑かつ柔軟なヒント機能を容易に作成することができるデータベース検索システムおよびデータベース検索方法を提供することを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、データベース管理装置で管理しているデータベースに対して問合せ装置からの問合せクエリに従って問合せ処理を実施するデータベース検索システムにおいて、前記問合せ装置からの前記問合せクエリを問合せ言語の文法に従って構文解析する構文解析手段と、この構文解析手段による構文解析の結果に基づいて前記データベース管理装置の1つの処理単位となるノードによって構成される解析木を作成する解析木作成手段と、この解析木作成手段が作成した前記解析木の各単位について、前記データベース管理装置側が適用可能なユーザの意図を反映させるヒント項目を検出するヒント検出手段と、前記解析木作成手段が作成した前記問合せクエリの解析木を前記問合せ装置に表示するとともに、前記解析木の各単位に適用可能なヒント項目についても選択可能な形式で表示する解析木表示手段と、この解析木表示手段により表示されている前記ヒント項目が前記問合せ装置によって選択されたか否かを判断するヒント選択判断手段と、このヒント選択判断手段により前記ヒント項目が選択されたと判断した場合、選択された前記ヒント項目をヒント文に変換して前記解析木が記憶した前記問合せクエリの記述位置に基づいて挿入して編集するクエリ編集手段と、を備え、前記クエリ編集手段により編集された前記問合せクエリに従って問合せ処理を実施する。
また、本発明は、データベース管理装置で管理しているデータベースに対して問合せ装置からの問合せクエリに従って問合せ処理を実施するデータベース検索方法において、前記問合せ装置からの前記問合せクエリを問合せ言語の文法に従って構文解析する構文解析工程と、この構文解析工程による構文解析の結果に基づいて前記データベース管理装置の1つの処理単位となるノードによって構成される解析木を作成する解析木作成工程と、この解析木作成工程が作成した前記解析木の各単位について、前記データベース管理装置側が適用可能なユーザの意図を反映させるヒント項目を検出するヒント検出工程と、前記解析木作成工程が作成した前記問合せクエリの解析木を前記問合せ装置に表示するとともに、前記解析木の各単位に適用可能なヒント項目についても選択可能な形式で表示する解析木表示工程と、この解析木表示工程により表示されている前記ヒント項目が前記問合せ装置によって選択されたか否かを判断するヒント選択判断工程と、このヒント選択判断工程により前記ヒント項目が選択されたと判断した場合、選択された前記ヒント項目をヒント文に変換して前記解析木が記憶した前記問合せクエリの記述位置に基づいて挿入して編集するクエリ編集工程と、を含み、前記クエリ編集工程により編集された前記問合せクエリに従って問合せ処理を実施する。
本発明によれば、問合せクエリを問合せ言語の文法に従って構文解析した後、データベース管理装置にとって1つの処理単位となるノードによって構成される解析木を作成するとともに、解析木の各単位についてデータベース管理装置側が適用可能なユーザの意図を反映させるヒント項目を検出し、各ノードに対して選択可能なヒントを提示する。これにより、問合せクエリをデータベース管理装置側の処理単位及びヒントの適用単位で構成される解析木として視覚的に把握することができるとともに、各ノードに対して適用可能なヒントが提示されるため、ユーザ側は容易に問合せクエリの単位を把握し、ヒントを柔軟に追加することができる。また、選択されたヒント項目をヒント文に変換して解析木が記憶した問合せクエリの記述位置に基づいて挿入して編集するので、ユーザはヒントを選択するだけでよく、実際にヒント文を問合せクエリに記述する必要がない。
以下に添付図面を参照して、この発明にかかるデータベース検索システムおよびデータベース検索方法の最良な実施の形態を詳細に説明する。
本発明の実施の一形態を図1ないし図24に基づいて説明する。
[1.システムの構成]
図1は、本発明の実施の一形態にかかるデータベース検索システムのシステム構築例を示す模式図である。データベース検索システムは、図1に示すように、サーバコンピュータ(以下、サーバという)1にLAN(Local Area Network)等のネットワーク2を介してクライアントコンピュータ(以下、クライアントという)3が複数台接続されたサーバクライアントシステムを想定する。クライアント3は、一般的なパーソナルコンピュータ等である。
図2は、サーバ1およびクライアント3のモジュール構成図である。サーバ1およびクライアント3は、情報処理を行うCPU(Central Processing Unit)101、BIOSなどを記憶した読出し専用メモリであるROM(Read Only Memory)102、各種データを書換え可能に記憶するRAM(Random Access Memory)103、各種データベースとして機能するとともに各種のプログラムを格納するHDD(Hard Disk Drive)104、記憶媒体110を用いて情報を保管したり外部に情報を配布したり外部から情報を入手するためのCD−ROMドライブ等の媒体駆動装置105、ネットワーク2を介して外部の他のコンピュータと通信により情報を伝達するための通信制御装置106、処理経過や結果等を操作者に表示するCRT(Cathode Ray Tube)やLCD(Liquid Crystal Display)等の表示部107、並びに操作者がCPU101に命令や情報等を入力するためのキーボードやマウス等のポインティングデバイスである入力部108等から構成されており、これらの各部間で送受信されるデータをバスコントローラ109が調停して動作する。
このようなサーバ1およびクライアント3では、オペレータが電源を投入するとCPU101がROM102内のローダーというプログラムを起動させ、HDD104よりOS(Operating System)というコンピュータのハードウェアとソフトウェアとを管理するプログラムをRAM103に読み込み、このOSを起動させる。このようなOSは、オペレータの操作に応じてプログラムを起動したり、情報を読み込んだり、保存を行ったりする。OSのうち代表的なものとしては、Windows(登録商標)、UNIX(登録商標)等が知られている。これらのOS上で走る動作プログラムをアプリケーションプログラムと呼んでいる。なお、アプリケーションプログラムは、所定のOS上で動作するものに限らず、後述の各種処理の一部の実行をOSに肩代わりさせるものであってもよいし、所定のアプリケーションソフトやOSなどを構成する一群のプログラムファイルの一部として含まれているものであってもよい。
ここで、サーバ1は、アプリケーションプログラムとして、データベース管理プログラムをHDD104に記憶している。この意味で、HDD104は、データベース管理プログラムを記憶する記憶媒体として機能する。
一方、クライアント3は、アプリケーションプログラムとして、問合せプログラムをHDD104に記憶している。この意味で、HDD104は、問合せプログラムを記憶する記憶媒体として機能する。
また、一般的には、サーバ1およびクライアント3のHDD104にインストールされるアプリケーションプログラムは、CD−ROMやDVDなどの各種の光ディスク、各種光磁気ディスク、フレキシブルディスクなどの各種磁気ディスク、半導体メモリ等の各種方式のメディア等の記憶媒体110に記録され、この記憶媒体110に記録された動作プログラムがHDD104にインストールされる。このため、CD−ROM等の光情報記録メディアやFD等の磁気メディア等の可搬性を有する記憶媒体110も、アプリケーションプログラムを記憶する記憶媒体となり得る。さらには、アプリケーションプログラムは、例えば通信制御装置106を介して外部から取り込まれ、HDD104にインストールされても良い。
サーバ1は、OS上で動作するデータベース管理プログラムが起動すると、このデータベース管理プログラムに従い、CPU101が各種の演算処理を実行して各部を集中的に制御する。一方、クライアント3は、OS上で動作する問合せプログラムが起動すると、この問合せプログラムに従い、CPU101が各種の演算処理を実行して各部を集中的に制御する。サーバ1およびクライアント3のCPU101が実行する各種の演算処理のうち、本実施の形態の特長的な処理について以下に説明する。
ここで、図3はデータベース検索システムの機能構成を示す構成図である。図3に示すように、クライアント3は、問合せプログラムに従うことにより、問合せ装置として機能するものであり、問合せクエリテキスト部11と、問合せクエリ解析木表示編集部12と、問合せクエリプラン表示編集部13とを備える。一方、サーバ1は、図3に示すように、データベース管理プログラムに従うことにより、データベース管理装置として機能するものであり、問合せ構文解析部21と、解析木作成部22と、選択可能ヒント検出部23と、プラン候補作成部24と、性能分岐点検出部25と、条件付きプラン作成部26と、条件付きプラン実行部27とを備える。以下、各機能について説明する。
クライアント3の問合せクエリテキスト部11は、問合せクエリを表示・記述するものであり、ユーザは最初に問合せクエリテキスト部11に対してデータベース管理装置であるサーバ1への問合せクエリを、クエリの文法に従って記述する。ここで、図4はXMLデータに対する問合せ言語XQueryで記述されたクエリを例示的に示す模式図である。図4に示す問合せクエリテキスト部11で記述された問合せクエリは、サーバ1に格納されている特許のXML文書のデータベース“patent"内に対して「メインクレームに“データベース”を含み文書内に“XML"を含む特許XML文書をデータベースから取得」することを目的としたクエリである。このようにして記述された問合せクエリは、サーバ1に送られる。
サーバ1の問合せ構文解析部21は、構文解析手段として機能するものであって、クライアント3から送られた問合せクエリを入力として受け取り、問合せ言語の文法に従って解析し、文法で記述された単位に分解された構文解析木を作成する。ここで、図5は構文解析木を例示的に示す模式図である。図5は、問合せ言語XQueryの文法のEBNFの一部と、作成した構文解析木を例に挙げている。図5に示すように、構文解析木は、XQueryのEBNF文法で記述された単位に分解して木構造で表現される。この構文解析木は文法に従って単純に生成されたものであり、実際のサーバ1(データベース管理装置)での処理単位とは異なる。
サーバ1の問合せ解析木作成部22は、解析木作成手段として機能するものであって、問合せ構文解析部21が作成した構文解析木を受け取り、サーバ1(データベース管理装置)にとって意味のある処理単位(すなわち、サーバ1の1つの処理単位となるノードによって構成される単位)に再構築した解析木を作成する。なお、解析木の単位は、サーバ1(データベース管理装置)の内部処理構造によって異なる。ここで、図6は再構築した解析木を示す模式図である。図6では、解析木の一例として図4のクエリに対してノード(1)〜(9)で表現された解析木を挙げている。ここでは解析木の単位として、関数処理、XMLノード取得処理、定数値等に分解している。図6に示す(1)は特許文書のXMLデータベース“patent"コレクションを指定する関数、(2)は(1)の出力結果から直下にある“patent”XMLノードを取得する処理、(3)は(2)の直下にある“mainclaim”XMLノードを取得する処理、(4)は定数値“データベース”、(5)は(2)の下にある全てのXMLノードを取得する処理、(6)は定数値“XML”、(7)は(1)と(2)を合わせた処理、(8)は(3)と(4)を引数とする関数“contains()”によるフィルタ処理、(9)は(5)と(6)を引数とする関数“contains()”によるフィルタ処理である。
サーバ1の選択可能ヒント検出部23は、ヒント検出手段として機能するものであって、問合せ解析木作成部22が作成した解析木の各単位について、サーバ1(データベース管理装置)側が適用可能なユーザの意図を反映させるヒントの一覧を検出する。ここで、図7は解析木のノードと適用可能なヒントの組合せの一例を示す模式図である。図7では一例として、図6の解析木のノードに適用可能なヒントの関係表を記載している。例えば、関数“contains()”によるフィルタ処理は、引数がXMLノードと定数値の場合、索引使用及び禁止のヒント「Index」または「Noindex」が適用可能であり、図6では(8)と(9)が該当する。また、XMLノード取得処理では、XMLノードの取得方向を指定するヒント「traverseToDown」または「traverseToUp」が適用可能であり、図6では(3)と(5)が該当する。ここで得られた解析木と適用可能なヒント一覧はクライアント3(問合せ装置)に送られる。
クライアント3の問合せクエリ解析木表示編集部12は、解析木表示手段として機能するものであって、サーバ1(データベース管理装置)から送られてきた解析木と適用可能なヒントを入力として受け取ると、図8に示すように、表示部107に解析木を木構造の形で表示するとともに、解析木の各単位に適用可能なヒントについてチェックボックスCBを付して表示する。図8では、問合せクエリ解析木表示編集部12において、サーバ1(データベース管理装置)から送信された図6の解析木と選択可能なヒントが表示された例を挙げる。図8に示す(a)は(3)の“mainclaim”XMLノードを取得する処理に対するヒント、(b)は(5)の全てのXMLノードを取得する処理に対するヒント、(c)は(3)と(4)を引数とする関数“contains()”によるフィルタ処理に対するヒント、(d)は(5)と(6)を引数とする関数“contains()”によるフィルタ処理に対するヒントである。
ここで、図9は問合せクエリ解析木表示編集部12における処理の流れを示すフローチャートである。図9に示すように、まず、ユーザが選択可能なヒントのチェックボックスを入力部108を介してチェックすることにより適用可能なヒントが選択されたと判断すると(ステップS11のYes:ヒント選択判断手段)、ステップS12に進む。例えば、図8の状態から図10に示すようにユーザによって解析木のノード(9)に対して索引使用ヒント(d)の「index」に対応するチェックボックスCBが入力部108を介して選択される。
続いて、XQueryではヒント内で記述した名前空間を解決するための名前空間宣言を挿入し(ステップS12)、選択されたヒントを解析木が記憶した問合せクエリの記述位置に基づいてヒント文に変換して問合せクエリテキスト部11内の問合せクエリに挿入する(ステップS13:クエリ編集手段)。ここで、図11はヒント選択によるヒント文挿入例を示す模式図である。図11は、XQueryにおけるPragma文法を利用したヒント機能の例である。図11では「メインクレームに“データベース”を含み文書内に“XML"を含む特許XML文書を特許データベース“patent”から取得」という問合せクエリに対して、「文書内に“XML"を含む」に該当する「contains(., "XML")」という式を「(# exq:index #){contains(., "XML")}」とPragma文法「(# exq:index #){式}」を用いて囲むことで「contains(., "XML")」処理時に索引を使用するようにサーバ1(データベース管理装置)にユーザの意図を伝えている。そして、図11に示すように、チェックされたヒントを反映するために、問合せクエリテキスト部11内の問合せクエリにヒント文「(# exq:index #){}」がノード(9)に該当する箇所を囲む形で挿入されている。また、先頭には、名前空間宣言が挿入されている。これにより、ユーザはノード(9)の条件式に対して索引を使用する意図をサーバ1(データベース管理装置)に伝えることが可能となる。
加えて、問合せクエリ解析木表示編集部12においては、マウス等の入力部108を用いて解析木の各ノードから別のノードへカーソルを移動させることにより、問合せクエリの動作順序を指定することが可能である。図12は、問合せクエリ解析木表示編集部12における処理の流れを示すフローチャートである。図12に示すように、ユーザがマウス等の入力部108を用いて解析木の各ノードから別のノードへカーソルを移動させることにより、問合せクエリの動作順序が指定されたと判断すると(ステップS21のYes:ヒント選択判断手段)、カーソルで移動させた解析木の順に動作するように該当するヒントのチェックボックスをチェックする(ステップS22)。
例えば、図8の状態から図13に示すように、ユーザが、入力部108を用いて解析木の各ノードから別のノードへカーソルを移動させることにより、問合せクエリの動作順序を指定する。図13においては、解析木のノード(9)から解析木のノード(7)へとカーソルを移動させ、さらに解析木のノード(7)から解析木のノード(8)へとカーソルを移動させている。問合せクエリ解析木表示編集部12は、そのようなカーソルの移動順を実現するためのヒントとして、最初に解析木のノード(9)を実施するために、解析木のノード(9)の取得に必要となる索引処理を適用するための処理としてヒント(d)の索引使用のヒントのチェックボックスCBにチェックを入れる。次に、解析木のノード(9)から解析木のノード(7)への動作を実現するために、解析木のノード(5)に対して下位から上位のXMLノードを取得するために必要となるトラバース処理を適用するための処理として、ヒント(b)の“traverseToUp”ヒントのチェックボックスにチェックを入れる。さらに、解析木のノード(7)から解析木のノード(8)への動作を実現するために、解析木のノード(3)に対して上位から下位のXMLノードを取得するために必要となるトラバース処理を適用するための処理として、ヒント(a)の“traverseToDown”ヒントのチェックボックスにチェックを入れる。
続いて、チェックされたヒントを解析木が記憶した問合せクエリの記述位置に基づいてヒント文に変換して問合せクエリテキスト部11内の問合せクエリに挿入し(ステップS23:クエリ編集手段)、XQueryではヒント内で記述した名前空間を解決するための名前空間宣言を挿入する(ステップS24)。ここで、図14は問合せクエリの動作順序指定に基づくヒント選択によるヒント文挿入例を示す模式図である。図14に示すように、チェックされたヒントを反映するために、問合せクエリテキスト部11内の問合せクエリにヒント文「(# exq:index #){}」が解析木のノード(9)に該当する箇所を囲む形で挿入される。また、ヒント文「(# exq:traverseToUp #){}」が解析木のノード(5)に該当する箇所を囲む形で挿入される。また、ヒント文「(# exq:traverseToDown #){}」が解析木のノード(3)に該当する箇所を囲む形で挿入される。さらに、先頭には、名前空間宣言が挿入されている。これにより、ユーザは、解析木のノード(9)から解析木のノード(2)、解析木のノード(2)から解析木のノード(8)の順序で問合せクエリを処理するような意図をサーバ1(データベース管理装置)に伝えることが可能となる。
これにより、ユーザは表示された解析木のノードの動作順を指定するだけで、意図した順序に問合せクエリを実施するヒント文を追加することができるので、ユーザはどのようなヒントを適用するといった方法だけでなく、どうような順序で処理して欲しいといった直感的な操作イメージをヒント文に反映することができる。
問合せクエリ解析木表示編集部12は、このようにしてヒントを挿入された問合せクエリを生成すると、解析木の各ノード単位についてどのようなヒントが選択されたかというヒント情報をサーバ1(データベース管理装置)側に送信する。
なお、別の実施例としては、問合せクエリ解析木表示編集部12は、ヒントが挿入された問合せクエリを再度サーバ1(データベース管理装置)側に送信するようにしても良い。
サーバ1のプラン候補作成部24は、プラン候補作成手段として機能するものであって、クライアント3から送られたヒント情報と解析木に基づいて、問合せクエリの実行計画(プラン)の候補を生成する。より詳細には、プラン候補作成部24では、ヒント情報を制約条件の1つとみなして、実行計画(プラン)の候補を生成する。
図15は、プラン候補作成部24における処理の流れを示すフローチャートである。図15に示すように、プラン候補作成部24は、最初に、解析木の各ノードに対して適用可能なオペレーションを列挙する(ステップS101)。次に、列挙したオペレーションに対して各ノードが条件を満たすかを順にチェックする(ステップS102)。
ノードが列挙したオペレーションに対して条件を満たすと判断した場合には(ステップS102のYes)、条件を満たしたオペレーションをプラン候補に追加する(ステップS103)。なお、プラン候補が存在しない場合は新規に作成する。この時にオペレーション処理に必要なコスト、出力される件数の予測値とその信頼度、及び予測値の取り得る値の範囲等が計算される。
以上のステップS102〜S103の処理は、解析木の全てのノードについて終了するまで(ステップS104のYes)、繰り返される。
ここで、図16は解析木のノードと適用可能なオペレーションとの関係を例示的に示す模式図、図17はプラン候補作成部24で作成されるプラン候補の一例を示す模式図である。図16ではノードに対して適用可能なオペレーションとその条件の1例を、図17では図11のヒント付き問合せクエリに対して図16の条件を適用した場合のプラン候補を示す。図16では関数“contains()”に対して、ヒントにより索引禁止が存在しない場合に文字索引オペレーション“LexIndex”が適用可能であることを示している。また、XMLノードに対して上位ノードが取得されていればXMLノードの上位ノードから下位ノードを取得するオペレーション“ToDown”、下位ノードが取得されていればXMLノードの下位ノードから上位ノードを取得するオペレーション“ToUp”が適用可能である。
図16の条件を図11のヒント付き問合せクエリに適用した場合、図17に示すように、最初にノード(9)に対して文字索引オペレーション“LexIndex”が適用可能である。ここでヒント文により指定されているためノード(9)に対する文字索引オペレーション“LexIndex”が必ず適用される。次に、適用可能なオペレーションとしてノード(8)に対する文字索引オペレーション“LexIndex”とノード(9)により下位ノードが取得されたことによりノード(5)に対してオペレーション“ToUp”が適用可能である。この場合、どちらにもヒントが適用されていないため、どちらに対してもプラン候補を新規に作成して処理を続行する。ノード(5)に対してオペレーション“ToUp”を適用した場合は、動作可能なプラン候補は「プラン候補1」のみとなる。一方、ノード(8)に対する文字索引オペレーション“LexIndex”を適用した場合、ノード(5)とノード(3)に対して下位ノードから上位ノードを取得するオペレーション“ToUp”を実行した後、その結果をマージする“Merge”オペレーションを適用する「プラン候補2」と、ノード(3)の下位ノードから上位ノードを取得するオペレーション“ToUp”を実行した後、ノード(5)の上位ノードから下位ノードを取得するオペレーション“ToDown”を実行し、ノード(9)の“LexIndex”の結果とマージする“Merge”オペレーションを適用する「プラン候補3」とに分かれてプラン候補が作成される。
次に、サーバ1の性能分岐点検出部25の処理について説明する。ここで、図18は性能分岐点検出部25における処理の流れを示すフローチャートである。図18に示すように、性能分岐点検出部25は、性能分岐点検出手段として機能するものであって、プラン候補作成部24が挙げたプラン候補から、見積り精度が低いオペレーションに着目する(ステップS201)。次に、見積りの精度情報から見積りの最大値と最小値を取得し(ステップS202)、最小値と最大値における各プラン候補のトータルの見積り値を選択し(ステップS203)、得られたトータルの見積りで最小値、最大値のいずれかでトータルの見積り値が変化した場合、トータルの見積り値が逆転するオペレーションの閾値を計算する(ステップS204)。その後、閾値を最適なプラン候補が切り替わる点として記憶し、条件付プラン候補として、閾値により最適なプラン候補が変化する条件付ヒントを作成する(ステップS205)。
以上のステップS201〜S205の処理は、全てのオペレーションについて終了するまで(ステップS206のYes)、繰り返される。
全てのオペレーションについて、ステップS201〜S205の処理が終了すると(ステップS206のYes)、得られた条件付ヒントとプラン候補をクライアント3に送信する(ステップS207)。
ここで、図19は性能分岐点検出部25において生成される条件付ヒントとプラン候補の一例を示す模式図である。図19は、図17により得られたプラン候補に対して、性能分岐点検出処理を行った結果である。
図17の分岐の中で、見積り精度である信頼度が0.5以下の分岐点に着目し、それ以外の分岐は最初の見積り値が最も良いプランを残して削除する。図17では最初の分岐のみが残る。次に、ノード(9)のオペレーションの推定見積り範囲の最大と最小における見積りを計算する。次に、プラン候補1,2の最大値コストにおいて、トータルコストの大小が変化していることを確認する。次に、ノード(9)の見積り閾値を変数Xとし、プラン候補1とプラン候補2のトータルコストが逆転するXの値を計算する。図19では、ノード(9)の見積りが1650を境にプラン候補1,2のトータルコストが逆転している。性能分岐点検出部25は、この閾値を条件とするヒント文を作成し、クライアント3に送信する。
これにより、正確な見積りが困難であり、実際の値によって最適なプランが異なるような問合せクエリにおいて、データベース管理装置側が内部でそのような見積り値によって大きくプランが変更されるポイントを検出し、ユーザ側に挿入可能な条件ヒント付きで提示することによって、ユーザは性能が大きく変化するポイントを把握し、それに対して条件に応じて実行計画が変化するようなヒントを挿入することができる。
クライアント3の問合せクエリプラン表示編集部13は、サーバ1(データベース管理装置)から送られてきたプラン候補及び作成可能な条件付ヒントを表示部107に表示する(プラン表示手段)。図20に示すように、条件付ヒントAにおいては、各条件付プラン候補を選択する際の条件が、チェックボックスCB1を付されて表示されている。さらに、条件付ヒントAにおいては、条件の比較演算子と閾値欄が編集可能となった条件が、チェックボックスCB2を付された表示されている。なお、比較演算子及び閾値は、デフォルトとしてサーバ1(データベース管理装置)が計算した閾値が記述されている。
ここで、図21は問合せクエリプラン表示編集部13における処理の流れを示すフローチャートである。図21に示すように、まず、ユーザは、閾値によって選択するプランを変更したい場合は、チェックボックス内のいずれかのチェックボックスCB1またはCB2を入力部108を介してチェックする。これによりプラン候補または条件付ヒントが選択されたと判断すると(ステップS31のYes)、ステップS32に進む。なお、演算子や閾値をユーザ側が設定したい場合は、ユーザが比較演算子と閾値を記述した後、チェックボックスCB2を入力部108を介してチェックする。例えば、図20の状態から図22に示すようにユーザによって条件の比較演算子と閾値欄が編集可能となった条件に対応するチェックボックスCB2が入力部108を介して選択される。
続いて、問合せクエリプラン表示編集部13は、選択されたプラン候補または条件付ヒントに応じたヒントを各オペレーションに対応する解析木と解析木が記憶した問合せクエリの記述位置に基づいてヒント文に変換して問合せクエリテキスト部11内の問合せクエリに挿入し(ステップS32:クエリ再編集手段)、XQueryではヒント内で記述した名前空間を解決するための名前空間宣言を挿入する(ステップS33)。ここで、図23はヒント選択によるヒント文挿入例を示す模式図である。ここでは、問合せクエリプラン表示編集部13に表示されたプラン候補に対して、“$$(ここではノード(8)) < 1650"の条件のヒントのチェックボックスCB2を選択している。図23に示すように、チェックされたヒントを反映するために、問合せクエリテキスト部11内の問合せクエリにヒント文「(# if ($$ < 1650) then exq:index else exq:noindex #){})がノード(9)に該当する箇所を囲む形で挿入されている。また、先頭には、名前空間宣言が挿入されている。これにより、ユーザはノード(9)の条件式に対して条件付で索引を使用するかしないかを選択する意図をサーバ1(データベース管理装置)に伝えることが可能となる。
問合せクエリプラン表示編集部13は、このようにしてヒントを挿入された問合せクエリを生成すると、条件付プラン候補においてどのようなヒントが選択されたかというヒント情報をサーバ1(データベース管理装置)側に送信する。
なお、別の実施例としては、問合せクエリプラン表示編集部13は、ヒントが挿入された問合せクエリを再度サーバ1(データベース管理装置)側に送信するようにしても良い。
サーバ1(データベース管理装置)の条件付きプラン作成部26は、条件付きプラン作成手段として機能するものであり、クライアント3から送信された条件ヒント情報に基づいて、最終的にサーバ1で実行する条件付プラン候補を作成する。ここでは、実際に実行した際に得られた時点で、実行するオペレーションを変化させる条件付プランを生成する。条件付プランでは、条件が存在する点で分岐する実行プランを作成する。図24に図23の条件ヒント付きクエリにより作成したプランを例に挙げる。図24では、最初のオペレーション“LexIndex”の出力値に応じて2つのルートのプランを実行する形で作成されている。
なお、別の実施例として、サーバ1は、現在の見積り値と条件ヒント情報に基づいて1つのプランを作成しても良い。
最後に、サーバ1(データベース管理装置)の条件付きプラン実行部27は、条件付きプラン実行手段として機能するものであり、条件付プランに従って各オペレーションを実行していく。なお、次に実行するオペレーション候補が複数ない場合は、次のオペレーションを実行する。また、次に実行するオペレーション候補が複数存在する場合には、現時点で得られた実際の正確な情報に基づいて条件付候補オペレーションの内の1つが選択されて実行される。そして、残りの候補は無視される。このような処理を全ての条件分岐オペレーションで行い、最後のオペレーションが実行された時点で問合せクエリの実行結果が得られる。
図24では、最初のオペレーション“LexIndex”を実行し、結果が1650件未満なら左の分岐を選択肢し、ノード(5)の“ToUp”オペレーションを実行していく。一方、結果が1650件以上は、ノード(8)の“LexIndex“を実行していく。いずれの場合においても最も効率の良いプランを実行することが可能となる。
このように本実施の形態によれば、問合せクエリを問合せ言語の文法に従って構文解析した後、データベース管理装置にとって1つの処理単位となるノードによって構成される解析木を作成するとともに、解析木の各単位についてデータベース管理装置側が適用可能なヒント項目を検出し、解析木を木構造の形で表現し、各ノードに対して選択可能なヒントを提示する。これにより、問合せクエリをデータベース管理装置側の処理単位及びヒントの適用単位で構成される解析木として視覚的に把握することができるとともに、各ノードに対して適用可能なヒントが提示されるため、ユーザ側は容易に問合せクエリの単位を把握し、ヒントを柔軟に追加することができる。また、選択されたヒント項目をヒント文に変換して解析木が記憶した問合せクエリの記述位置に基づいて挿入して編集するので、ユーザはヒントを選択するだけでよく、実際にヒント文を問合せクエリに記述する必要がない。
一般に、ユーザがヒント文により意図する処理をデータベース管理装置に送る方法は、データベース管理装置が作成した実行計画を取得し、ユーザの意図と異なることを確認し、ユーザは自分の意図する動作手順をイメージし、そのイメージの意図を反映するためのヒントが存在するかを確認し、さらにそのヒントを挿入する位置を問合せクエリから探しだしてその場所に記述する必要がある。さらに、ある条件に従ってヒントの種類を変更したい場合は、その条件の記述場所や記述情報を見つけ出して記述する必要が存在する。
これに対し、本実施の形態によれば、ユーザはデータベース管理装置側が問合せクエリをデータベース管理装置側の処理単位及びヒントの適用単位で構成される解析木として視覚的に把握することができ、適用可能なヒントが提示されるため、選択可能なヒントを探し出す必要もなく、ヒントを記述する必要性も省略される。また、ユーザはヒントの種類などを考えることなく、自分の意図する動作手順を解析木に対してマウス等によって指定することで、自動的にユーザの意図を反映するヒントを挿入することが可能となる。この場合、ユーザはヒントの知識を一切必要とせずに自分の意図した動作をデータベース管理装置に送ることが可能となる。さらに、正確な見積りが困難であり、実際の値によって最適なプランが異なるような問合せクエリにおいて、データベース管理装置側が内部でそのような見積り値によって大きくプランが変更されるポイントを検出しユーザ側に挿入可能な条件ヒント付きで提示することによって、ユーザは性能が大きく変化するポイントを把握し、それに対して条件に応じて実行計画が変化するようなヒントを挿入することが可能となる。
本発明の実施の一形態にかかるデータベース検索システムのシステム構築例を示す模式図である。 サーバおよびクライアントのモジュール構成図である。 データベース検索システムの機能構成を示す構成図である。 XMLデータに対する問合せ言語XQueryで記述されたクエリを例示的に示す模式図である。 構文解析木を例示的に示す模式図である。 再構築した解析木を示す模式図である。 解析木のノードと適用可能なヒントの組合せの一例を示す模式図である。 解析木と選択可能なヒントの表示例を示す正面図である。 問合せクエリ解析木表示編集部における処理の流れを示すフローチャートである。 チェックボックスが選択された状態を示す正面図である。 ヒント選択によるヒント文挿入例を示す模式図である。 問合せクエリ解析木表示編集部における処理の流れを示すフローチャートである。 解析木の各ノードから別のノードへカーソルを移動させた状態を示す正面図である。 問合せクエリの動作順序指定に基づくヒント選択によるヒント文挿入例を示す模式図である。 プラン候補作成部における処理の流れを示すフローチャートである。 解析木のノードと適用可能なオペレーションとの関係を例示的に示す模式図である。 プラン候補作成部で作成されるプラン候補の一例を示す模式図である。 性能分岐点検出部における処理の流れを示すフローチャートである。 性能分岐点検出部において生成される条件付ヒントとプラン候補の一例を示す模式図である。 プラン候補及び作成可能な条件付ヒントの表示例を示す正面図である。 問合せクエリプラン表示編集部における処理の流れを示すフローチャートである。 チェックボックスが選択された状態を示す正面図である。 ヒント選択によるヒント文挿入例を示す模式図である。 図23の条件ヒント付きクエリにより作成したプランを示す模式図である。
符号の説明
1 データベース管理装置
3 問合せ装置
12 解析木表示手段
13 プラン表示手段
21 構文解析手段
22 解析木作成手段
23 ヒント検出手段
24 プラン候補作成手段
25 性能分岐点検出手段
26 条件付きプラン作成手段
27 条件付きプラン実行手段

Claims (9)

  1. データベース管理装置で管理しているデータベースに対して問合せ装置からの問合せクエリに従って問合せ処理を実施するデータベース検索システムにおいて、
    前記問合せ装置からの前記問合せクエリを問合せ言語の文法に従って構文解析する構文解析手段と、
    この構文解析手段による構文解析の結果に基づいて前記データベース管理装置の1つの処理単位となるノードによって構成される解析木を作成する解析木作成手段と、
    この解析木作成手段が作成した前記解析木の各単位について、前記データベース管理装置側が適用可能なユーザの意図を反映させるヒント項目を検出するヒント検出手段と、
    前記解析木作成手段が作成した前記問合せクエリの解析木を前記問合せ装置に表示するとともに、前記解析木の各単位に適用可能なヒント項目についても選択可能な形式で表示する解析木表示手段と、
    この解析木表示手段により表示されている前記ヒント項目が前記問合せ装置によって選択されたか否かを判断するヒント選択判断手段と、
    このヒント選択判断手段により前記ヒント項目が選択されたと判断した場合、選択された前記ヒント項目をヒント文に変換して前記解析木が記憶した前記問合せクエリの記述位置に基づいて挿入して編集するクエリ編集手段と、
    を備え、
    前記クエリ編集手段により編集された前記問合せクエリに従って問合せ処理を実施する、
    ことを特徴とするデータベース検索システム。
  2. 前記ヒント選択判断手段は、前記解析木表示手段により表示されている前記解析木の前記ノードが順に指定された場合には、指定された前記各ノードに対応する前記ヒント項目が選択されたと判断し、
    前記クエリ編集手段は、前記解析木の前記ノードの指定順を実現する前記ヒント項目をヒント文に変換する、
    ことを特徴とする請求項1記載のデータベース検索システム。
  3. 前記クエリ編集手段により編集された前記ヒント項目の制約の元で前記解析木から前記問合せクエリに対する実行計画の候補である複数のプラン候補を作成するプラン候補作成手段と、
    このプラン候補作成手段により作成された複数の前記プラン候補を選択可能な形式で表示するプラン表示手段と、
    前記プラン候補が選択されたと判断した場合、選択された前記プラン候補をヒント文に変換して前記解析木が記憶した前記問合せクエリの記述位置に基づいて挿入して編集するクエリ再編集手段と、
    を備えることを特徴とする請求項1または2記載のデータベース検索システム。
  4. 前記クエリ編集手段により編集された前記ヒント項目の制約の元で前記解析木から前記問合せクエリに対する実行計画の候補である複数のプラン候補を作成するプラン候補作成手段と、
    このプラン候補作成手段により作成された複数の前記プラン候補から最適な前記プラン候補を切り替えることが可能な条件付ヒントを作成する性能分岐点検出手段と、
    前記プラン候補作成手段により作成された複数の前記プラン候補と前記性能分岐点検出手段により作成された前記条件付ヒントとを選択可能な形式で表示するプラン表示手段と、
    前記プラン候補または前記条件付ヒントが選択されたと判断した場合、選択された前記プラン候補または前記条件付ヒントをヒント文に変換して前記解析木が記憶した前記問合せクエリの記述位置に基づいて挿入して編集するクエリ再編集手段と、
    このクエリ再編集手段により編集された前記条件付ヒントに基づいて前記データベース管理装置で実行する条件付きプランを作成する条件付きプラン作成手段と、
    この条件付きプラン作成手段により作成された前記条件付プランに従って各オペレーションを実行し、前記問合せクエリの実行結果を得る条件付きプラン実行手段と、
    を備えることを特徴とする請求項1または2記載のデータベース検索システム。
  5. 前記性能分岐点検出手段は、前記解析木から問合せ処理をするプランを構成するオペレーション列を作成する際に、前記各オペレーションに入力されるデータ数の見積り及びその予測精度から見積りの誤差範囲を決定し、見積り誤差範囲内で入力の値を変化することにより得られるプランの候補とそのときの入力の境界値を見つけ出す、
    ことを特徴とする請求項4記載のデータベース検索システム。
  6. 前記解析木表示手段は、前記解析木を木構造として表現し、前記問合せクエリ内の記述部分と前記解析木の各節とが対応付けられている、
    ことを特徴とする請求項1ないし5のいずれか一記載のデータベース検索システム。
  7. データベース管理装置で管理しているデータベースに対して問合せ装置からの問合せクエリに従って問合せ処理を実施するデータベース検索方法において、
    前記問合せ装置からの前記問合せクエリを問合せ言語の文法に従って構文解析する構文解析工程と、
    この構文解析工程による構文解析の結果に基づいて前記データベース管理装置の1つの処理単位となるノードによって構成される解析木を作成する解析木作成工程と、
    この解析木作成工程が作成した前記解析木の各単位について、前記データベース管理装置側が適用可能なユーザの意図を反映させるヒント項目を検出するヒント検出工程と、
    前記解析木作成工程が作成した前記問合せクエリの解析木を前記問合せ装置に表示するとともに、前記解析木の各単位に適用可能なヒント項目についても選択可能な形式で表示する解析木表示工程と、
    この解析木表示工程により表示されている前記ヒント項目が前記問合せ装置によって選択されたか否かを判断するヒント選択判断工程と、
    このヒント選択判断工程により前記ヒント項目が選択されたと判断した場合、選択された前記ヒント項目をヒント文に変換して前記解析木が記憶した前記問合せクエリの記述位置に基づいて挿入して編集するクエリ編集工程と、
    を含み、
    前記クエリ編集工程により編集された前記問合せクエリに従って問合せ処理を実施する、
    ことを特徴とするデータベース検索方法。
  8. 前記クエリ編集工程により編集された前記ヒント項目の制約の元で前記解析木から前記問合せクエリに対する実行計画の候補である複数のプラン候補を作成するプラン候補作成工程と、
    このプラン候補作成工程により作成された複数の前記プラン候補を選択可能な形式で表示するプラン表示工程と、
    前記プラン候補が選択されたと判断した場合、選択された前記プラン候補をヒント文に変換して前記解析木が記憶した前記問合せクエリの記述位置に基づいて挿入して編集するクエリ再編集工程と、
    を含むことを特徴とする請求項7記載のデータベース検索方法。
  9. 前記クエリ編集工程により編集された前記ヒント項目の制約の元で前記解析木から前記問合せクエリに対する実行計画の候補である複数のプラン候補を作成するプラン候補作成工程と、
    このプラン候補作成工程により作成された複数の前記プラン候補から最適な前記プラン候補を切り替えることが可能な条件付ヒントを作成する性能分岐点検出工程と、
    前記プラン候補作成工程により作成された複数の前記プラン候補と前記性能分岐点検出工程により作成された前記条件付ヒントとを選択可能な形式で表示するプラン表示工程と、
    前記プラン候補または前記条件付ヒントが選択されたと判断した場合、選択された前記プラン候補または前記条件付ヒントをヒント文に変換して前記解析木が記憶した前記問合せクエリの記述位置に基づいて挿入して編集するクエリ再編集工程と、
    このクエリ再編集工程により編集された前記条件付ヒントに基づいて前記データベース管理装置で実行する条件付きプランを作成する条件付きプラン作成工程と、
    この条件付きプラン作成工程により作成された前記条件付プランに従って各オペレーションを実行し、前記問合せクエリの実行結果を得る条件付きプラン実行工程と、
    を含むことを特徴とする請求項7記載のデータベース検索方法。
JP2006263549A 2006-09-27 2006-09-27 データベース検索システムおよびデータベース検索方法 Abandoned JP2008084028A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006263549A JP2008084028A (ja) 2006-09-27 2006-09-27 データベース検索システムおよびデータベース検索方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006263549A JP2008084028A (ja) 2006-09-27 2006-09-27 データベース検索システムおよびデータベース検索方法

Publications (1)

Publication Number Publication Date
JP2008084028A true JP2008084028A (ja) 2008-04-10

Family

ID=39354841

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006263549A Abandoned JP2008084028A (ja) 2006-09-27 2006-09-27 データベース検索システムおよびデータベース検索方法

Country Status (1)

Country Link
JP (1) JP2008084028A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010231332A (ja) * 2009-03-26 2010-10-14 Nec Corp 情報処理システム、アクセスパス決定方法及びアクセスパス決定プログラム
JP2011076426A (ja) * 2009-09-30 2011-04-14 Internatl Business Mach Corp <Ibm> 所定のソフトウェアの実行パラメータを入力フィールドへ入力することを支援するための方法、システム、およびプログラム
JP5620617B1 (ja) * 2014-05-28 2014-11-05 楽天株式会社 情報処理システム、端末、サーバ、情報処理方法、記録媒体、ならびに、プログラム
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
US11308161B2 (en) 2015-02-18 2022-04-19 Ab Initio Technology Llc Querying a data source on a network
US11593369B2 (en) 2010-01-15 2023-02-28 Ab Initio Technology Llc Managing data queries

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010231332A (ja) * 2009-03-26 2010-10-14 Nec Corp 情報処理システム、アクセスパス決定方法及びアクセスパス決定プログラム
JP2011076426A (ja) * 2009-09-30 2011-04-14 Internatl Business Mach Corp <Ibm> 所定のソフトウェアの実行パラメータを入力フィールドへ入力することを支援するための方法、システム、およびプログラム
US11593369B2 (en) 2010-01-15 2023-02-28 Ab Initio Technology Llc Managing data queries
JP5620617B1 (ja) * 2014-05-28 2014-11-05 楽天株式会社 情報処理システム、端末、サーバ、情報処理方法、記録媒体、ならびに、プログラム
WO2015181909A1 (ja) * 2014-05-28 2015-12-03 楽天株式会社 情報処理システム、端末、サーバ、情報処理方法、記録媒体、ならびに、プログラム
US11308161B2 (en) 2015-02-18 2022-04-19 Ab Initio Technology Llc Querying a data source on a network
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

Similar Documents

Publication Publication Date Title
US10452768B2 (en) Managing source annotation metadata
KR101013233B1 (ko) 의미적 그리고 기능적 관계에 따라 포털 페이지상의포틀릿의 자동적 배치를 위한 시스템
US8464216B2 (en) Providing assistance for editing markup document based on inferred grammar
US20170004173A1 (en) Real-time monitoring and analysis of query execution
JP5125662B2 (ja) クエリ変換方法および検索装置
JP2008084028A (ja) データベース検索システムおよびデータベース検索方法
JP4343206B2 (ja) 構造化文書検索支援装置およびプログラム
US6915487B2 (en) Method, system, computer program product, and article of manufacture for construction of a computer application interface for consumption by a connector builder
JP4825712B2 (ja) クエリ処理装置、プログラムおよびクエリ処理方法
JP2012113706A (ja) データベース・クエリ最適化のためのコンピュータで実装される方法、コンピュータ・プログラム、およびデータ処理システム
US7530075B2 (en) System and method for employing object-based pipelines
US9021417B2 (en) Generating a subset model from a model
JP5106062B2 (ja) ファイル検索方法、ファイル検索装置、検索システム、及び、ファイル検索プログラム
CA2281346A1 (en) Method and apparatus for amplifying design information into software products
JP5385919B2 (ja) データ構造のナビゲーションのための方法、システム、およびコンピュータ・プログラム(データ構造のナビゲーションのための方法およびシステム)
JP3163141B2 (ja) リレーショナルデータベース処理装置および処理方法
JP2009211599A (ja) マッピング定義作成システムおよびマッピング定義作成プログラム
US7805424B2 (en) Querying nested documents embedded in compound XML documents
JP4906424B2 (ja) Webサービス設計方法及び装置
JP2008243075A (ja) 構造化文書管理装置及び方法
JP4013632B2 (ja) Xmlフォーマットデータ重複排除方法及び装置及びプログラム及びコンピュータ読み取り可能な記録媒体
JP5359446B2 (ja) 情報処理システム、アクセスパス決定方法及びアクセスパス決定プログラム
Byelas et al. Introducing Data Provenance and Error Handling for NGS Workflows within the MOLGENIS Computational Framework.
JP2000322295A (ja) データベースストアドサブプログラム用プログラミング支援方法ならびに装置
KR100319773B1 (ko) 항해기반 데이터세트에서의 커서 제어방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080926

A762 Written abandonment of application

Free format text: JAPANESE INTERMEDIATE CODE: A762

Effective date: 20100202