JPH10232875A - データベース管理方法および並列データベース管理システム - Google Patents

データベース管理方法および並列データベース管理システム

Info

Publication number
JPH10232875A
JPH10232875A JP9035021A JP3502197A JPH10232875A JP H10232875 A JPH10232875 A JP H10232875A JP 9035021 A JP9035021 A JP 9035021A JP 3502197 A JP3502197 A JP 3502197A JP H10232875 A JPH10232875 A JP H10232875A
Authority
JP
Japan
Prior art keywords
execution
server
request
input information
parameter
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.)
Pending
Application number
JP9035021A
Other languages
English (en)
Inventor
Taka Kobayashi
挙 小林
Yoichi Yamamoto
洋一 山本
Masashi Tsuchida
正士 土田
Yukio Nakano
幸生 中野
Norihiro Hara
憲宏 原
Yoshito Kameshiro
嘉人 亀城
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP9035021A priority Critical patent/JPH10232875A/ja
Priority to US09/025,245 priority patent/US5983228A/en
Publication of JPH10232875A publication Critical patent/JPH10232875A/ja
Priority to US09/429,440 priority patent/US6212516B1/en
Priority to US09/776,891 priority patent/US6694312B2/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2291User-Defined Types; Storage management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24532Query optimisation of parallel queries
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99932Access augmentation or optimizing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99934Query formulation, input preparation, or translation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99938Concurrency, e.g. lock management in shared database
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface

Landscapes

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

Abstract

