JPH04242458A - 分散データベースシステム - Google Patents

分散データベースシステム

Info

Publication number
JPH04242458A
JPH04242458A JP3015870A JP1587091A JPH04242458A JP H04242458 A JPH04242458 A JP H04242458A JP 3015870 A JP3015870 A JP 3015870A JP 1587091 A JP1587091 A JP 1587091A JP H04242458 A JPH04242458 A JP H04242458A
Authority
JP
Japan
Prior art keywords
database system
records
record
server
dml
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
JP3015870A
Other languages
English (en)
Inventor
Masaki Hamadate
浜館 昌樹
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP3015870A priority Critical patent/JPH04242458A/ja
Publication of JPH04242458A publication Critical patent/JPH04242458A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、異なる電子計算機シス
テム上に分散配置されたデータベースの制御を行う分散
データベースシステムに利用され、特に、処理時間の短
縮を実現するために行われているデータブロック化転送
方式における転送データ先読み方式に関する。
【0002】本発明において、DML命令とはデータベ
ース操作言語による命令をいい、オープンカーソル命令
とはデータベースシステムで実行される一般的な実行シ
ーケンスである条件を満たすレコードの集合を作成する
DML命令をいい、フェッチ命令とは前期レコードの集
合から一件ずつレコードを参照するDML命令をいう。
【0003】
【従来の技術】データベースシステムで実行される一般
的なDML実行シーケンスに、オープン(OPEN)カ
ーソル命令実行後、フェッチ(FETCH)命令を、集
合を生成している件数分回繰り返す方式がある。
【0004】分散型データベースシステムにおいて、デ
ータ転送回数の削減を行いレスポンスタイムの短縮を実
現するため、前述したDMLシーケンスに着目し、ユー
ザ業務プログラムがフェッチ命令を実行した場合、オー
プンカーソル命令により作成されたレコードの集合から
、リピティションカウント数のフェッチ命令を実行し、
得たレコードをブロッキングし、一括転送を行い、また
、クライアントデータベースシステムでは、一括転送さ
れたレコードをブロッキングし、クライアントデータベ
ースシステムの持つバッファ上に格納しておき、ユーザ
からフェッチ命令が実行された場合、バッファ上のレコ
ードを返却する方式が実現されている。
【0005】
【発明が解決しようとする課題】前述した従来の分散デ
ータベースシステムにおけるデータブロック化転送方式
では、オープンカーソル命令により選択されたレコード
件数が複数件存在する場合、業務プログラムが最初に実
行するフェッチ命令の実行時、および、リピティション
カウント数と等しいフェッチ命令を実行した後の最初の
フェッチ命令の実行時には、サーバデータベースシステ
ムでリピティションカウントの件数を満たすまでフェッ
チ命令を実行するため、レスポンスタイムが悪化する欠
点がある。
【0006】本発明の目的は、前記の欠点を除去するこ
とにより、レスポンスタイムを短縮できるデータブロッ
ク化転送方式を有する分散データベースシステムを提供
することにある。
【0007】
【課題を解決するための手段】本発明は、クライアント
データベースシステムとサーバデータベースシステムと
を備え、前記クライアントデータベースシステムは、ユ
ーザ業務プログラムにより実行されたDML命令に従い
、自システム内に蓄積されたレコードがあるときはその
蓄積されたレコードを、ないときには前記サーバデータ
ベースシステムに対してプロトコルを転送しその結果転
送されてきたレコードを前記ユーザ業務プログラムに返
却する手段を含み、前記サーバデータベースシステムは
、データベース格納手段と、前記クライアントデータベ
ースシステムからのプロトコルを受信しこれに対して前
記データベース格納手段に格納されたレコードを転送す
る通信手段とを含む分散データベースシステムにおいて
、前記サーバデータベースシステムは、一度に転送可能
な最大レコード数(以下、リピティションカウント数と
いう。)分のレコードを、あらかじめ前記データベース
格納手段より取り出しブロック化して別に格納しておき
、前記クライアントデータベースシステムからのプロト
コルに対してこの格納されたレコードを転送する転送準
備手段を含むことを特徴とする。
【0008】また、本発明は、前記転送準備手段は、レ
コードを格納するサーババッファと、ブロッキングした
データを転送済みか、未転送かをフラグの「オン」「オ
フ」に対応させ示すデータ未転送フラグと、転送された
プロトコルを解析しプロトコルにより指示されたDML
命令の実行指示を行うプロトコル解析手段と、DML命
令の実行指示を受けた場合、指示されたDML命令がオ
ープンカーソル命令であれば、オープンカーソル命令を
実行した後、フェッチ命令をリピティションカウント数
回実行し、指示されたDML命令がフェッチ命令の場合
、前記サーババッファ上にブロック化されたレコードが
存在すればこのレコードを前記通信手段を経由し、前記
クライアントデータベースシステムに転送し、前記サー
ババッファ上にブロック化されたレコードが存在しなけ
れば、前記レコード未転送フラグを「オン」にした後、
フェッチ命令をリピティションカウント数回実行し、そ
の他のDML命令であれば、指定されたDML命令を実
行するDML実行手段と、前記DML実行手段が実行し
たフェッチ命令により返却されたレコードを前記サーバ
バッファ上にブロック化し格納し、リピティションカウ
ント数分のレコードをブロック化した場合、前記レコー
ド未転送フラグを「オフ」に設定するデータブロック化
手段と、前記サーババッファを監視し、前記サーババッ
ファ上のレコードが転送された場合、リピティションカ
ウント数のフェッチ命令を前記DML実行手段に転送し
、前記サーババッファ上にレコードを蓄積するサーババ
ッファ監視手段とを含むことができる。
【0009】
【作用】サーバデータベースシステムにおいて、転送準
備手段は、例えば、サーババッファを設けサーババッフ
ァ監視手段により常にサーババッファ内にレコードをリ
ピティションカウント数分ブロック化して格納しておく
ようにする。
【0010】従って、サーバデータベースシステムでの
処理時間を実際に無くすとこができ、レスポンスタイム
を短縮することが可能となる。
【0011】
【実施例】以下、本発明の実施例について図面を参照し
て説明する。
【0012】図1は本発明の一実施例を示すブロック構
成図である。
【0013】本実施例は、通信回線40で互に接続され
た、クライアントデータベースシステム20とサーバデ
ータベースシステム30とを備え、
【0014】クライアントデータベースシステム20は
、通信手段25と、レコードを格納するクライアントバ
ッファ24と、ユーザ業務プログラム10より実行され
たDML命令がフェッチ命令以外の命令の場合、DML
命令のプロトコル生成指示を行い、ユーザ業務プログラ
ム10より実行されたDML命令がフェッチ命令であっ
た場合、クライアントバッファ24上を参照し、クライ
アントバッファ24上にレコードが存在する場合、クラ
イアントバッファ24上のレコードをユーザ業務プログ
ラム10に返却し、クライアントバッファ24上にレコ
ードが存在しない場合、DML命令のプロトコル生成指
示を行うDML解析手段21と、プロトコル生成指示が
された場合、指定されたDML命令のプロトコルを生成
し、通信手段25を経由し、転送するプロトコル生成転
送手段22と、サーバデータベースシステム30からブ
ロック化されたレコードが転送された場合、一件目のレ
コードをDML解析手段21に返却後、二件目以降のレ
コードをクライアントバッファ24上に格納するレコー
ドデブロッキング手段23とを含み、
【0015】サーバデータベースシステム30は、通信
手段31と、レコードを格納するサーババッファ37と
、ブロッキングしたデータを転送済みか、未転送かをフ
ラグの「オン」「オフ」に対応させ示すデータ未転送フ
ラグ38と、転送されたプロトコルを解析し、プロトコ
ルにより指示されたDML命令の実行指示を行うプロト
コル解析手段32と、DML命令の実行指示を受けた場
合、指示されたDML命令がオープンカーソル命令であ
れば、オープンカーソル命令を実行した後、フェッチ命
令をリピティションカウント数回実行し、指示されたD
ML命令がフェッチ命令の場合、サーババッファ37上
にブロック化れさたレコードが存在すれば当該レコード
を通信手段31を経由し、クライアントデータベースシ
ステム20に転送し、サーババッファ37上にブロック
化されたレコードが存在しなければ、レコード未転送フ
ラグ38を「オン」にした後、フェッチ命令をリピティ
ションカウント数回実行し、その他のDML命令であれ
ば、指定されたDML命令を実行するDML実行手段3
3と、このDML実行手段33が実行したフェッチ命令
により返却されたレコードをサーババッファ37上にブ
ロック化し格納し、リピティションカウント数分のレコ
ードをブロック化した場合、レコード未転送フラグ38
を「オフ」に設定するデータブロック化手段34と、サ
ーババッファ37を監視し、サーババッファ37上のレ
コードが転送された場合、リピティションカウント数の
フェッチ命令をDML実行手段33に転送し、サーババ
ッファ37上にレコードを蓄積するサーババッファ監視
手段39と、データベースアクセス手段35、およびデ
ータベースファイル36とを含んでいる。
【0016】本発明の特徴とするところは、図1におい
て、サーバデータベースシステム30は、リピティショ
ンカウント数分のレコードを、あらかじめデータベース
ファイル36より取り出しブロック化して格納しておき
、クライアントデータベースシステム20からのプロト
コルに対してこの格納されたレコードを転送する転送準
備手段としての、プロトコル解析手段32、DML実行
手段33、データブロック化手段34、サーババッファ
37、レコード未転送フラグ38、およびサーババッフ
ァ監視手段39を含むことにある。
【0017】次に、本実施例の動作について、(1) 
オープンカーソル命令を実行した場合、(2) クライ
アントバッファ24上にレコードが存在しているとき、
ユーザ業務プログラム10がフェッチ命令を実行した場
合、ならびに、(3) クライアントバッファ24上に
レコードが存在しないとき、ユーザ業務プログラム10
がフェッチ命令を実行した場合に分けて説明する。
【0018】(1) オープンカーソル命令を実行した
場合
【0019】ユーザ業務プログラム10がクライア
ントデータベースシステム20に対しオープンカーソル
命令を実行した場合、DML解析手段21はプロトコル
生成転送手段22に対し、オープンカーソル文の転送を
行う。オープンカーソル文を転送されたプロトコル生成
転送手段22は、プロトコルを生成し、通信手段25お
よび通信手段31を経由し、サーバデータベースシステ
ム30のプロトコル解析手段32に転送する。
【0020】プロトコルを転送されたプロトコル解析手
段32はプロトコルを解析し、得たオープンカーソル文
をDML実行手段33に転送するオープンカーソル文を
転送されたDML実行手段33は、オープンカーソル命
令をデータベースアクセス手段35に対し実行後、フェ
ッチ命令を実行し、データベースアクセス手段35より
返却されたレコードをデータブロック化手段34に転送
する。レコードを転送されたデータブロック化手段34
はレコードをサーババッファ37上に蓄積する。前述し
たフェッチ文実行からレコードのサーババッファ蓄積ま
での処理をリピティションカウント数の回数実行後サー
ババッファ37上の全てのレコードをブロック化してお
く。
【0021】(2) クライアントバッファ24上にレ
コードが存在しているとき、ユーザ業務プログラム10
がフェッチ命令を実行した場合。
【0022】ユーザ業務プログラム10がクライアント
データベースシステム20に対しフェッチ命令を実行し
た場合、DML解析手段21はクライアントバッファ2
4を参照する。クライアントバッファ24上にはレコー
ドが格納されているため、クライアントバッファ24上
のレコードをユーザ業務プログラム10に返却する。
【0023】(3) クライアントバッファ24上にレ
コードが存在しないとき、ユーザ業務プログラム10が
フェッチ命令を実行した場合。
【0024】ユーザ業務プログラム10がクライアント
データベースシステム20に対しフェッチ命令を実行し
た場合、DML解析手段21はクライアントバッファ2
4を参照する。クライアントバッファ24上にはレコー
ドが格納されていないため、プロトコル生成転送手段2
2に対し、フェッチ文の転送を行う。フェッチ文を転送
されたプロトコル生成転送手段22は、プロトコルを生
成し、通信手段25および通信手段31を経由し、サー
バデータベースシステム30のプロトコル解析手段32
に転送する。
【0025】プロトコルを転送されたプロトコル解析手
段32はプロトコルを解析し、得られたフェッチ文をD
ML実行手段33に転送する、フェッチ文を転送された
DML実行手段33はサーババッファ37を参照し、ブ
ロック化されたレコードが存在する場合、そのブロック
化したレコードを通信手段31および通信手段25を経
由してレコードデブロッキング手段23に転送する。サ
ーババッファ37上にブロック化されたレコードが存在
しない場合、DML実行手段33はレコード未転送フラ
グ38を「オン」に設定した後、データベースアクセス
手段35に対してフェッチ命令を実行し、データベース
アクセス手段35より返却されたレコードをデータブロ
ック化手段34に転送する。 レコードを転送されたデータブロック化手段34はレコ
ードをサーババッファ37上に蓄積する。前述したフェ
ッチ文実行からレコードのサーババッファ蓄積までの処
理をリピティションカウント数の回数実行し、サーババ
ッファ37上の全てのレコードをブロック化した後、レ
コード未転送フラグ38が「オフ」ならば処理を終了し
、レコード未転送フラグ38が「オン」ならば、通信手
段31および通信手段25を経由し、レコードデブロッ
キング手段23にデータを転送した後、レコード未転送
フラグ38を「オフ」に設定する。前述した処理はオー
プンカーソル命令により選択されたレコードが全てDM
L実行手段33が実行するフェッチ命令により読み込ま
れるまで、繰り返し実行される。
【0026】フェッチ命令により全てのレコード読み込
んだ場合、その時点までにデータブロック化手段34に
蓄えられているレコードのブロック化を行い、レコード
未転送フラグ38が「オフ」なら処理を終了し、レコー
ド未転送フラグ38が「オン」ならばブロック化したレ
コードをレコードデブロッキング手段23に転送した後
、レコード未転送フラグ38を「オフ」に設定する。
【0027】サーババッファ監視手段39はサーババッ
ファ37を監視しており、サーババッファ37上のブロ
ック化されたレコードが転送された場合、リピティショ
ンカウント数のフェッチ命令の実行をDML実行手段3
3に転送し、前述した処理により、サーババッファ37
上にレコードを蓄積しておく。
【0028】サーバデータベースシステム30のデータ
ブロック化手段34より、ブロック化されたレコードを
転送されたレコードデブロッキング手段23は、レコー
ドをデブロッキングし、DML解析手段21に一件目の
レコードを返却し、二件目以降のレコードをクライアン
トバッファ24上に格納する。
【0029】次に図2を参照し、DML実行シーケンス
を説明する。図2において、サーバデータベースシステ
ム30ではオープンカーソル命令の実行後、リピティシ
ョンカウント数のフェッチ命令を実行しレコードをサー
ババッファ37上に蓄積している(A) 。
【0030】クライアントデータベースシステム20に
おいてユーザ業務プログラム10より1回目のフェッチ
命令が実行された場合、サーバデータベースシステム3
0側でのフェッチ処理は行われずサーバデータベースシ
ステム30において前もって蓄積されているブロック化
されたレコードを転送する。蓄積したレコードを転送し
た場合、サーバデータベースシステム30ではフェッチ
命令をリピティションカウント数回実行し、レコードを
ブロック化してサーババッファ37上に蓄積しておく(
B) 。
【0031】クライアントデータベースシステム20で
はブロック化されたレコードをクライアントバッファ2
4に蓄積しておき、リピティションカウント数のフェッ
チ命令をクライアントデータベースシステム20で処理
する(a) 。
【0034】リピティションカウント数のフェッチ命令
がユーザ業務プログラム10より実行された後、最初の
フェッチ命令ではクライアントバッファ24上にレコー
ドが存在しないため、サーバデータベースシステム30
に対してフェッチ命令が転送されるが、既にサーババッ
ファ37上にブロック化したレコードが蓄積されている
ので、そのレコードを転送する(B) 。この処理をオ
ープンカーソル命令で選択されたレコードが存在しなく
なるまで繰り返す。図2で示したケースではサーバデー
タベースシステム30で行われるフェッチ処理A、Bお
よびCに必要な処理時間を削減することが可能である。
【0035】
【発明の効果】以上、詳細に説明したように、本発明は
、サーバデータベースシステムにおいてクライアントデ
ータベースシステムよりフェッチ命令が転送される以前
にフェッチ文を実行し、参照されるレコードを準備して
おくため、従来のシステムと比較した場合、サーバデー
タベースシステムでの処理時間を無くし、レスポンスタ
イムを短縮できる効果がある。
【図面の簡単な説明】
【図1】  本発明の一実施例を示すブロック構成図。
【図2】  図1におけるDML実行シーケンスを示す
図。
【符号の説明】
10  ユーザ業務プログラム 20  クライアントデータベースシステム21  D
ML解析手段 22  プロトコル生成転送手段 23  レコードデブロッキング手段 24  クライアントバッファ 25  通信手段 30  サーバデータベースシステム 31  通信手段 32  プロトコル解析手段 33  DML実行手段 34  データブロック化手段 35  データベースアクセス手段 36  データベースファイル 37  サーババッファ 38  レコード未転送フラグ 39  サーババッファ監視手段 40  通信回線

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】  クライアントデータベースシステムと
    サーバデータベースシステムとを備え、前記クライアン
    トデータベースシステムは、ユーザ業務プログラムによ
    り実行されたDML命令に従い、自システム内に蓄積さ
    れたレコードがあるときはその蓄積されたレコードを、
    ないときには前記サーバデータベースシステムに対して
    プロトコルを転送しその結果転送されてきたレコードを
    前記ユーザ業務プログラムに返却する手段を含み、前記
    サーバデータベースシステムは、データベース格納手段
    と、前記クライアントデータベースシステムからのプロ
    トコルを受信しこれに対して前記データベース格納手段
    に格納されたレコードを転送する通信手段とを含む分散
    データベースシステムにおいて、前記サーバデータベー
    スシステムは、一度に転送可能な最大レコード数(以下
    、リピティションカウント数という。)分のレコードを
    、あらかじめ前記データベース格納手段より取り出しブ
    ロック化して別に格納しておき、前記クライアントデー
    タベースシステムからのプロトコルに対してこの格納さ
    れたレコードを転送する転送準備手段を含むことを特徴
    とする分散データベースシステム。
  2. 【請求項2】  前記転送準備手段は、レコードを格納
    するサーババッファと、ブロッキングしたデータを転送
    済みか、未転送かをフラグの「オン」「オフ」に対応さ
    せ示すデータ未転送フラグと、転送されたプロトコルを
    解析しプロトコルにより指示されたDML命令の実行指
    示を行うプロトコル解析手段と、DML命令の実行指示
    を受けた場合、指示されたDML命令がオープンカーソ
    ル命令であれば、オープンカーソル命令を実行した後、
    フェッチ命令をリピティションカウント数回実行し、指
    示されたDML命令がフェッチ命令の場合、前記サーバ
    バッファ上にブロック化されたレコードが存在すればこ
    のレコードを前記通信手段を経由し、前記クライアント
    データベースシステムに転送し、前記サーババッファ上
    にブロック化されたレコードが存在しなければ、前記レ
    コード未転送フラグを「オン」にした後、フェッチ命令
    をリピティションカウント数回実行し、その他のDML
    命令であれば、指定されたDML命令を実行するDML
    実行手段と、前記DML実行手段が実行したフェッチ命
    令により返却されたレコードを前記サーババッファ上に
    ブロック化し格納し、リピティションカウント数分のレ
    コードをブロック化した場合、前記レコード未転送フラ
    グを「オフ」に設定するデータブロック化手段と、前記
    サーババッファを監視し、前記サーババッファ上のレコ
    ードが転送された場合、リピティションカウント数のフ
    ェッチ命令を前記DML実行手段に転送し、前記サーバ
    バッファ上にレコードを蓄積するサーババッファ監視手
    段とを含む請求項1に記載の分散データベースシステム
