JPH10240591A - Sqlプロシジャ実行時の計算機負荷分散方法 - Google Patents

Sqlプロシジャ実行時の計算機負荷分散方法

Info

Publication number
JPH10240591A
JPH10240591A JP9044999A JP4499997A JPH10240591A JP H10240591 A JPH10240591 A JP H10240591A JP 9044999 A JP9044999 A JP 9044999A JP 4499997 A JP4499997 A JP 4499997A JP H10240591 A JPH10240591 A JP H10240591A
Authority
JP
Japan
Prior art keywords
procedure
sql
statement
database
execution
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
JP9044999A
Other languages
English (en)
Inventor
Takashi Kodera
孝 小寺
Koji Kimura
耕治 木村
Masako 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 JP9044999A priority Critical patent/JPH10240591A/ja
Publication of JPH10240591A publication Critical patent/JPH10240591A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【課題】 SQLプロシジャを実行するときにデータベ
ースサーバにかかる計算機負荷を分散させる。 【解決手段】 SQLプロシジャ定義文10を解析して
データベースへのデータ操作を行うSQLデータ操作文
とSQLデータ操作文の実行を制御するSQL制御文と
に分離してSQL制御文からSQLデータ操作文呼出し
を含む実行形式の論理制御手続き18を生成して記憶装
置に格納し、SQLデータ操作文から実行形式のデータ
ベースアクセス手続き19を生成して記憶装置に格納す
る。データベースサーバにアプリケーションサーバを前
置し、アプリケーションサーバは論理制御手続き18を
実行し、データベースアクセス手続きの呼出しによっ
て、データベースサーバはデータベースアクセス手続き
19を実行する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、データベースに対
するデータ操作を記述するSQL(Structure
d Query Language)プロシジャに係わ
り、特にSQLプロシジャを実行するときの計算機負荷
を分散する方法に関する。
【0002】
【従来の技術】データベースを管理するデータベースサ
ーバを設け、クライアントからデータベースサーバへS
QLを送り、データベースに対するデータ操作を行うシ
ステムが広く知られている。データベースサーバに設け
られたデータベース・マネージメント・システムは、す
でにコンパイルされたSQLプロシジャを記憶装置から
取り出して実行することによってデータベースについて
要求された操作を行う。
【0003】
【発明が解決しようとする課題】上記従来技術によれ
ば、データベースサーバにはSQLプロシジャ実行手続
きを実行するときの計算機負荷がかかり、クライアント
の数が多いとき1つのデータベースサーバに計算機資源
の利用負荷が集中するという問題があった。
【0004】本発明の目的は、SQLプロシジャ実行時
の計算機負荷を分散させることにある。
【0005】
【課題を解決するための手段】本発明は、SQLプロシ
ジャ実行時の計算機負荷を分散させるために、SQLプ
ロシジャ実行手続きを階層化された2種類の実行手続き
に分離するSQLプロシジャ実行手続きの作成方法を特
徴とする。すなわちSQLプロシジャ定義文を解析して
データベースへのデータ操作を行うSQLデータ操作文
とSQLデータ操作文の実行を制御するSQL制御文と
に分離し、SQL制御文からSQLデータ操作文呼出し
を含む実行形式の論理制御手続きを生成して記憶装置に
格納し、SQLデータ操作文から実行形式のデータベー
スアクセス手続きを生成して記憶装置に格納する。
【0006】また本発明は、データベースサーバに前置
するアプリケーションサーバを設け、このアプリケーシ
ョンサーバは上記の論理制御手続きを保持し、データベ
ースサーバはデータベースアクセス手続きを保持し、ア
プリケーションサーバは、クライアントからのSQLプ
ロシジャ呼出しに応答して該当する論理制御手続きを実
行し、実行時にデータベースアクセス手続きの呼出しが
出現したとき、データベースサーバのデータベースアク
セス手続きを呼び出し、データベースサーバは、呼び出
されたデータベースアクセス手続きを実行するSQLプ
ロシジャ実行時の計算機負荷分散方法を特徴とする。
【0007】
【発明の実施の形態】以下本発明の実施形態について図
面を用いて説明する。
【0008】図1は、本発明を実施するシステムの構成
図である。クライアント31は、SQLプロシジャの呼
出元となるプログラムを実行するパソコン等の電子計算
機である。アプリケーションサーバ32は、ネットワー
ク30を介してクライアント31と接続され、クライア
ント31からSQLプロシジャ呼出しを受けてSQLプ
ロシジャのうちの論理制御手続きの部分を実行するパソ
コン、ワークステーションを含む電子計算機である。ア
プリケーションサーバ32にはネットワーク30を介し
て複数台のクライアント31が接続され得る。データベ
ースサーバ33は、データベース34を管理するデータ
ベース・マネージメント・システム(DBMS)を有し
ており、ネットワーク30を介してアプリケーションサ
ーバ32と接続され、アプリケーションサーバ32から
呼び出されてデータベースアクセス手続きを実行するパ
ソコン、ワークステーションを含む電子計算機である。
アプリケーションサーバ32にはネットワーク30を介
して複数台のデータベースサーバ33が接続され得る。
【0009】図2は、SQLプロシジャ定義文から論理
制御手続き及びデータベースアクセス手続きを生成する
処理の流れを示す図である。10はクライアント31の
利用者によって入力され記憶装置に格納されたソーステ
キスト形式のSQLプロシジャ定義文である。18は記
憶装置に格納されたオブジェクト・プログラム形式(実
行形式)の論理制御手続きである。19は記憶装置に格
納された実行形式のデータベースアクセス手続きであ
る。SQLプロシジャ文解析部11は、SQLプロシジ
ャ定義文10を読み込んでSQLプロシジャ定義文中の
SQL制御文を解析するとともにSQLデータ操作文テ
キストを抽出し、SQL制御文テキストの解析結果を論
理制御手続き生成部12に渡し、SQLデータ操作文テ
キストをSQLデータ操作文テキスト転送部14に渡
す。論理制御手続き生成部12は、この解析結果を基に
して論理制御手続きを生成し、論理制御手続き格納部1
3に渡す。論理制御手続き格納部13は、記憶装置上に
この論理制御手続き18を格納する。
【0010】一方SQLデータ操作文テキスト転送部1
4は、SQLデータ操作文のデータ操作の対象となるデ
ータベース34の所在場所を特定し、ネットワーク30
を介して該当するデータベースサーバ33のSQLデー
タ操作文解析部15に転送する。SQLデータ操作文解
析部15は、SQLデータ操作文の構文を解析し、デー
タベース辞書に登録されたデータベースの定義情報を取
得し、SQLデータ操作文解析結果及びデータベース定
義情報をデータベースアクセス手続き生成部16に渡
す。データベースアクセス手続き生成部16は、SQL
操作文解析結果とデータベース定義情報を基にしてデー
タベースアクセス手続きを生成し、データベースアクセ
ス手続き格納部17に渡す。データベースアクセス手続
き格納部17は、記憶装置上にこのデータベースアクセ
ス手続き19を格納する。
【0011】11及び12の処理部の処理は、クライア
ント31又はアプリケーションサーバ32内に格納され
る生成プログラムによって実行される。13及び14の
処理部の処理は、アプリケーションサーバ32内の生成
プログラムによって実行される。クライアント31がS
QLプロシジャ文解析部11及び論理制御手続き生成部
12の処理を行う場合には、SQLプロシジャ文解析部
11とSQLデータ操作文テキスト転送部14の間及び
論理制御手続き生成部12と論理制御手続き格納部13
の間でクライアント31からアプリケーションサーバ3
2へそれぞれSQLデータ操作文テキスト及び生成され
た論理制御手続きの転送が介入する。またアプリケーシ
ョンサーバ32がSQLプロシジャ文解析部11及び論
理制御手続き生成部12の処理を行う場合には、クライ
アント31は入力されたSQLプロシジャ定義文10を
アプリケーションサーバ32に転送する。15〜17の
処理部の処理は、データベースサーバ33内に格納され
る生成プログラムによって実行される。なおSQLデー
タ操作文テキスト転送部14を除くSQLプロシジャ文
解析部11からデータベースアクセス手続き格納部17
までの処理をクライアント31、アプリケーションサー
バ32又はデータベースサーバ33を含む何らかの計算
機で実行し、論理制御手続き18及びデータベースアク
セス手続き19をそれぞれアプリケーションサーバ32
及びデータベースサーバ33の記憶装置に格納するよう
に実行形式プログラムの配布をすることも可能である。
【0012】図3は、SQLプロシジャ定義文10から
生成される論理制御手続き18及びデータベースアクセ
ス手続き19の事例を示す図である。SQLプロシジャ
定義文10中のIFからEND IFまでのIF制御文
は、論理制御手続き18中の#1の論理制御手続きを生
成する。この手続きは、データベースアクセス手続き#
1を呼び出し、その結果がTRUEであればデータベー
スアクセス手続き#2を呼び出し、FALSEであれば
データベースアクセス手続き#3を呼び出すものであ
る。またWHILEからEND WHILEまでのWH
ILE制御文は、論理制御手続き18中の#2の論理制
御手続きを生成する。この手続きは、データベースアク
セス手続き#4を呼び出し、その結果がTRUEである
間はデータベースアクセス手続き#5を呼び出し続け、
FALSEになったときWHILE制御文の処理を終了
するものである。SQLデータ操作文であるEXIST
S述語は、データベースアクセス手続き19の#1手続
きを生成する。SQLデータ操作文であるUPDATE
文は、データベースアクセス手続き19の#2手続きを
生成する。SQLデータ操作文であるINSERT文
は、データベースアクセス手続き19の#3手続きを生
成する。SQLデータ操作文である(SELECT S
UM…)<LIMの比較述語は、データベースアクセス
手続き19の#4手続きを生成する。またその後のIN
SERT文は、データベースアクセス手続き19の#5
手続きを生成する。このようにしてSQLプロシジャ実
行手続きは階層化された2種類の実行手続きに分離され
た形で生成される。
【0013】図4は、SQLプロシジャを呼び出して実
行するときのシステムの動作を説明する図である。クラ
イアント31中のアプリケーションプログラムがSQL
プロシジャを呼び出すと、データベースサーバ33に前
置されるアプリケーションサーバ32中のプロセスが起
動され、起動されたプロセスは記憶装置から該当する論
理制御手続き18を読み込んで実行する。その結果、検
索・条件評価手続きを呼び出すと、データベースサーバ
33中のプロセスが起動され、起動されたプロセスは記
憶装置から該当するデータベースアクセス手続き19を
読み込んで実行する。その結果、データベース34を検
索して条件評価する処理を行ってその結果をアプリケー
ションサーバ32に返す。またアプリケーションサーバ
32が更新処理手続きを呼び出すと、データベースサー
バ33はデータベース34を更新する処理を実行してそ
の結果をアプリケーションサーバ32に返す。挿入処理
手続きについても同様である。一連のSQLプロシジャ
の実行を終了すると、アプリケーションサーバ32はク
ライアント31へその処理結果を返す。クライアント3
1は、受け取った処理結果を表示装置上に表示する。
【0014】図5は、SQLプロシジャを呼び出して実
行するときの処理の流れを示す図である。クライアント
31中のSQLプロシジャ呼出元プログラム41がSQ
Lプロシジャ呼出し要求を発行すると、SQLインタフ
ェース部42は呼出し対象のSQLプロシジャが存在す
る場所を特定し、該当するアプリケーションサーバ32
に対してSQLプロシジャの実行要求を発行する。この
実行要求を受け付けたアプリケーションサーバ32の論
理制御手続き取り出し部43は、指定された論理制御手
続き18を読み込んでSQL制御文実行制御部44に制
御を渡す。SQL制御文実行制御部44は、論理制御手
続きを実行し、データベースアクセス手続きの呼出しが
現れると、SQLインタフェース部45にSQLデータ
操作文実行要求を発行する。SQLインタフェース部4
5は、データ操作の対象となるデータベースの格納場所
を特定し、該当するデータベースサーバ33に対してS
QLデータ操作文実行要求を発行する。この実行要求を
受け付けたデータベースサーバ33のデータベース手続
き取り出し部46は、指定されたデータベースアクセス
手続き19を読み込んでSQLデータ操作実行部47に
制御を渡す。SQLデータ操作実行部47は、データベ
ースアクセス処理部48を呼び出してデータベース34
についてのデータ操作を行う。
【0015】上記実施形態によれば、1つのクライアン
ト31が呼び出したSQLプロシジャが実行されると
き、アプリケーションサーバ32及びデータベースサー
バ33内の各処理ステップはシリアルに実行されるが、
複数のクライアント31がそれぞれSQLプロシジャを
呼び出して実行するとき、アプリケーションサーバ32
及びデータベースサーバ33内の処理は並行して実行さ
れる。このように従来1つのサーバに集中していたSQ
Lプロシジャの実行による計算機負荷がアプリケーショ
ンサーバ32とデータベースサーバ33に分散される。
【0016】
【発明の効果】以上述べたように本発明によれば、SQ
Lプロシジャ実行手続きが論理制御手続きとデータベー
スアクセス手続きに分離され、それぞれ別々のサーバに
よって実行されるので、SQLプロシジャ実行時の計算
機負荷を分散させることができる。
【0017】また従来データベースのデータにアクセス
するときの索引情報を変更したとき、SQLプロシジャ
の全体を再作成しなければならなかったが、本発明によ
れば論理制御手続きを再作成する必要がなく、データベ
ースアクセス手続きのみ再作成すればよく、データベー
スの定義情報への依存度が少ない。
【図面の簡単な説明】
【図1】実施形態のシステム構成図である。
【図2】実施形態のSQLプロシジャ定義文から論理制
御手続き及びデータベースアクセス手続きを生成する処
理の流れを示す図である。
【図3】実施形態のSQLプロシジャ定義文10から生
成される論理制御手続き18及びデータベースアクセス
手続き19の事例を示す図である。
【図4】SQLプロシジャを呼び出して実行するときの
システムの動作を説明する図である。
【図5】SQLプロシジャを呼び出して実行するときの
処理の流れを示す図である。
【符号の説明】
10・・・SQLプロシジャ定義文、18・・・論理制御手続
き、19・・・データベースアクセス手続き、32・・・アプ
リケーションサーバ、33・・・データベースサーバ、3
4・・・データベース

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】SQLプロシジャ実行時の計算機負荷を分
    散させるために計算機を利用してSQLプロシジャ実行
    手続きを階層化された2種類の実行手続きに分離する方
    法であって、 記憶装置に格納されたSQLプロシジャ定義文を解析し
    てデータベースへのデータ操作を行うSQLデータ操作
    文と該SQLデータ操作文の実行を制御するSQL制御
    文とに分離し、該SQL制御文からSQLデータ操作文
    呼出しを含む実行形式の論理制御手続きを生成して記憶
    装置に格納し、該SQLデータ操作文から実行形式のデ
    ータベースアクセス手続きを生成して記憶装置に格納す
    ることを特徴とするSQLプロシジャ実行手続きの作成
    方法。
  2. 【請求項2】SQLプロシジャ実行時のデータベースサ
    ーバの計算機負荷を分散させる方法であり、かつ該デー
    タベースサーバに前置するアプリケーションサーバを設
    け、該アプリケーションサーバはSQLプロシジャ定義
    文中のSQL制御文から生成される論理制御手続きを記
    憶手段に保持し、該データベースサーバは該SQL制御
    文に含まれるSQLデータ操作文から生成されるデータ
    ベースアクセス手続きを記憶手段に保持するシステムの
    計算機負荷分散方法であって、 該アプリケーションサーバによって該論理制御手続きを
    実行し、実行時にデータベースアクセス手続きの呼出し
    が出現したとき、該データベースサーバのデータベース
    アクセス手続きを呼び出し、該データベースサーバによ
    って呼び出されたデータベースアクセス手続きを実行す
    ることを特徴とするSQLプロシジャ実行時の計算機負
    荷分散方法。