(57)【要約】 【課題】 システム性能を向上させる。 【解決手段】 要求受付サーバ105上で組込みモジュ
ール117を実行することによって実行時入力情報11
2を取得し、それを複数の実行サーバ106上の実行時
入力情報124に複写し、その実行時入力情報124を
利用して複数の実行サーバ106は組込みモジュール1
25を実行する。 【効果】 入力情報を取得する処理の重複や集中を防止
でき、システム性能を向上できる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、システム性能を向
上することが出来るデータベース管理方法および並列デ
ータベース管理システムに関する。
【0002】
【従来の技術】図10に、従来のデータベースシステム
の一例の構成概念図を示す。このデータベースシステム
1000は、SGML(Standard Generalized Markup
Language;標準一般化マーク付け言語)文書を管理する
ためのシステムであり、データベース管理システム11
02と、記憶装置1126および1128とを具備して
いる。
【0003】前記データベース管理システム1102
は、ユーザ問合せ104を受け付ける要求受付サーバ1
105と、その要求受付サーバ1105からの指示に従
ってデータベース処理を実行する複数の実行サーバ11
06と、システムの定義情報を管理するディクショナリ
サーバ1107と、これらのサーバ1105,110
6,1107を接続する通信路108とを具備してい
る。
【0004】SGML文書の例として次の定義を用い
る。 なお、上記の例は、SQL3(Structured Query Langu
age;構造化問合せ言語)によって記述されている。
【0005】ユーザは、SGMLで記述されたデータ
(以下、SGMLテキストと略す)をADT型(Abstru
ct Data Type;抽象データ型)の sgmltext_t 型を用い
て管理する。この sgmltext_t 型は、BLOB(Binary
Large Object )型の text を構成要素とする。
【0006】また、ユーザのデータベースモデルにおけ
る「報告書」に対応するデータの構造をテーブルreport
s を用いて表わす。さらに、「報告書」が「発行日」と
「報告内容」とを構成要素とすることに対応させて、テ
ーブルreports がDATE型のカラムpublished_date
と sgmltext_t 型のカラムcontents からなるように定
義する。大量のSGML文書を並列に処理できるよう
に、テーブルreports のレコードおよびSGMLテキス
トは、実行サーバ1106がアクセスする記憶装置11
26に保持されている。なお、「報告書」を「発行日」
による条件で高速検索できるように、実行サーバ110
6が提供する一般的なインデクス機能を用いて、テーブ
ルreports のカラムpublished_date にインデクスを設
定する。
【0007】ADT関数extract() は、SGMLテキス
トの中からタグで区切られるテキストデータを抽出する
関数であり、SGMLテキストおよび抽出する部分を指
定するタグ名を入力情報とし、sgmltext_tの型を持つデ
ータに対して適用でき、C言語で記述された外部関数p_
sgml_extract に関連付けられている。
【0008】外部関数p_sgml_extract()は、前記ADT
関数extract() を実現する関数として定義されている。
前記実行サーバ1106には、SGML文書データ管理
機能を実現するための組込みモジュール1125が組み
込まれている。この組込みモジュール1125には、前
記外部関数p_sgml_extract()を実現するためのコード1
001が含まれている。
【0009】前記ディクショナリサーバ1107がアク
セスする記憶装置128には、抽出パラメタ1002が
保持されている。この抽出パラメタ1002は、指定さ
れたタグで区切られるテキストデータをSGML文書か
ら抽出するために用いられる制御情報である。また、抽
出パラメタは、抽出したテキストデータをSGML文書
として構造化するための構造情報を含んでおり、抽出結
果を作成するためには不可欠な情報である。抽出パラメ
タは、SGML文書構造に基づいており、同一のSGM
L文書構造を有するSGMLテキストに対して共通に利
用する。「報告書」での「報告内容」の形式すなわち文
書構造を固定とするように、SGML文書構造は、SG
MLテキストを保持するカラムによって固定とする。こ
れに従って、抽出パラメタ1002は、処理対象のSG
MLテキストを保持しているカラムによって固定とす
る。そこで、テーブル名とカラム名から抽出パラメタ1
002を取得できるように、ディクショナリサーバ11
07の機能を用いて抽出パラメタ1002を一元管理す
る。
【0010】抽出処理は次の手順で行なう。 (1)ディクショナリサーバ1107にアクセスし、操作
対象のSGMLテキストを保持しているテーブル名とカ
ラム名をもとに抽出パラメタを取得する。 (2)上記の(1)で取得した抽出パラメタを利用して抽出
処理を行なう。 上記の手順(1)(2)の実行制御は、組込みモジュール1
125が行なう。
【0011】次に、検索処理について説明する。検索要
求「発行日が1996年10月15日より最近の報告書
のアブストラクト部分を抽出せよ」は、次のように記述
する。 SELECT extract(contents, 'abstract') FROM reports WHERE published_date > '1996-10-15' なお、上記の例は、SQL3によって記述されている。
【0012】上記検索要求に見合うデータベース処理
は、次のような手順で行なう。 (1)カラムpublished_date に設定されたインデクスを
用いて、WHERE句の条件を満たすレコードの集合をテー
ブルreports から取得する。 (2)上記の(1)で得られたレコードの集合を基にSGM
Lテキストを逐次取り出し、ADT関数extract() を実
現する外部関数p_sgml_extract()をコールして、アブス
トラクト部分を抽出する。
【0013】上記の(2)でSGMLテキストを逐次取り
出してアブストラクト部分を抽出する処理については、
並列処理機能を有効に利用して高速に処理すること及び
要求受付サーバ1105に検索結果をまとめるときのデ
ータ転送量を少なくすることを考慮して、実行サーバ1
106で行なう。すなわち、実行サーバ1106では、
アブストラクト部分を抽出するために外部関数p_sgml_e
xtract()をコールし、組込みモジュール1125に実行
制御を渡す。実行制御が渡された組込みモジュール11
25は、ディクショナリサーバ1107にアクセスして
抽出パラメタを取得する。そして、その抽出パラメタを
利用して抽出処理を行なう。
【0014】なお、データベース管理システム(DBM
S)に関する他の従来技術として次のものがある。 (1)並列データベース処理 例えば、特開平8−137910号公報に記載されてい
るように、ユーザの問い合わせを処理プロセッサが受け
付け、複数のデータベースエンジンプロセッサで最適に
負荷が分散されるようにDBMSが実行制御を行なう。 (2)SQL3 SQL3は、国際標準化機構ISOが標準化をすすめて
いるデータベース言語仕様の草案であり、例えば「"Inf
ormation technology - Database languages -SQL - Pa
rt 2: SQL/Foundation"ISO/IEC JTC1/SC21 N10489」に
記載されている。
【0015】(3)オブジェクト・リレーショナルDBM
S オブジェクト指向の概念を取り入れたリレーショナルD
BMSである。例えば「オブジェクトリレーショナルD
BMSs,Michael Stonebraker著,大田佳伸訳,イン
ターナショナル・トムソン・パブリッシング・ジャパン
1996年8月」に記載されており、SQL3のADT
およびADT関数に対応付けることができるユーザ定義
型およびユーザ定義関数を使用可能にすべきであること
が述べられている。次の例は、ユーザ定義の複合型phon
e_t の定義文である。 上記の例は、複合型phone_t が、 area という名前で参
照される3バイト以下の可変文字列型の要素と、 numbe
r という名前で参照される7バイト以下の可変文字列型
の要素と、description という名前で参照される20バ
イト以下の可変文字列型の要素の3つの要素から構成さ
れることを示している。次の例は、ユーザ定義関数Nort
hness_equal() の定義文である。 create function Northness_equal (point, point) returns Boolean with selfunc = selectivity_comp external name '/usr/Northness_equal' language C; 上の例は、ユーザ定義関数Northness_equal() が、C言
語で記述された外部関数 /usr/Northness_equal に関連
付けられていることを示している。
【0016】(4)関数定義の指定 例えば「共通オブジェクトリクエスト・ブローカ 〜構
造と仕様〜,オブジェクトマネジメントグループ編著,
相磯秀夫監訳,社団法人 日本オフィスオートメーショ
ン協会,原本 "The Common Object Request Broker:Arc
hitecture andSpecification" OMG Document Number 9
1.12.1, Revision 1.1」に記述されているようなIDL
(Interface Definition Language;インタフェイス定義
言語)を用いる関数定義の指定方法がある。この方法で
は、CORBAと呼ばれるソフトウエアアーキテクチャ
において、モジュール間のインタフェイスをIDLによ
って定義する。そのインタフェイスをC言語などのプロ
グラミング言語に対応付け、スタブと呼ばれる接続用の
モジュールを生成する。このスタブモジュールを介する
ことによって、柔軟なモジュール間通信を可能としてい
る。
【0017】
【発明が解決しようとする課題】前記従来のデータベー
スシステム1000では、次のような問題がある。すな
わち、前記検索要求に見合うデータベース処理では、並
列処理する複数の実行サーバ1106上の組込みモジュ
ール125の全てから1つのディクショナリサーバ11
07に対するアクセスが発生し、ディクショナリサーバ
1107で抽出パラメタを取り出す処理を集中して行な
うことになる。このため、ディクショナリサーバ110
7の負荷が一時的に過大となり、ディクショナリサーバ
1107の処理性能がネックとなって、システム性能が
低下してしまう。そこで、本発明の第1の目的は、上記
の問題を解消し、システム性能を向上させることが出来
るデータベース管理方法および並列データベース管理シ
ステムを提供することにある。
【0018】また、前記IDLの仕様では、組込みモジ
ュールの実行制御を行なうことを直接指定することがで
きない問題がある。そこで、本発明の第2の目的は、組
込みモジュールの実行制御を行なうことを直接指定可能
するデータベース管理方法を提供することにある。
【0019】
【課題を解決するための手段】第1の観点では、本発明
は、ユーザからの要求を受け付けてその要求に見合うデ
ータベース処理の実行手順を指示する実行手順コードを
作成する要求受付サーバと前記実行手順コードに従って
前記データベース処理を並列に実行する複数の実行サー
バとを有し、ユーザによって組み込まれる組込みモジュ
ールを実行する機能を前記要求受付サーバと前記実行サ
ーバとが有する並列データベース管理システムにおい
て、前記実行サーバ上で組込みモジュールを実行する際
に必要な入力情報を前記要求受付サーバが取得すべきこ
とを認識する解析過程と、前記認識に従って前記要求受
付サーバ上で入力情報取得用の組込みモジュールを実行
して前記入力情報を取得する取得過程と、前記入力情報
を渡す指示を含ませるように前記実行手順コードを編集
する設定過程とを含むデータベース実行制御を行なうこ
とを特徴とするデータベース管理方法を提供する。上記
第1の観点によるデータベース管理方法では、複数の実
行サーバ上の組込みモジュールが必要とする入力情報の
うちで、いずれの実行サーバでも同一のものは、それぞ
れの実行サーバが取得するのではなく、要求受付サーバ
が取得し、それをそれぞれの実行サーバが利用する。こ
のため、入力情報を取得する処理の重複や集中がなくな
り、システム性能の低下を防止できる。
【0020】第2の観点では、本発明は、上記構成のデ
ータベース管理方法において、組込みモジュールのイン
タフェイス仕様の記述をもとに組込みモジュールの実行
制御を行なうことを特徴とするデータベース管理方法を
提供する。上記第2の観点によるデータベース管理方法
では、組込みモジュールの実行制御をインタフェイス仕
様の記述をもとに行うが、このインタフェイス仕様の記
述をユーザが行えるから、結局、組込みモジュールの実
行制御を行なうことをユーザが直接指定できることとな
る。そして、インタフェイス仕様の記述に、ユーザによ
る組込みモジュールの機能呼び出しで渡される入力情報
以外の付加的な入力情報を当該組込みモジュールの実行
のために渡す指示または実行サーバ上で組込みモジュー
ルを実行する際に必要な入力情報を要求受付サーバが取
得すべきことの指示の少なくとも一方を含ませれば、前
記第1の観点によるデータベース管理方法を好適に実施
できる。
【0021】第3の観点では、本発明は、上記構成のデ
ータベース管理方法において、ユーザによる組込みモジ
ュールの機能呼び出しで渡される入力情報以外の付加的
な入力情報を当該組込みモジュールの実行のために渡す
指示を当該組込みモジュールのインタフェイス仕様の記
述に含み得ることを特徴とするデータベース管理方法を
提供する。上記第3の観点によるデータベース管理方法
では、組込みモジュールの実行制御のもととなるインタ
フェイス仕様の記述に、ユーザによる組込みモジュール
の機能呼び出しで渡される入力情報以外の付加的な入力
情報を当該組込みモジュールの実行のために渡す指示を
含ませるから、前記第1の観点によるデータベース管理
方法を好適に実施できる。
【0022】第4の観点では、本発明は、上記構成のデ
ータベース管理方法において、前記実行サーバ上で組込
みモジュールを実行する際に必要な入力情報を前記要求
受付サーバが入力情報取得用の組込みモジュールを実行
して取得すべきことを示す指示を前記実行サーバ上で実
行する組込みモジュールまたは前記入力情報取得用の組
込みモジュールの少なくとも一方のインタフェイス仕様
の記述に含み得ることを特徴とするデータベース管理方
法を提供する。
【0023】上記第4の観点によるデータベース管理方
法では、組込みモジュールの実行制御のもととなるイン
タフェイス仕様の記述に、実行サーバ上で組込みモジュ
ールを実行する際に必要な入力情報を要求受付サーバが
取得すべきことの指示を含ませるから、前記第1の観点
によるデータベース管理方法を好適に実施できる。
【0024】第5の観点では、本発明は、ユーザからの
要求を受け付ける要求受付サーバとその要求受付サーバ
の指示に従ってユーザからの要求に見合うデータベース
処理を並列に実行する複数の実行サーバとを有する並列
データベース管理システムにおいて、前記要求受付サー
バが入力情報取得用の組込みモジュールを実行して入力
情報を取得し、前記実行サーバが前記入力情報を用いて
組込みモジュールを実行することを特徴とする並列デー
タベース管理システムを提供する。上記第5の観点によ
るデータベース管理システムでは、複数の実行サーバ上
の組込みモジュールが必要とする入力情報のうちで、い
ずれの実行サーバでも同一のものは、それぞれの実行サ
ーバが取得するのではなく、要求受付サーバが取得し、
それをそれぞれの実行サーバが利用する。このため、入
力情報を取得する処理の重複や集中がなくなり、システ
ム性能の低下を防止できる。
【0025】
【発明の実施の形態】以下、図を用いて本発明の実施の
一形態を詳細に説明する。図1は、本発明にかかるデー
タベースシステムの構成図である。このデータベースシ
ステム100は、データベースを利用するアプリケーシ
ョンプログラム101と、データベース管理システム1
02と、記憶装置126,128および140とを具備
している。
【0026】前記アプリケーションプログラム101
は、一般的なデータベースシステムの運用で行われてい
るように、以下の手順にて作成される。 (1)ユーザがデータベース言語(この例ではSQL3と
する)によって問合せ文記述する。 (2)上記の(1)の記述を入力とし、データベース管理シ
ステム102が提供するアプリケーションプログラム作
成ツールを用いて、問合せ処理を要求するプログラムの
ソースコードを生成する。 (3)上記の(2)のソースコードを適当なプログラミング
言語コンパイラでコンパイルし、アプリケーションプロ
グラム101を得る。
【0027】前記アプリケーションプログラム101
は、データベース管理システム102が提供する問合せ
処理要求関数103をコールする。この問合せ処理要求
関数103をコールするときに、ユーザ問合せ104を
入力とする。そして、問合せ要求関数103は、データ
ベース管理システム102(の要求受付サーバ105の
問合せ処理制御部109)に、ユーザの問合せを伝え
る。
【0028】前記データベース管理システム102は、
前記アプリケーションプログラム101からの要求を受
け付ける要求受付サーバ105と、ユーザからの要求に
見合うデータベース処理を並列に実行する複数の実行サ
ーバ106と、システムの定義情報を管理するディクシ
ョナリサーバ107と、これらのサーバ105,10
6,107を接続する通信路108と、組込みモジュー
ル定義登録ツール132とを具備している。
【0029】前記要求受付サーバ105は、前記アプリ
ケーションプログラム101からの要求を受け付けて当
該要求に見合う処理の実行制御を行なう問合せ処理制御
部109と、受け付けた問合せ処理要求を解析する問合
せ解析部110と、問合せ解析部110の解析結果をも
とにしてユーザの要求に見合ったデータベース処理の実
行手順を指示する実行手順コード111および実行サー
バ106で処理を実行するときに入力情報として渡す実
行時入力情報112を実行用ワークエリア113に作成
する実行手順コード作成部114と、前記実行手順コー
ド111および前記実行時入力情報112をもとに実行
サーバ106にデータベース処理を行なうように指示す
る実行指示部115と、入力情報取得用の組込みモジュ
ール117と、前記実行指示部115の指示に応じて実
行サーバ106が返却する処理結果を保持する実行結果
保持部118とを具備している。
【0030】前記実行指示部115は、組込みモジュー
ル117を実行して前記実行時入力情報112を取得す
る処理の制御を行なうパラメタバインド制御部116を
含んでいる。なお、パラメタバインド制御部116によ
って組込みモジュール117を実行して前記実行時入力
情報112を決定することを「パラメタバインド」と呼
ぶ。前記組込みモジュール117は、このパラメタバイ
ンドを行なうコードを保持している。
【0031】前記組込みモジュール定義登録ツール13
2は、組込みモジュール117,125のインタフェイ
ス仕様を記述するための組込みモジュールインタフェイ
ス定義言語を提供し、この組込みモジュールインタフェ
イス定義言語によって記述された組込みモジュール仕様
記述131を解析し、その解析結果をもとに組込みモジ
ュール定義情報130をディクショナリサーバ107に
登録する。
【0032】前記実行サーバ106は、前記要求受付サ
ーバ105の実行指示部115からの指示を受信しその
指示に従った処理を行なうように制御する実行制御部1
19と、前記要求受付サーバ105の実行指示部115
から送信される実行手順コード111および実行時入力
情報112を実行手順コード123および実行時入力情
報124として保持するための実行用ワークエリア12
0と、前記記憶装置126に格納しているデータベース
ファイル121への入出力および実行サーバ106上で
のデータの取り扱いを管理するためのデータアクセス管
理部122と、実行サーバ106において実行する外部
関数からなる組込みモジュール125とを具備してい
る。
【0033】前記ディクショナリサーバ107は、デー
タベースシステム100に関する定義情報を管理する定
義情報管理部127を具備している。前記定義情報は、
記憶装置128に格納されており、ユーザ定義関数情報
129と組込みモジュール定義情報130とからなる。
これらユーザ定義関数情報129および組込みモジュー
ル定義情報130の詳細については、後で図4を参照し
て説明する。
【0034】このデータベースシステム100における
ユーザの問合せは、次の手順で処理される。 (1)アプリケーションプログラム101からの要求を要
求受付サーバ105が受け付ける。 (2)要求受付サーバ105が要求に見合った処理を実行
サーバ106に指示する。 (3)実行サーバ106が要求に見合った処理を実行し、
実行結果を要求受付サーバ105の実行結果保持部11
8に通信路108を介して直接送信する。これにより処
理結果が要求受付サーバ105の実行結果保持部118
に保持される。
【0035】(4)アプリケーションプログラム101か
らの処理結果取り出しの要求を要求受付サーバ105が
受け付ける。 (5)要求受付サーバ105が、実行結果保持部118で
保持している実行結果をアプリケーションプログラム1
01に返す。
【0036】図2は、問合せ処理制御部109がアプリ
ケーションプログラム101からの問合せ要求に応じて
行なう問合せ処理の流れ図である。この問合せ処理の入
力はユーザ問合せ104であり、出力および処理結果は
実行結果保持部118に実行結果を保持させることであ
る。ステップ201では、問合せ処理制御部109は、
問合せ解析部110を用いてユーザ問合せ104を解析
する。この解析の結果、実行手順コードパターン選定結
果を取得する。このステップ201の問合せ解析処理の
詳細については、後で図3を参照して説明する。ステッ
プ202では、問合せ処理制御部109は、前記ステッ
プ201で取得した実行手順コードパターン選定結果を
基に実行手順コード作成部114を用いて実行手順コー
ド111を作成する。この実行手順コード111の詳細
については、後で図5を参照して説明する。また、この
ステップ202の実行コード作成処理の詳細について
は、後で図6を参照して説明する。ステップ203で
は、問合せ処理制御部109は、前記ステップ202で
取得した実行手順コード111を基に実行指示部115
を用いて実行サーバ106にユーザの要求に見合った処
理を行なうように指示する。そして、処理を終了する。
このステップ203の実行指示処理の詳細については、
後で図7を参照して説明する。
【0037】図3は、前記ステップ201の問合せ解析
処理を示す流れ図である。この問合せ解析処理(20
1)の入力はユーザ問合せ104であり、出力および処
理結果は実行手順コードパターン選定結果とパラメタバ
インド指示情報リストである。ステップ301では、問
合せ解析部110は、ユーザ問合せ104の構文解析お
よび意味解析を行なう。すなわち、ユーザ問合せ104
の中でADT関数がコールされているか,どんな型のデ
ータを操作対象としているか等が解析される。このステ
ップ301の処理は、一般的なSQLの構文解析および
意味解析の手法をもとにSQL3の記述に対応するよう
拡張した形態でよい。ステップ302では、問合せ解析
部110は、前記ステップ301によって解析した結果
をもとにディクショナリサーバ107の定義情報管理部
127にアクセスし、ユーザ定義関数情報129および
組込みモジュール定義情報130を参照し、ADT関数
と外部関数の対応を調べて、組込みモジュールの実行形
態を解析する。このステップ302が、「実行サーバ上
で組込みモジュールを実行する際に必要な入力情報を要
求受付サーバが取得すべきことを認識する解析過程」に
相当する。ステップ303では、問合せ解析部110
は、前記ステップ302の解析結果をもとにユーザの要
求に見合ったデータベース処理の実行手順コードパター
ンを選定し、実行手順コードパターン選定結果を生成す
る。そして、処理を終了する。
【0038】図4は、ユーザ定義関数情報129および
組込みモジュール定義情報130の構成図である。ユー
ザ定義関数情報129は、ADT関数と外部関数との対
応付けを保持するADT関数−外部関数テーブル401
と、ADT関数パラメタの構成情報を保持するADT関
数パラメタテーブル402とからなる。前記ADT関数
−外部関数テーブル401は、ADT関数名,ADT型
名および外部関数名を示すカラムからなる。ADT関数
−外部関数テーブル401のレコード403は、ADT
関数extract() が、sgmltext_t型に定義され、外部関数
p_sgml_extract()に対応付けられることを表わしてい
る。このレコード403を参照することにより、問合せ
解析部110は、ユーザ問合せ104においてADT関
数extract() を実行するよう要求されている場合、外部
関数p_sgml_extract()をコールしなければならない、と
いう解釈を行なう。前記ADT関数パラメタテーブル4
02は、ADT関数名,パラメタ番号,パラメタ型を示
すカラムからなる。ADT関数パラメタテーブル402
のレコード404は、ADT関数extract() の第1パラ
メタのパラメタ型がsgmltext_tであることを表わしてい
る。ここで、ADT関数の第1パラメタで受け渡すパラ
メタ値は、当該ADT関数が処理対象とするADT型の
データとする。ADT関数パラメタテーブル402のレ
コード405は、ADT関数extract() の第2パラメタ
のパラメタ型がVARCHAR であることを表わす。意味的に
は、ADT関数extract() の第2パラメタで受け渡すパ
ラメタ値は、抽出部分を指定するタグの名称である。す
なわち、ADT関数extract() は、この第2パラメタで
指定されたタグによって区切られたSGML文書の部分
を抽出する。前記ADT関数パラメタテーブル402の
レコード404およびレコード405を参照することに
より、問合せ解析部110は、ユーザ問合せ104にお
けるADT関数extract() のsgmltext_t型および VARCH
AR型の2つのパラメタを解析する。
【0039】組込みモジュール定義情報130は、組込
みモジュール117,125に含まれる外部関数とその
外部関数に関する修飾情報を保持する外部関数テーブル
406と、組込みモジュール117,125に含まれる
外部関数のパラメタに関する情報を保持する外部関数パ
ラメタテーブル407とからなる。前記外部関数テーブ
ル406は、外部関数名および関数修飾を示すカラムか
らなる。外部関数テーブル406のレコード408は、
関数修飾のカラム値に外部関数修飾子「ADT関数対
応」を保持することにより、外部関数p_sgml_extract()
がADT関数に対応付けられた外部関数であることを示
している。外部関数テーブル406のレコード409
は、関数修飾のカラム値に外部関数修飾子「パラメタバ
インド」を保持することにより、外部関数p_sgml_load_
sgmldef() がパラメタバインドを行なうための外部関数
であることを示している。
【0040】前記外部関数パラメタテーブル407は、
外部関数名,パラメタ番号,パラメタ型およびパラメタ
修飾を示すカラムからなる。外部関数パラメタテーブル
407のレコード410は、外部関数p_sgml_extract()
の第1パラメタがパラメタ型sgmltext_tのパラメタ値を
受け渡すことを示している。外部関数パラメタテーブル
407のレコード411は、外部関数p_sgml_extract()
の第2パラメタがパラメタ型VARCHAR のパラメタ値を受
け渡すことを示している。なお、問合せ解析部110
は、上記の外部関数p_sgml_extract()の第1パラメタお
よび第2パラメタについては、それぞれADT関数の第
1パラメタおよび第2パラメタのパラメタ値をそのまま
受け渡す、という解釈を行なう。これは、前記ADT関
数−外部関数テーブル401のレコード403,前記A
DT関数パラメタテーブル402のレコード404およ
びレコード405を参照することにより、外部関数p_sg
ml_extract()がADT関数extract() と対応付けられて
いるからである。
【0041】外部関数パラメタテーブル407のレコー
ド412は、外部関数p_sgml_extract()の第3パラメタ
がパラメタ型BLOBのパラメタ値を受け渡すことを示して
いる。また、パラメタ修飾のカラム値にパラメタ修飾子
「返却」を保持することにより、当該第3パラメタのパ
ラメタ値を当該関数の返却値として受け渡すことを示し
ている。外部関数パラメタテーブル407のレコード4
13は、外部関数p_sgml_extract()の第4パラメタがパ
ラメタ型BLOBのパラメタ値を受け渡すことを示してい
る。また、パラメタ修飾のカラム値にパラメタ修飾子
「パラメタバインド p_sgml_load_sgmldef」を保持する
ことにより、外部関数p_sgml_load_sgmldef() によって
パラメタバインドを行なう、すなわち、外部関数p_sgml
_load_sgmldef() が返却する値を当該パラメタ値とする
ことを示している。外部関数パラメタテーブル407の
コード414は、外部関数p_sgml_load_sgmldef() の第
1パラメタがパラメタ型BLOBのパラメタ値を受け渡すこ
とを示している。また、パラメタ修飾のカラム値にパラ
メタ修飾子「返却」を保持することにより、当該第1パ
ラメタのパラメタ値を当該関数の返却値として受け渡す
ことを示している。外部関数パラメタテーブル407の
レコード415は、外部関数p_sgml_load_sgmldef() の
第2パラメタがパラメタ型DBCOLUMNINFOのパラメタ値を
受け渡すことを示している。ここで、パラメタ型DBCOLU
MNINFOは、データベース管理システム102が提供す
る、カラムに関する定義情報を表すためのデータ型であ
る。パラメタ型DBCOLUMNINFOが指定された場合は、問合
せ処理制御部109が、そのパラメタ値として、処理対
象となっているカラムの定義情報を渡すように処理す
る。
【0042】機能的には、外部関数p_sgml_extract()
は、抽出パラメタを入力として、指定されたタグの部分
を抽出する関数である。また、外部関数p_sgml_load_sg
mldef() は、パラメタ型DBCOLUMNINFOのカラム情報から
テーブル名,カラム名を取得して、ディクショナリサー
バ107にアクセスして抽出パラメタを得る関数であ
る。このデータベースシステム100のユーザは、sgml
text_t型をカラム型として指定するときに、カラムに関
する情報と対応させて、抽出パラメタをディクショナリ
サーバ107に登録する。
【0043】問合せ解析部110は、前記レコード40
3,レコード408およびレコード410を参照するこ
とにより、外部関数p_sgml_extract()を実行サーバ10
6で実行させる、という解釈を行なう。これは、ADT
関数でADT型データの操作を行なう場合は、データを
格納している実行サーバ106で当該ADT関数を実行
することが並列処理機能を有効に利用できる、という考
えに基づくものである。また、問合せ解析部110は、
前記レコード409を参照することにより、外部関数p_
sgml_load_sgmldef() を要求受付サーバ105で実行さ
せる、という解釈を行なう。これは、外部関数p_sgml_l
oad_sgmldef() がパラメタバインドを行なうための外部
関数であるからである。
【0044】図5は、実行手順コード111の構成図で
ある。この実行手順コード111は、次のSQL3によ
る問合せ文に対応する処理の手順である。 SELECT extract(contents, 'abstract') FROM reports WHERE published_data > '1996-10-15' すなわち、実行手順コード111は、インデクス検索し
て得られた一時的な結果の集合の要素について外部関数
p_sgml_extract()を逐次実行するという、ユーザ問合せ
104に見合った処理の実行手順を示している。
【0045】実行手順コード111は、ノード木構造で
構成される。このようなノード木構造データは、後述す
る実行手順コード木構造データ作成処理601(図6)
において作成される。ノード501は、当該ノードを説
明する情報として「当該実行手順コードは、実行サーバ
で実行するコードである」ことを示す値を保持してい
る。また、ノード501は、実行内容を示すノードへの
ポインタを保持している。そのポインタは、ノード50
2を指している。ノード502は、当該ノードを説明す
る情報として「左下位ノードを1回だけ実行し、その後
は右下位ノードのみを実行する」ことを示す値を保持し
ている。ノード502の左下位ノードはノード503で
あり、右下位ノードはノード506である。ノード50
3は、当該ノードを説明する情報として「一時的な処理
結果リストを生成する」ことを示す値を保持している。
ノード503の左下位ノードはノード504であり、右
下位ノードはノード505である。ノード504は、ノ
ード503における一時的な処理結果リストを識別する
ためのリストIDを保持する。ノード505は、当該ノ
ードを説明する情報として「インデクスを利用した検索
を行なう」ことを示す値を保持している。結局、上記ノ
ード503,504および505は、「インデクスを利
用した検索を行い、検索結果を結果リストIDで識別さ
れる一時結果リストとする」ことを示している。ここで
は、テーブルreports のカラムpublished_dateに設定さ
れたインデクスを用いて、published_date > '1996-10-
15' の条件を満たすレコードの検索を行なうことが指示
される。そして、検索の結果、条件を満たすレコードの
レコードIDの集合が一時結果リストとして得られる。
【0046】ノード506は、当該ノードを説明する情
報として「左下位ノードの処理結果を右下位ノードに渡
す」ことを示す値を保持している。ノード506の左下
位ノードはノード507であり、右下位ノードはノード
508である。ノード507は、当該ノードを説明する
情報として「(当該実行手順コードに従う処理での一時
結果リストから)リスト要素を一件取り出す」ことを示
す値を保持している。ここでは、リスト要素はレコード
IDである。ノード508は、当該ノードを説明する情
報として「(ノード506から渡されるリスト要素に対
応する)レコード値をデータベースファイルから取り出
す」ことを示す値を保持している。ここでは、レコード
IDに対応するレコード値を取り出す。
【0047】前記ノード508の下位ノードであるノー
ド509は、当該ノードを説明する情報として「(ノー
ド508がデータベースファイルから取り出したレコー
ド値の一部である)カラム値を取り出す」ことを示す値
を保持している。ここでは、テーブルreports のレコー
ド値のカラムcontentsに保持しているカラム値、すなわ
ちSGMLテキストを取り出す。前記ノード509の下
位ノードであるノード510は、当該ノードを説明する
情報として「(ノード509で取り出したカラム値に対
して)外部関数を実行する」ことを示す値を保持してい
る。ここでは、カラムcontentsに保持しているSGML
テキストに対して外部関数p_sgml_extract()を実行す
る。なお、ノード510は、外部関数p_sgml_extract()
の実行時の入力として実行用ワークエリア113に保持
する実行時入力情報112に保持する入力パラメタ値5
11へのポインタを保持している。ここでは、要求受付
サーバ105のパラメタバインドによって設定した抽出
パラメタを入力パラメタ値511としてポイントする。
パラメタバインドとポインタの設定については、後で図
8を参照して詳述する。
【0048】図6は、前記ステップ202の実行手順コ
ード作成処理の流れ図である。この実行手順コード作成
処理(202)の入力は問合せ解析部110が出力する
実行手順コードパターン選定結果であり、出力および処
理結果は実行手順コード111とパラメタバインド指示
情報リストである。ステップ601では、実行手順コー
ド作成部114は、実行手順コードパターン選定結果か
らノード木構造データを作成する。この実行手順コード
木構造データ作成処理は、データベース処理の実行手順
を示す一般的な制御情報と同等のものが作成できればよ
い。なお、ステップ601で作成されるノードには、外
部関数コールを指示するノードも含まれる。ステップ6
02では、実行手順コード作成部114は、パラメタバ
インドの実行を指示するパラメタバインド指示情報リス
トを作成する。すなわち、外部関数コールを指示するノ
ードを探索し、外部関数コールを指示するノードを見つ
けたら、そのパラメタを探索して、パラメタバインドが
指定されていないか確認する。パラメタバインドが指定
されていれば、その定義情報をもとにパラメタバインド
を実行するための指示情報を作成する。例えば、図5の
ノード木構造データを探索して、外部関数p_sgml_extra
ct()を呼び出すためのノード510を見つける。次に、
図4の外部関数パラメータテーブル407から外部関数
p_sgml_extract()をコールするときの第4パラメタの入
力として外部関数p_sgml_load_sgmldef() を実行してパ
ラメタバインドを行なわなければならない、という解釈
を行なう。これらの情報をもとに、「ノード510の外
部関数実行の第4パラメタ入力に外部関数p_sgml_load_
sgmldef() を実行して得られる返却値を設定せよ」とい
うパラメタバインド指示情報を作成できる。このような
パラメタバインド指示情報が実行手順コードに対して複
数存在する場合は、リスト形式で管理し、パラメタバイ
ンド指示情報リストを作成する。
【0049】図7は、前記ステップ203の実行指示処
理の流れ図である。この実行指示処理(203)の入力
は前記実行手順コード作成部114が出力する実行手順
コード111とパラメタバインド指示情報リストであ
り、出力および処理結果は実行結果保持部118に実行
結果を保持させることである。ステップ701では、実
行指示部115は、実行手順コード111とパラメタバ
インド指示情報リストをもとに、パラメタバインド制御
部116を用いてパラメタバインドを実行する。パラメ
タバインド制御部116を用いたパラメタバインドの実
行の詳細については、後で図8を参照して説明する。ス
テップ702では、実行指示部115は、パラメタバイ
ンドを行なった実行手順コード111をもとに、ユーザ
の要求に見合う処理が複数の実行サーバ106で並行に
実行されるように、それぞれの実行サーバ106に処理
実行を指示する。また、実行サーバ106へ処理を指示
する時に、要求受付サーバ105の実行用ワークエリア
113の情報をそのまま実行サーバ105の実行用ワー
クエリア120に送信する。
【0050】図8は、前記ステップ701のパラメタバ
インド処理の流れ図である。このパラメタバインド処理
(701)の入力は実行手順コード作成部114で作成
されたパラメタバインド指示情報リストであり、出力お
よび処理結果はパラメタバインドを実行し入力パラメタ
へのポインタを実行手順コード111に設定することで
ある。ステップ801では、パラメタバインド制御部1
16は、パラメタバインド指示情報リストの集合からパ
ラメタバインド指示情報を1つ取り出す。ステップ80
2では、パラメタバインド制御部116は、取り出した
パラメタバインド指示情報をもとにパラメタ値を返却す
る外部関数を実行する。ここでは、外部関数p_sgml_loa
d_sgmldef() を実行し、ディクショナリサーバ107か
ら抽出パラメタを取得する。このステップ802が、
「要求受付サーバ上で入力情報取得用の組込みモジュー
ルを実行して入力情報を取得する取得過程」に相当す
る。ステップ803では、パラメタバインド制御部11
6は、返却されたパラメタ値を実行用ワークエリア11
3に実行時入力情報112としてコピーし、パラメタバ
インド指示情報の指示に従って、この実行時入力情報1
12をパラメタ値としてポイントするように実行手順コ
ード111に情報を設定する。このステップ803が、
「入力情報を渡す指示を含ませるように実行手順コード
を編集する設定過程」に相当する。ステップ804で
は、パラメタバインド制御部116は、パラメタバイン
ド指示情報リストに次のパラメタバインド指示情報が存
在するかチェックする。次のパラメタバインド指示情報
が存在する場合は前記ステップ801に戻り、次のパラ
メタバインド指示情報が存在しない場合は処理を終了す
る。
【0051】以上の処理とデータ構造とにより、要求受
付サーバ105で組込みモジュールに含まれる外部関数
をコールしてパラメタバインドを行ない、そのパラメタ
値を入力として実行サーバ106で組込みモジュールに
含まれる外部関数をコールすることが可能となる。
【0052】次に、組込みモジュール定義情報130を
ディクショナリサーバ107に登録する処理について説
明する。図9は、組込みモジュール定義登録ツール13
2が組込みモジュール定義情報130を登録する処理の
流れ図である。この組込みモジュール定義登録処理の入
力は組込みモジュール仕様記述131であり、出力およ
び処理結果はディクショナリサーバ107に組込みモジ
ュール定義情報130を保持させることである。ステッ
プ901では、組込みモジュール定義登録ツール132
は、組込みモジュール仕様記述131を解析する。デー
タベース管理システム102が提供する組込みモジュー
ルインタフェイス定義言語によって記述された組込みモ
ジュール仕様記述131の例を次に示す。この例は、図
4に示した組込みモジュール定義情報130に対応する
モジュール仕様記述である。 上記の記述例では、外部関数p_sgml_extract()と外部関
数p_sgml_load_sgmldef() とをデータベース管理システ
ム102から呼び出すためのインタフェイス仕様が示さ
れている。
【0053】実行サーバ106で実行される外部関数p_
sgml_extract()のインタフェイス仕様において、キーワ
ードreturns は、パラメタの修飾子であり、当該パラメ
タが返却用に用いられることを示す。また、キーワード
setterに続いて外部関数名を指定することにより、当該
パラメタがパラメタバインドの対象であることを示し、
ここに指定された外部関数によってパラメタ値を取得す
ることを示す。また、キーワードasに続いて関数修飾子
ADT_FUNCTION を指定することにより、当該関数がAD
T関数に対応付けられた外部関数であることを示す。キ
ーワードreturns から as ADT_FUNCTION; までの記述
が、「ユーザによる組込みモジュールの機能呼び出しで
渡される入力情報以外の付加的な入力情報を当該組込み
モジュールの実行のために渡す指示」に相当する。ま
た、キーワードsetterに続いて外部関数名を指定するこ
とが、「実行サーバ上で組込みモジュールを実行する際
に必要な入力情報を要求受付サーバが入力情報取得用の
組込みモジュールを実行して取得すべきことを示す指
示」に相当する。なお、ユーザからの要求に用いられる
ADT関数extract() のインタフェイス仕様では、AD
T型sgmltext_tとパラメタ型VARCHAR の2つの入力をと
るように定義されているのに対して、この2つの入力以
外にパラメタ型BLOBの入力を2つとるように外部関数p_
sgml_extract()が定義されている。
【0054】次に、要求受付サーバ105で実行される
外部関数p_sgml_load_sgmldef() のインタフェイス仕様
において、キーワードreturns は、パラメタの修飾子で
あり、当該パラメタが返却用に用いられることを示す。
また、キーワードasに続いて関数修飾子BIND_PARAMETER
を指定することにより、当該関数がパラメタバインドに
用いられる外部関数であることを示す。キーワードretu
rns から DBCOLUMNINFO までの記述が、「ユーザによる
組込みモジュールの機能呼び出しで渡される入力情報以
外の付加的な入力情報を当該組込みモジュールの実行の
ために渡す指示」に相当する。また、キーワードasに続
いて関数修飾子BIND_PARAMETERを指定することが、「実
行サーバ上で組込みモジュールを実行する際に必要な入
力情報を要求受付サーバが入力情報取得用の組込みモジ
ュールを実行して取得すべきことを示す指示」に相当す
る。
【0055】ステップ902では、組込みモジュール定
義登録ツール132は、解析結果を組込みモジュール定
義情報130としてディクショナリサーバ107の定義
情報管理部127を用いて登録する。そして、処理を終
了する。
【0056】
【発明の効果】本発明のデータベース管理方法および並
列データベース管理システムによれば、複数の実行サー
バ上の組込みモジュールが必要とする入力情報のうち
で、いずれの実行サーバでも同一のものは、それぞれの
実行サーバが取得するのではなく、要求受付サーバが取
得し、それをそれぞれの実行サーバが利用するので、入
力情報を取得する処理の重複や集中を防止でき、システ
ム性能を向上できる。また、組込みモジュールの実行制
御を、組込みモジュールのインタフェイス仕様の記述に
おいて指示できるようになる。
【図面の簡単な説明】
【図1】本発明の一実施形態にかかるデータベースシス
テムの構成図である。
【図2】図1のデータベースシステムにおける問合せ処
理の流れ図である。
【図3】図2の問合せ処理における問合せ解析処理の流
れ図である。
【図4】図1のデータベースシステムにおけるユーザ定
義関数情報と組込みモジュール定義情報の構成図であ
る。
【図5】図1のデータベースシステムにおける実行手順
コードの構成図である。
【図6】図2の問合せ処理における実行手順コード作成
処理の流れ図である。
【図7】図2の問合せ処理における実行指示処理の流れ
図である。
【図8】図7の実行指示処理におけるパラメタバインド
処理の流れ図である。
【図9】図1のデータベースシステムにおける組込みモ
ジュール定義登録処理の流れ図である。
【図10】従来のデータベースシステムの一例の構成図
である。
【符号の説明】
100:データベースシステム 102:データベース管理システム 105:要求受付サーバ 106:実行サーバ 117:組込みモジュール 125:組込みモジュール 111:実行手順コード 112:実行時入力情報 124:実行時入力情報 131:組込みモジュール仕様記述
───────────────────────────────────────────────────── フロントページの続き (72)発明者 中野 幸生 神奈川県川崎市幸区鹿島田890番地の12 株式会社日立製作所情報・通信開発本部内 (72)発明者 原 憲宏 神奈川県川崎市幸区鹿島田890番地の12 株式会社日立製作所情報・通信開発本部内 (72)発明者 亀城 嘉人 神奈川県横浜市戸塚区戸塚町5030番地 株 式会社日立製作所ソフトウエア開発本部

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 ユーザからの要求を受け付けてその要求
    に見合うデータベース処理の実行手順を指示する実行手
    順コードを作成する要求受付サーバと前記実行手順コー
    ドに従って前記データベース処理を並列に実行する複数
    の実行サーバとを有し、ユーザによって組み込まれる組
    込みモジュールを実行する機能を前記要求受付サーバと
    前記実行サーバとが有する並列データベース管理システ
    ムにおいて、 前記実行サーバ上で組込みモジュールを実行する際に必
    要な入力情報を前記要求受付サーバが取得すべきことを
    認識する解析過程と、前記認識に従って前記要求受付サ
    ーバ上で入力情報取得用の組込みモジュールを実行して
    前記入力情報を取得する取得過程と、前記入力情報を渡
    す指示を含ませるように前記実行手順コードを編集する
    設定過程とを含むデータベース実行制御を行なうことを
    特徴とするデータベース管理方法。
  2. 【請求項2】 請求項1に記載のデータベース管理方法
    において、組込みモジュールのインタフェイス仕様の記
    述をもとに組込みモジュールの実行制御を行なうことを
    特徴とするデータベース管理方法。
  3. 【請求項3】 請求項2に記載のデータベース管理方法
    において、ユーザによる組込みモジュールの機能呼び出
    しで渡される入力情報以外の付加的な入力情報を当該組
    込みモジュールの実行のために渡す指示を当該組込みモ
    ジュールのインタフェイス仕様の記述に含み得ることを
    特徴とするデータベース管理方法。
  4. 【請求項4】 請求項2または請求項3に記載のデータ
    ベース管理方法において、前記実行サーバ上で組込みモ
    ジュールを実行する際に必要な入力情報を前記要求受付
    サーバが入力情報取得用の組込みモジュールを実行して
    取得すべきことを示す指示を前記実行サーバ上で実行す
    る組込みモジュールまたは前記入力情報取得用の組込み
    モジュールの少なくとも一方のインタフェイス仕様の記
    述に含み得ることを特徴とするデータベース管理方法。
  5. 【請求項5】 ユーザからの要求を受け付ける要求受付
    サーバとその要求受付サーバの指示に従ってユーザから
    の要求に見合うデータベース処理を並列に実行する複数
    の実行サーバとを有する並列データベース管理システム
    において、 前記要求受付サーバが入力情報取得用の組込みモジュー
    ルを実行して入力情報を取得し、前記実行サーバが前記
    入力情報を用いて組込みモジュールを実行することを特
    徴とする並列データベース管理システム。