JP3015870A 1991-01-16 1991-01-16 分散データベースシステム Pending JPH04242458A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3015870A JPH04242458A (ja) 1991-01-16 1991-01-16 分散データベースシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3015870A JPH04242458A (ja) 1991-01-16 1991-01-16 分散データベースシステム

Publications (1)

Publication Number Publication Date
JPH04242458A true JPH04242458A (ja) 1992-08-31

Family

ID=11900835

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3015870A Pending JPH04242458A (ja) 1991-01-16 1991-01-16 分散データベースシステム

Country Status (1)

Country Link
JP (1) JPH04242458A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009151411A (ja) * 2007-12-19 2009-07-09 Mitsubishi Electric Corp データ検索装置及びシステム及びプログラム及びデータ検索方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009151411A (ja) * 2007-12-19 2009-07-09 Mitsubishi Electric Corp データ検索装置及びシステム及びプログラム及びデータ検索方法

Similar Documents

Publication Publication Date Title
US11288231B2 (en) Reproducing datasets generated by alert-triggering search queries
US5890159A (en) Data transfer mechanism between databases using a separate pipe at each database
CN106776855B (zh) 基于Spark Streaming读取Kafka数据的处理方法
DE69735866T2 (de) Vorrichtung und Verfahren zur Erzeugung von voraussagbaren Antworten
CN111177161B (zh) 数据处理方法、装置、计算设备和存储介质
US7328213B2 (en) Transaction processing method, transaction control apparatus and program thereof
US7292961B2 (en) Capturing session activity as in-memory snapshots using a time-based sampling technique within a database for performance tuning and problem diagnosis
US7415467B2 (en) Database replication system
CN107301214A (zh) 在hive中数据迁移方法、装置及终端设备
US20140156603A1 (en) Method and an apparatus for splitting and recovering data in a power system
CN109697112A (zh) 分布式集约化一站式作业系统和实现方法
CN108595121A (zh) 数据存储方法和装置
EP1789868A2 (en) Functional operations for accessing and/or building interlocking trees datastores to enable their use with applications software
JPH04242458A (ja) 分散データベースシステム
CN114528049A (zh) 一种基于InfluxDB实现API调用信息统计的方法及系统
JP2780601B2 (ja) 電文一括処理システム
CN116980475B (zh) 一种基于binlog与双环形缓冲区的数据推送系统
US20170031981A1 (en) Facilitating execution of external search commands during query processing
JPH02118841A (ja) 入力待ち行列管理方式
JPH06314208A (ja) プロセス間通信方法
CN117472365A (zh) 数据处理方法、终端设备以及存储介质
JP2816430B2 (ja) 集合フエツチ処理方式
CN114661242A (zh) 一种数据实时存储方法和嵌入式实时数据存储中间件
JPH10254749A (ja) マルチサーバシステムにおけるデータ更新方式
CN117632860A (zh) 基于Flink引擎的小文件合并方法、装置及电子设备