JP9044999A 1997-02-28 1997-02-28 Sqlプロシジャ実行時の計算機負荷分散方法 Pending JPH10240591A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9044999A JPH10240591A (ja) 1997-02-28 1997-02-28 Sqlプロシジャ実行時の計算機負荷分散方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9044999A JPH10240591A (ja) 1997-02-28 1997-02-28 Sqlプロシジャ実行時の計算機負荷分散方法

Publications (1)

Publication Number Publication Date
JPH10240591A true JPH10240591A (ja) 1998-09-11

Family

ID=12707129

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9044999A Pending JPH10240591A (ja) 1997-02-28 1997-02-28 Sqlプロシジャ実行時の計算機負荷分散方法

Country Status (1)

Country Link
JP (1) JPH10240591A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001034634A (ja) * 1999-07-26 2001-02-09 Nec Software Chugoku Ltd データベース検索システムおよびそのプログラム記録媒体
EP1240604A1 (en) * 1999-12-23 2002-09-18 Bull HN Information Systems Inc. A method and apparatus for improving the performance of a generated code cache search operation through the use of static key values
JP2002278969A (ja) * 2001-03-22 2002-09-27 Electric Power Dev Co Ltd 大容量ファイル管理データベースシステム
JP2008129844A (ja) * 2006-11-21 2008-06-05 Nec Informatec Systems Ltd ストアドプロシージャジェネレート装置、方法、プログラム、及びシステム
JP2009217300A (ja) * 2008-03-06 2009-09-24 Hitachi Ltd ヘテロジーニアスな計算機システムでの負荷分散制御方法
CN102609541A (zh) * 2012-02-21 2012-07-25 德讯科技股份有限公司 基于mssql数据库的sql信息采集审计系统

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001034634A (ja) * 1999-07-26 2001-02-09 Nec Software Chugoku Ltd データベース検索システムおよびそのプログラム記録媒体
EP1240604A1 (en) * 1999-12-23 2002-09-18 Bull HN Information Systems Inc. A method and apparatus for improving the performance of a generated code cache search operation through the use of static key values
EP1240604A4 (en) * 1999-12-23 2008-04-09 Bull Hn Information Syst METHOD AND APPARATUS FOR IMPROVING THE PERFORMANCE OF AN ANEMEMARY CODE OPERATION GENERATED USING STATIC KEY VALUES
JP2002278969A (ja) * 2001-03-22 2002-09-27 Electric Power Dev Co Ltd 大容量ファイル管理データベースシステム
JP2008129844A (ja) * 2006-11-21 2008-06-05 Nec Informatec Systems Ltd ストアドプロシージャジェネレート装置、方法、プログラム、及びシステム
JP2009217300A (ja) * 2008-03-06 2009-09-24 Hitachi Ltd ヘテロジーニアスな計算機システムでの負荷分散制御方法
CN102609541A (zh) * 2012-02-21 2012-07-25 德讯科技股份有限公司 基于mssql数据库的sql信息采集审计系统

Similar Documents

Publication Publication Date Title
US6490585B1 (en) Cellular multiprocessor data warehouse
US7007275B1 (en) Method and apparatus for automatic execution of concatenated methods across multiple heterogeneous data sources
US6356920B1 (en) Dynamic, hierarchical data exchange system
US6760719B1 (en) Method and apparatus for high speed parallel accessing and execution of methods across multiple heterogeneous data sources
US6112196A (en) Method and system for managing connections to a database management system by reusing connections to a database subsystem
US8135703B2 (en) Multi-partition query governor in a computer database system
US6886016B2 (en) Method and system for supporting multivalue attributes in a database system
JPH0926873A (ja) オブジェクト指向システムのクラス関係を識別する方法およびシステム
JP2002304405A (ja) Xmlデータをロードする方法及びシステム
CN111309760A (zh) 数据检索方法、系统、设备及存储介质
CN110019314B (zh) 基于数据项分析的动态数据封装方法、客户端和服务端
CN109947770A (zh) 一种数据库查询方法、终端设备及存储介质
CN110688397A (zh) 一种基于sql的分布式数据统一访问系统及方法
US6470331B1 (en) Very large table reduction in parallel processing database systems
CN107818181A (zh) 基于Plcient交互式引擎的索引方法及其系统
CN114969441A (zh) 基于图数据库的知识挖掘引擎系统
CN108519908A (zh) 一种任务动态管理方法和装置
CN112970011A (zh) 记录查询优化中的谱系
US8433729B2 (en) Method and system for automatically generating a communication interface
JPH10240591A (ja) Sqlプロシジャ実行時の計算機負荷分散方法
CN117421302A (zh) 一种数据处理方法及相关设备
US11157506B2 (en) Multiform persistence abstraction
KR19980079668A (ko) 병렬 데이타 처리 시스템 및 그 제어 방법
CN115827676A (zh) Sql子查询的执行方法、装置、终端设备以及介质
CN112231093A (zh) 基于代码模板和协程池的数据采集方法、系统及电子设备