JP9035021A 1997-02-19 1997-02-19 データベース管理方法および並列データベース管理システム Pending JPH10232875A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP9035021A JPH10232875A (ja) 1997-02-19 1997-02-19 データベース管理方法および並列データベース管理システム
US09/025,245 US5983228A (en) 1997-02-19 1998-02-18 Parallel database management method and parallel database management system
US09/429,440 US6212516B1 (en) 1997-02-19 1999-10-28 Parallel database management method and parallel database management system
US09/776,891 US6694312B2 (en) 1997-02-19 2001-02-06 Database processing method and apparatus for processing data by analyzing query input

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9035021A JPH10232875A (ja) 1997-02-19 1997-02-19 データベース管理方法および並列データベース管理システム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2004349263A Division JP3882835B2 (ja) 2004-12-02 2004-12-02 データベース管理方法および並列データベース管理システム

Publications (1)

Publication Number Publication Date
JPH10232875A true JPH10232875A (ja) 1998-09-02

Family

ID=12430417

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9035021A Pending JPH10232875A (ja) 1997-02-19 1997-02-19 データベース管理方法および並列データベース管理システム

Country Status (2)

Country Link
US (3) US5983228A (ja)
JP (1) JPH10232875A (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003529808A (ja) * 1999-01-13 2003-10-07 エービー イニティオ ソフトウェア コーポレーション スクリプト駆動ツールの並列処理アプリケーション
JP2007513426A (ja) * 2003-12-02 2007-05-24 オラクル・インターナショナル・コーポレイション 異種コンピュータシステムにわたる複雑計算
US9116955B2 (en) 2011-05-02 2015-08-25 Ab Initio Technology Llc Managing data queries
US9665620B2 (en) 2010-01-15 2017-05-30 Ab Initio Technology Llc Managing data queries
US9891901B2 (en) 2013-12-06 2018-02-13 Ab Initio Technology Llc Source code translation
US10417281B2 (en) 2015-02-18 2019-09-17 Ab Initio Technology Llc Querying a data source on a network
US10437819B2 (en) 2014-11-14 2019-10-08 Ab Initio Technology Llc Processing queries containing a union-type operation
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

Families Citing this family (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10232875A (ja) * 1997-02-19 1998-09-02 Hitachi Ltd データベース管理方法および並列データベース管理システム
JP3836928B2 (ja) * 1997-02-26 2006-10-25 株式会社日立製作所 データベース処理方法
JP4000223B2 (ja) * 1997-09-24 2007-10-31 富士通株式会社 情報検索方法,情報検索システムおよび同システム用検索管理装置
JPH11184943A (ja) * 1997-12-19 1999-07-09 Fujitsu Ltd 電子取引システム及び方法並びに電子取引でフォーマット変換を実行する制御プログラムを格納した記憶媒体
US7168039B2 (en) * 1998-06-02 2007-01-23 International Business Machines Corporation Method and system for reducing the horizontal space required for displaying a column containing text data
US6460089B1 (en) * 1998-09-21 2002-10-01 Microsoft Corporation Method and system for extending functionality of a management console
US6281892B1 (en) * 1998-12-16 2001-08-28 Alcatel Usa Sourcing, L.P. System and method of table-driven computer interface
US6609130B1 (en) * 1999-02-19 2003-08-19 Sun Microsystems, Inc. Method for serializing, compiling persistent textual form of an object-oriented database into intermediate object-oriented form using plug-in module translating entries according to grammar
US6516337B1 (en) * 1999-10-14 2003-02-04 Arcessa, Inc. Sending to a central indexing site meta data or signatures from objects on a computer network
US6950933B1 (en) * 2000-05-19 2005-09-27 Networks Associates Technology, Inc. Method and system for management and notification of electronic certificate changes
US20040073617A1 (en) 2000-06-19 2004-04-15 Milliken Walter Clark Hash-based systems and methods for detecting and preventing transmission of unwanted e-mail
CA2319918A1 (en) * 2000-09-18 2002-03-18 Linmor Technologies Inc. High performance relational database management system
US6934740B1 (en) 2000-09-19 2005-08-23 3Com Corporation Method and apparatus for sharing common data objects among multiple applications in a client device
US6938079B1 (en) 2000-09-19 2005-08-30 3Com Corporation System and method for automatically configuring a client device
US8005870B1 (en) * 2001-06-19 2011-08-23 Microstrategy Incorporated System and method for syntax abstraction in query language generation
US7430562B1 (en) 2001-06-19 2008-09-30 Microstrategy, Incorporated System and method for efficient date retrieval and processing
US8606813B1 (en) 2001-06-20 2013-12-10 Microstrategy Incorporated System and method for function selection in analytic processing
US6704723B1 (en) 2001-06-20 2004-03-09 Microstrategy, Incorporated Method and system for providing business intelligence information over a computer network via extensible markup language
US11388451B2 (en) * 2001-11-27 2022-07-12 Comcast Cable Communications Management, Llc Method and system for enabling data-rich interactive television using broadcast database
US8042132B2 (en) 2002-03-15 2011-10-18 Tvworks, Llc System and method for construction, delivery and display of iTV content
US7287277B2 (en) * 2001-12-21 2007-10-23 Hewlett-Packard Development Company, L.P. Method and apparatus for controlling execution of a computer operation
US7246360B2 (en) * 2002-02-07 2007-07-17 Mobitv, Inc. Plug-in API for protocol and payload transformation
KR20030069334A (ko) * 2002-02-20 2003-08-27 주식회사 소프트온탑 복합시스템의 컨텐츠 마이그레이션 및 온라인 백업 시스템
US7703116B1 (en) 2003-07-11 2010-04-20 Tvworks, Llc System and method for construction, delivery and display of iTV applications that blend programming information of on-demand and broadcast service offerings
US7039649B2 (en) * 2002-05-17 2006-05-02 Sun Microsystems, Inc. Method and apparatus for maintaining data integrity
US7240059B2 (en) * 2002-11-14 2007-07-03 Seisint, Inc. System and method for configuring a parallel-processing database system
US7185003B2 (en) * 2002-11-14 2007-02-27 Seisint, Inc. Query scheduling in a parallel-processing database system
US6968335B2 (en) 2002-11-14 2005-11-22 Sesint, Inc. Method and system for parallel processing of database queries
US7945581B2 (en) * 2002-11-14 2011-05-17 Lexisnexis Risk Data Management, Inc. Global-results processing matrix for processing queries
US8676843B2 (en) * 2002-11-14 2014-03-18 LexiNexis Risk Data Management Inc. Failure recovery in a parallel-processing database system
US7293024B2 (en) 2002-11-14 2007-11-06 Seisint, Inc. Method for sorting and distributing data among a plurality of nodes
US7657540B1 (en) 2003-02-04 2010-02-02 Seisint, Inc. Method and system for linking and delinking data records
US7720846B1 (en) 2003-02-04 2010-05-18 Lexisnexis Risk Data Management, Inc. System and method of using ghost identifiers in a database
US7912842B1 (en) 2003-02-04 2011-03-22 Lexisnexis Risk Data Management Inc. Method and system for processing and linking data records
US7403942B1 (en) 2003-02-04 2008-07-22 Seisint, Inc. Method and system for processing data records
US11381875B2 (en) 2003-03-14 2022-07-05 Comcast Cable Communications Management, Llc Causing display of user-selectable content types
US7505957B2 (en) * 2003-08-19 2009-03-17 International Business Machines Corporation Incremental AST maintenance using work areas
US8819734B2 (en) 2003-09-16 2014-08-26 Tvworks, Llc Contextual navigational control for digital television
US7689542B2 (en) * 2004-01-13 2010-03-30 Oracle International Corporation Dynamic return type generation in a database system
US7512599B2 (en) * 2004-01-13 2009-03-31 Oracle International Corporation Query duration types
US20050209929A1 (en) * 2004-03-22 2005-09-22 International Business Machines Corporation System and method for client-side competitive analysis
US7818667B2 (en) 2005-05-03 2010-10-19 Tv Works Llc Verification of semantic constraints in multimedia data and in its announcement, signaling and interchange
JP4742784B2 (ja) * 2005-09-28 2011-08-10 ブラザー工業株式会社 情報分配処理プログラム、情報処理装置、および情報分配処理システム
US20080033940A1 (en) * 2006-08-01 2008-02-07 Hung The Dinh Database Query Enabling Selection By Partial Column Name
JP2008097498A (ja) * 2006-10-16 2008-04-24 Olympus Corp プロセッシング・エレメント、コントロール・ユニット、及びこれらを備える処理システム、分散処理方法
US8266168B2 (en) 2008-04-24 2012-09-11 Lexisnexis Risk & Information Analytics Group Inc. Database systems and methods for linking records and entity representations with sufficiently high confidence
JP2010033555A (ja) * 2008-06-30 2010-02-12 Olympus Corp コントロール・ユニット、分散処理システム及び分散処理方法
US8639691B2 (en) 2008-07-02 2014-01-28 Lexisnexis Risk Solutions Fl Inc. System for and method of partitioning match templates
US11832024B2 (en) 2008-11-20 2023-11-28 Comcast Cable Communications, Llc Method and apparatus for delivering video and video-related content at sub-asset level
WO2011025892A1 (en) * 2009-08-27 2011-03-03 Mastercard International Incorporated Multi-database query system and method
US9411859B2 (en) 2009-12-14 2016-08-09 Lexisnexis Risk Solutions Fl Inc External linking based on hierarchical level weightings
US9189505B2 (en) 2010-08-09 2015-11-17 Lexisnexis Risk Data Management, Inc. System of and method for entity representation splitting without the need for human interaction
US8938444B2 (en) * 2011-12-29 2015-01-20 Teradata Us, Inc. Techniques for external application-directed data partitioning in data exporting from a database management system
USD845979S1 (en) * 2013-01-23 2019-04-16 Yandex Europe Ag Display screen with graphical user interface
US10880609B2 (en) 2013-03-14 2020-12-29 Comcast Cable Communications, Llc Content event messaging
US9015165B1 (en) * 2014-03-03 2015-04-21 Michael L. Hamm Text-SQL relational database
US10229208B2 (en) * 2014-07-28 2019-03-12 Facebook, Inc. Optimization of query execution
US11783382B2 (en) 2014-10-22 2023-10-10 Comcast Cable Communications, Llc Systems and methods for curating content metadata
US11797521B1 (en) * 2020-06-30 2023-10-24 Amazon Technologies, Inc. Associating a function with a table in a database system
US11487870B1 (en) * 2021-04-30 2022-11-01 Snowflake Inc. Logging from user-defined functions

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06131399A (ja) * 1992-10-19 1994-05-13 Fujitsu Ltd データベース検索方式
JPH10143539A (ja) * 1996-09-11 1998-05-29 Nippon Telegr & Teleph Corp <Ntt> 情報検索方法および情報検索システムおよび情報資源辞書データを記録した記録媒体および情報検索プログラムを記録した記録媒体

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4751635A (en) * 1986-04-16 1988-06-14 Bell Communications Research, Inc. Distributed management support system for software managers
US5566330A (en) * 1991-08-20 1996-10-15 Powersoft Corporation Method for forming a reusable and modifiable database interface object
FR2696852B1 (fr) * 1992-10-12 1994-12-23 Bull Sa Procédé d'aide à l'optimisation d'une requête d'un système de gestion de base de données relationnel.
US5423035A (en) * 1992-12-23 1995-06-06 Hughes Aircraft Company Method for evaluating relational database queries with automatic indexing and ordering of join components
DE69409445D1 (de) * 1993-07-27 1998-05-14 Ibm Prozessüberwachung in einem Mehrfachverarbeitungsanbieter
JP3023441B2 (ja) * 1993-11-16 2000-03-21 株式会社日立製作所 データベース分割管理方法および並列データベースシステム
US5566349A (en) * 1994-05-16 1996-10-15 Trout; Ray C. Complementary concurrent cooperative multi-processing multi-tasking processing system using shared memories with a minimum of four complementary processors
US5675785A (en) * 1994-10-04 1997-10-07 Hewlett-Packard Company Data warehouse which is accessed by a user using a schema of virtual tables
JPH08137910A (ja) 1994-11-15 1996-05-31 Hitachi Ltd 並列データベース処理方法及びその実施装置
US5546576A (en) * 1995-02-17 1996-08-13 International Business Machines Corporation Query optimizer system that detects and prevents mutating table violations of database integrity in a query before execution plan generation
US5850550A (en) * 1995-08-31 1998-12-15 International Business Machine Corporation No preprocessor and a source level debugger for embedded SQL in a 3GL
US6324683B1 (en) * 1996-02-23 2001-11-27 International Business Machines Corporation System, method and program for debugging external programs in client/server-based relational database management systems
JP3747525B2 (ja) * 1996-08-28 2006-02-22 株式会社日立製作所 並列データベースシステム検索方法
US5884327A (en) * 1996-09-25 1999-03-16 International Business Machines Corporation System, method and program for performing two-phase commit with a coordinator that performs no logging
US5765147A (en) * 1996-11-21 1998-06-09 International Business Machines Corportion Query rewrite for extended search capabilities
US5968115A (en) * 1997-02-03 1999-10-19 Complementary Systems, Inc. Complementary concurrent cooperative multi-processing multi-tasking processing system (C3M2)
JPH10232875A (ja) * 1997-02-19 1998-09-02 Hitachi Ltd データベース管理方法および並列データベース管理システム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06131399A (ja) * 1992-10-19 1994-05-13 Fujitsu Ltd データベース検索方式
JPH10143539A (ja) * 1996-09-11 1998-05-29 Nippon Telegr & Teleph Corp <Ntt> 情報検索方法および情報検索システムおよび情報資源辞書データを記録した記録媒体および情報検索プログラムを記録した記録媒体

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7047232B1 (en) 1999-01-13 2006-05-16 Ab Initio Software Corporation Parallelizing applications of script-driven tools
JP2003529808A (ja) * 1999-01-13 2003-10-07 エービー イニティオ ソフトウェア コーポレーション スクリプト駆動ツールの並列処理アプリケーション
JP2007513426A (ja) * 2003-12-02 2007-05-24 オラクル・インターナショナル・コーポレイション 異種コンピュータシステムにわたる複雑計算
JP4774372B2 (ja) * 2003-12-02 2011-09-14 オラクル・インターナショナル・コーポレイション 異種コンピュータシステムにわたる複雑計算
US9665620B2 (en) 2010-01-15 2017-05-30 Ab Initio Technology Llc Managing data queries
US11593369B2 (en) 2010-01-15 2023-02-28 Ab Initio Technology Llc Managing data queries
US10521427B2 (en) 2011-05-02 2019-12-31 Ab Initio Technology Llc Managing data queries
US9576028B2 (en) 2011-05-02 2017-02-21 Ab Initio Technology Llc Managing data queries
US9116955B2 (en) 2011-05-02 2015-08-25 Ab Initio Technology Llc Managing data queries
US9891901B2 (en) 2013-12-06 2018-02-13 Ab Initio Technology Llc Source code translation
US10282181B2 (en) 2013-12-06 2019-05-07 Ab Initio Technology Llc Source code translation
US10289396B2 (en) 2013-12-06 2019-05-14 Ab Initio Technology Llc Source code translation
US11106440B2 (en) 2013-12-06 2021-08-31 Ab Initio Technology Llc Source code translation
US10437819B2 (en) 2014-11-14 2019-10-08 Ab Initio Technology Llc Processing queries containing a union-type operation
US10417281B2 (en) 2015-02-18 2019-09-17 Ab Initio Technology Llc Querying a data source on a network
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

Also Published As

Publication number Publication date
US6694312B2 (en) 2004-02-17
US5983228A (en) 1999-11-09
US6212516B1 (en) 2001-04-03
US20010013032A1 (en) 2001-08-09

Similar Documents

Publication Publication Date Title
JPH10232875A (ja) データベース管理方法および並列データベース管理システム
US6708186B1 (en) Aggregating and manipulating dictionary metadata in a database system
US6925462B2 (en) Database management system, and query method and query execution program in the database management system
US8275810B2 (en) Making and using abstract XML representations of data dictionary metadata
US6148296A (en) Automatic generation of database queries
JP3437849B2 (ja) オブジェクト指向プログラミングを支援するデータベース管理システム及び方法
JP3747525B2 (ja) 並列データベースシステム検索方法
US5937401A (en) Database system with improved methods for filtering duplicates from a tuple stream
US6349305B1 (en) Method and system for database processing by invoking a function related to index type definition, generating an execution plan based on index type name
JP2602205B2 (ja) データベース・アクセス制御方法
JP3742177B2 (ja) 並列データベースシステムルーチン実行方法
EP0449449A2 (en) Use of application programs on data in a heterogeneous data base system
JP2000181917A (ja) 構造化文書管理方法及びその実施装置並びにその処理プログラムを記録した媒体
JP2644728B2 (ja) データディクショナリ・ディレクトリシステム
US20120173575A1 (en) Record Based Code Structure
US6735598B1 (en) Method and apparatus for integrating data from external sources into a database system
US7689542B2 (en) Dynamic return type generation in a database system
US8903846B2 (en) Method and apparatus for integrating data from external sources into a database system
JP2002534741A (ja) 半構造化テキストデータを処理する方法及び装置
JP3777666B2 (ja) データベース処理方法およびシステム
JP4724177B2 (ja) Xmlデータにアクセスするためのインデックス
US7512599B2 (en) Query duration types
JP3882835B2 (ja) データベース管理方法および並列データベース管理システム
JP2976891B2 (ja) リモートデータベースアクセス方法
USH2189H1 (en) SQL enhancements to support text queries on speech recognition results of audio data

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040629

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040830

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20041005

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041104

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20041207

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20050204