JP3882835B2 - データベース管理方法および並列データベース管理システム - Google Patents
データベース管理方法および並列データベース管理システム Download PDFInfo
- Publication number
- JP3882835B2 JP3882835B2 JP2004349263A JP2004349263A JP3882835B2 JP 3882835 B2 JP3882835 B2 JP 3882835B2 JP 2004349263 A JP2004349263 A JP 2004349263A JP 2004349263 A JP2004349263 A JP 2004349263A JP 3882835 B2 JP3882835 B2 JP 3882835B2
- Authority
- JP
- Japan
- Prior art keywords
- execution
- parameter
- server
- input
- database
- 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
Images
Description
CREATE TYPE sgmltext_t (
text BLOB,
FUNCTION extract ( sgmltext_t,
VARCHAR )
RETURNS BLOB
LANGUAGE C
EXTERNAL NAME 'p_sgml_extract';
);
CREATE TABLE reports (
published_date DATE,
contents sgmltext_t );
なお、上記の例は、SQL3(Structured Query Language;構造化問合せ言語)によって記述されている。
書として構造化するための構造情報を含んでおり、抽出結果を作成するためには不可欠な情報である。抽出パラメタは、SGML文書構造に基づいており、同一のSGML文書構造を有するSGMLテキストに対して共通に利用する。「報告書」での「報告内容」の形式すなわち文書構造を固定とするように、SGML文書構造は、SGMLテキストを保持するカラムによって固定とする。これに従って、抽出パラメタ1002は、処理対象のSGMLテキストを保持しているカラムによって固定とする。そこで、テーブル名とカラム名から抽出パラメタ1002を取得できるように、ディクショナリサーバ1107の機能を用いて抽出パラメタ1002を一元管理する。
(1)ディクショナリサーバ1107にアクセスし、操作対象のSGMLテキストを保持しているテーブル名とカラム名をもとに抽出パラメタを取得する。
(2)上記の(1)で取得した抽出パラメタを利用して抽出処理を行なう。
SELECT extract(contents, 'abstract')
FROM reports
WHERE published_date > '1996-10-15'
なお、上記の例は、SQL3によって記述されている。
(1)カラムpublished_date に設定されたインデクスを用いて、WHERE句の条件を満たすレコードの集合をテーブルreports から取得する。
(2)上記の(1)で得られたレコードの集合を基にSGMLテキストを逐次取り出し、ADT関数extract() を実現する外部関数p_sgml_extract()をコールして、アブストラクト部分を抽出する。
(1)並列データベース処理
例えば、特開平8−137910号公報に記載されているように、ユーザの問い合わせを処理プロセッサが受け付け、複数のデータベースエンジンプロセッサで最適に負荷が分散されるようにDBMSが実行制御を行なう。
(2)SQL3
SQL3は、国際標準化機構ISOが標準化をすすめているデータベース言語仕様の草案であり、例えば「"Information technology - Database languages - SQL - Part 2: SQL/Foundation"ISO/IEC JTC1/SC21 N10489」に記載されている。
(3)オブジェクト・リレーショナルDBMS
オブジェクト指向の概念を取り入れたリレーショナルDBMSである。例えば「オブジェクトリレーショナルDBMSs,Michael Stonebraker著,大田佳伸訳,インターナショナル・トムソン・パブリッシング・ジャパン1996年8月」に記載されており、SQL3のADTおよびADT関数に対応付けることがで
きるユーザ定義型およびユーザ定義関数を使用可能にすべきであることが述べられている。次の例は、ユーザ定義の複合型phone_t の定義文である。
create type phone_t (
area varchar(3),
number varchar(7),
description varchar(20) );
上記の例は、複合型phone_t が、 area という名前で参照される3バイト以下の可変文字列型の要素と、 number という名前で参照される7バイト以下の可変文字列型の要素と、description という名前で参照される20バイト以下の可変文字列型の要素の3つの要素から構成されることを示している。
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 に関連付けられていることを示している。
(4)関数定義の指定
例えば「共通オブジェクトリクエスト・ブローカ 〜構造と仕様〜,オブジェクトマネジメントグループ編著, 相磯秀夫監訳,社団法人 日本オフィスオートメーション協会,原本 "The Common Object Request Broker:Architecture and Specification" OMG Document Number 91.12.1, Revision 1.1」に記述されているようなIDL(Interface Definition Language;インタフェイス定義言語)を用いる関数定義の指定方法がある。この方法では、CORBAと呼ばれるソフトウエアアーキテクチャにおいて、モジュール間のインタフェイスをIDLによって定義する。そのインタフェイスをC言語などのプログラミング言語に対応付け、スタブと呼ばれる接続用のモジュールを生成する。このスタブモジュールを介することによって、柔軟なモジュール間通信を可能としている。
直接指定可能するデータベース管理方法を提供することにある。
それをそれぞれの実行サーバが利用する。このため、入力情報を取得する処理の重複や集中がなくなり、システム性能の低下を防止できる。
(1)ユーザがデータベース言語(この例ではSQL3とする)によって問合せ文記述する。
(2)上記の(1)の記述を入力とし、データベース管理システム102が提供するアプリケーションプログラム作成ツールを用いて、問合せ処理を要求するプログラムのソースコードを生成する。
(3)上記の(2)のソースコードを適当なプログラミング言語コンパイラでコンパイルし、アプリケーションプログラム101を得る。
(1)アプリケーションプログラム101からの要求を要求受付サーバ105が受け付ける。
(2)要求受付サーバ105が要求に見合った処理を実行サーバ106に指示する。
(3)実行サーバ106が要求に見合った処理を実行し、実行結果を要求受付サーバ105の実行結果保持部118に通信路108を介して直接送信する。これにより処理結果が要求受付サーバ105の実行結果保持部118に保持される。
(4)アプリケーションプログラム101からの処理結果取り出しの要求を要求受付サーバ105が受け付ける。
(5)要求受付サーバ105が、実行結果保持部118で保持している実行結果をアプリケーションプログラム101に返す。
している。外部関数パラメタテーブル407のレコード413は、外部関数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のパラメタ値を受け渡すことを示している。ここで、パラメタ型DBCOLUMNINFOは、データベース管理システム102が提供する、カラムに関する定義情報を表すためのデータ型である。パラメタ型DBCOLUMNINFOが指定された場合は、問合せ処理制御部109が、そのパラメタ値として、処理対象となっているカラムの定義情報を渡すように処理する。
SELECT extract(contents, 'abstract')
FROM reports
WHERE published_data > '1996-10-15'
すなわち、実行手順コード111は、インデクス検索して得られた一時的な結果の集合の要素について外部関数p_sgml_extract()を逐次実行するという、ユーザ問合せ104に見合った処理の実行手順を示している。
13に保持する実行時入力情報112に保持する入力パラメタ値511へのポインタを保持している。ここでは、要求受付サーバ105のパラメタバインドによって設定した抽出パラメタを入力パラメタ値511としてポイントする。パラメタバインドとポインタの設定については、後で図8を参照して詳述する。
p_sgml_extract (
in sgmltext_t,
in VARCHAR,
returns BLOB,
in BLOB setter('p_sgml_load_sgmldef')
) as ADT_FUNCTION;
p_sgml_load_sgmldef (
returns BLOB,
in DBCOLUMNINFO
) as BIND_PARAMETER;
上記の記述例では、外部関数p_sgml_extract()と外部関数p_sgml_load_sgmldef() とをデータベース管理システム102から呼び出すためのインタフェイス仕様が示されている。
、ここに指定された外部関数によってパラメタ値を取得することを示す。また、キーワードasに続いて関数修飾子 ADT_FUNCTION を指定することにより、当該関数がADT関数に対応付けられた外部関数であることを示す。キーワードreturns から as ADT_FUNCTION; までの記述が、「ユーザによる組込みモジュールの機
能呼び出しで渡される入力情報以外の付加的な入力情報を当該組込みモジュールの実行のために渡す指示」に相当する。また、キーワードsetterに続いて外部関数名を指定することが、「実行サーバ上で組込みモジュールを実行する際に必要な入力情報を要求受付サーバが入力情報取得用の組込みモジュールを実行して取得すべきことを示す指示」に相当する。なお、ユーザからの要求に用いられるADT関数extract() のインタフェイス仕様では、ADT型sgmltext_tとパラメタ型VARCHAR の2つの入力をとるように定義されているのに対して、この2つの入力以外にパラメタ型BLOBの入力を2つとるように外部関数p_sgml_extract()が定義されている。
102:データベース管理システム
105:要求受付サーバ
106:実行サーバ
117:組込みモジュール
125:組込みモジュール
111:実行手順コード
112:実行時入力情報
124:実行時入力情報
131:組込みモジュール仕様記述
Claims (2)
- アプリケーションプログラムからデータベースに対する問い合わせの入力を受け付ける要求受付サーバ、及び、当該要求受付サーバから受信した指示に従いデータベース上のファイルへの入出力処理をする実行サーバを有するデータベース管理システムが実行するデータベース管理方法であって、
前記データベース管理システムは、予め前記データベースの入出力のための組込モジュールと当該組込モジュールへ入力される入力パラメタの属性の情報とを対応付けてテーブルとして格納する記憶装置を更に有し、
前記要求受付サーバにおいて、前記アプリケーションプログラムから前記データベースに対する問い合わせの入力を受け付け、
前記要求受付サーバにおいて、前記入力された問い合わせを解析し、
前記要求受付サーバにおいて、前記解析の結果に基づいて、前記問合せに基づき前記データベースへの入出力の実行手順コードを生成し、
前記要求受付サーバは、前記生成した実行手順コードにおいて呼び出される第1の組込モジュールと前記テーブルにおいて対応付けられた入力パラメタの属性が、要求受付サーバにおいて実行される第2の組込モジュールである場合に、前記実行手順コードに使用する入力パラメタが有るものと判定し、前記生成した実行手順コードと、前記実行手順コードに使用する入力パラメタとしての前記第2の組込モジュールの出力とを前記実行サーバに出力することを特徴とするデータベース管理方法。 - アプリケーションプログラムからデータベースに対する問い合わせの入力を受け付ける要求受付サーバ、当該要求受付サーバから受信した指示に従いデータベース上のファイルへの入出力処理をする実行サーバ、及び、予め前記データベースの入出力のための組込モジュールと当該組込モジュールへ入力される入力パラメタの属性の情報とを対応付けて格納する記憶装置とを有するデータベース管理システムであって、
前記要求受付サーバは、前記アプリケーションプログラムから前記データベースに対する問い合わせの入力を受け付ける手段と、
前記入力された問い合わせを解析する手段と、
前記解析の結果に基づいて、前記問合せに基づき前記データベースへの入出力の実行手順コードを生成する手段と、
前記生成した実行手順コードにおいて呼び出される第1の組込モジュールと前記テーブルにおいて対応付けられた入力パラメタの属性が、前記第1の組込モジュールと異なり前記要求受付サーバにおいて実行される第2の組込モジュールである場合に、前記要求受付サーバにおいて、前記生成した実行手順コードと、前記第1の組込モジュールの入力となる前記第2の組込モジュールの出力とを前記実行サーバに出力する手段とを備えることを特徴とするデータベース管理システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004349263A JP3882835B2 (ja) | 2004-12-02 | 2004-12-02 | データベース管理方法および並列データベース管理システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004349263A JP3882835B2 (ja) | 2004-12-02 | 2004-12-02 | データベース管理方法および並列データベース管理システム |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9035021A Division JPH10232875A (ja) | 1997-02-19 | 1997-02-19 | データベース管理方法および並列データベース管理システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005135429A JP2005135429A (ja) | 2005-05-26 |
JP3882835B2 true JP3882835B2 (ja) | 2007-02-21 |
Family
ID=34650983
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004349263A Expired - Fee Related JP3882835B2 (ja) | 2004-12-02 | 2004-12-02 | データベース管理方法および並列データベース管理システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3882835B2 (ja) |
-
2004
- 2004-12-02 JP JP2004349263A patent/JP3882835B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2005135429A (ja) | 2005-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH10232875A (ja) | データベース管理方法および並列データベース管理システム | |
US6708186B1 (en) | Aggregating and manipulating dictionary metadata in a database system | |
US8886686B2 (en) | Making and using abstract XML representations of data dictionary metadata | |
JP3836928B2 (ja) | データベース処理方法 | |
US20030105745A1 (en) | Text-file based relational database | |
US6925462B2 (en) | Database management system, and query method and query execution program in the database management system | |
JP3742177B2 (ja) | 並列データベースシステムルーチン実行方法 | |
US8176030B2 (en) | System and method for providing full-text search integration in XQuery | |
JP2001167087A (ja) | 構造化文書検索装置,構造化文書検索方法,構造化文書検索用プログラム記録媒体および構造化文書検索用インデックス作成方法 | |
KR20060095456A (ko) | 정보 검색 쿼리를 작성하는 시스템 및 방법 | |
US6735598B1 (en) | Method and apparatus for integrating data from external sources into a database system | |
US7519948B1 (en) | Platform for processing semi-structured self-describing data | |
CN115543402A (zh) | 一种基于代码提交的软件知识图谱增量更新方法 | |
US8433729B2 (en) | Method and system for automatically generating a communication interface | |
EP1016982A1 (en) | Method and apparatus of processing semistructured textual data | |
US7689542B2 (en) | Dynamic return type generation in a database system | |
JP3777666B2 (ja) | データベース処理方法およびシステム | |
US8903846B2 (en) | Method and apparatus for integrating data from external sources into a database system | |
US11093492B1 (en) | System and method of fetching data from an external program | |
JP3882835B2 (ja) | データベース管理方法および並列データベース管理システム | |
US7512599B2 (en) | Query duration types | |
US9172595B2 (en) | Systems and methods of packet object database management | |
Cybula et al. | Query optimization by result caching in the stack-based approach | |
EP1626357A2 (en) | Extension of xquery in a high performance xml/xquery database | |
JP4403754B2 (ja) | ソフトウェアコンポーネント情報検索システム,方法,およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060314 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20060421 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060515 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060704 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060901 |
|
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: 20061024 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061106 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101124 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101124 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111124 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111124 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121124 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121124 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131124 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |