JP3712791B2 - データベース管理方法及びその情報処理装置 - Google Patents

データベース管理方法及びその情報処理装置 Download PDF

Info

Publication number
JP3712791B2
JP3712791B2 JP15409796A JP15409796A JP3712791B2 JP 3712791 B2 JP3712791 B2 JP 3712791B2 JP 15409796 A JP15409796 A JP 15409796A JP 15409796 A JP15409796 A JP 15409796A JP 3712791 B2 JP3712791 B2 JP 3712791B2
Authority
JP
Japan
Prior art keywords
database
processing
processing device
search
information processing
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
Application number
JP15409796A
Other languages
English (en)
Other versions
JPH103458A (ja
Inventor
純一 野元
耕治 木村
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 JP15409796A priority Critical patent/JP3712791B2/ja
Publication of JPH103458A publication Critical patent/JPH103458A/ja
Application granted granted Critical
Publication of JP3712791B2 publication Critical patent/JP3712791B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

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

Description

【0001】
【発明の属する技術分野】
本発明は、データベース管理システムの負荷分散方法に係わり、特に複数の情報処理装置がネットワークを介して相互に接続されるシステムにおいて情報処理装置の負荷を分散させる方法に関する。
【0002】
【従来の技術】
複数の処理装置がネットワークを介して相互に接続されるシステムにおいて、各処理装置のCPU利用率を計測しCPU利用率に応じて負荷を分散させる方法が行われている。すなわちこの方法は、新しいジョブや処理をいずれかの処理装置に割り当てる時点でCPU利用率が最も低い処理装置を選択することによって処理装置の負荷を分散させるものである。しかしこの方法は、一時点のCPU利用率に基づいて処理装置にかかっている負荷の大きさを推測するものであり、必ずしも各処理装置が実際に保持している負荷の大きさを反映しているとは言えない。
【0003】
なおこの種の技術として関連するものには、例えば特開平4−129399号公報や特開平5−151177号公報などがある。
【0004】
【発明が解決しようとする課題】
CPU利用率は必ずしも処理装置が将来消化すべき負荷の大きさを反映するものではないので、CPU利用率に従って負荷分散制御を行うと、正しく負荷分散ができず、1つの処理装置に処理が集中してしまう場合があった。
【0005】
本発明の目的は、データベース管理システムにおいて未処理分の負荷の大きさに応じて負荷の分散制御を行い、上記問題を解決することにある。
【0006】
【課題を解決するための手段】
本発明は、データベースと接続された複数の情報処理装置で構成される並列計算機システムにおけるデータベース管理方法であって、処理を割り当てる情報処理装置を特定するために、要求によって情報処理装置間で発生するデータ転送量を比較し、当該データ転送量が同等である場合は、未処理件数に応じて処理を割り当てる情報処理装置を決定するデータベース管理方法及びその情報処理装置を特徴とする。
【0007】
【発明の実施の形態】
以下、本発明の一実施形態について図面を用いて説明する。
【0008】
図1は、本実施形態の並列計算機システムの構成図である。並列計算機システムは、複数の処理装置1,2,3とこれらの処理装置を相互に接続するネットワーク10から構成される。各処理装置1,2,3は、それぞれデータベース14,24,34を接続する。これらのデータベースは、リレーショナル・データベースであり、データベース14は表Aと表B、データベース24は表Cと表D、データベース34は表Eから構成される。データベース管理システム11,21,31は、それぞれデータベース14,24,34を管理するプログラムであり、それぞれ検索結果を結合するときの未処理分の累積処理行数を保持する処理行数カウンタ12,22,32を有する。UAP(ユーザ・アプリケーション・プログラム)13,23,33は、それぞれデータベース管理システム11,21,31へデータベースの検索要求を発行するプログラムである。データベース管理テーブル15は、データベースを構成する表の名称とその表を所有する処理装置との対応を格納するテーブルであり、処理装置1に接続される記憶装置上に格納される。図示していないが、データベース管理テーブル15は処理装置2及び3にもそれぞれ接続される。
【0009】
UAP13から表xと表yを検索した後に表の結合を行うSQLが発行されたとき、データベース管理システム11はデータベース管理テーブル15を参照して表x及び表yを所有する処理装置の番号を求め、各表を有する処理装置のデータベース管理システムへ検索要求を発行する。各データベース管理システムはそれぞれ表x及び表yを検索し、検索処理が終了したときヒットした検索行数xn及びynをデータベース管理システム11に報告する。データベース管理システム11は、検索結果及び結合結果のネットワーク10を介するデータ転送量を削減するように表x又は表yを所有する処理装置のいずれか一方に表の結合処理要求を発行する。結合処理要求を受けた処理装置のデータベース管理システムは、他方の表を所有する処理装置のデータベース管理システムへ検索結果を要求し、検索結果を受けたとき処理行数カウンタ12,22又は32に結合処理の処理行数を加算してから結合処理を行う。結合処理が終了したとき、処理行数カウンタから結合処理行数を減算した後、データベース管理システム11へ結合結果を送信し、データベース管理システム11がUAP13に結合結果を渡す。表x又は表yを所有する処理装置のいずれを選択しても処理装置間転送が同等になるとき、データベース管理システム11は表x及び表yを有する各処理装置の処理行数カウンタの処理行数を比較し、負荷の少ない処理装置のデータベース管理システムへ表の結合要求を発行する。
【0010】
図2は、データベース管理テーブル15のデータ形式を示す図である。データベース管理テーブル15は、表の識別子とその表を有する処理装置の番号との対応を保持する。
【0011】
図3は、UAP13から表xと表yを検索した後に表の結合を行うSQLが発行された後のデータベース管理システム11の処理の流れを示すフローチャートである。ただしステップ41,43及び45は、ネットワーク10を介する処理装置のデータ転送及び他のデータベース管理システムの処理を伴う場合がある。データベース管理システム11は、データベース管理テーブル15を参照して表xと表yを所有する処理装置の番号を求め、検索処理を実行する(ステップ41)。すなわち表xと表yを所有する処理装置のデータベース管理システムへそれぞれトランザクションIDと表x又は表yを指定して検索要求を送信する。処理装置1が表xと表yのいずれか一方又は両方を所有するのであれば、データベース管理システム11中の検索処理プログラムへ検索要求を発行するだけである。検索処理が終了したとき、データベース管理システム11は同一のトランザクションID、検索の結果ヒットした行数xn,yn及び処理行数カウンタの値を受け取る。次にデータベース管理システム11は、表xと表yが同一処理装置であれば(ステップ42YES)、表xのある処理装置による結合処理を行う(ステップ43)。表xと表yを所有する処理装置が異なるとき(ステップ42NO)、表xと表yのヒットした検索行数を比較する(ステップ44)。表xの検索行数が大きければ(xn>yn)、表xのある処理装置による結合処理を行う(ステップ43)。表yの検索行数が大きければ(xn<yn)、表yのある処理装置による結合処理を行う(ステップ45)。表xの検索行数と表yの検索行数が等しいとき(xn=yn)、UAP13と表xが同一処理装置にあれば(ステップ46YES)、表xのある処理装置による結合処理を行う(ステップ43)。UAP13と表xのある処理装置が異なり(ステップ46NO)、UAP13と表yが同一処理装置にあれば(ステップ47YES)、表yのある処理装置による結合処理を行う(ステップ45)。UAP13,表x及び表yが別々の処理装置にあれば(ステップ47NO)、データベース管理システム11は、表xを有する処理装置の処理行数p(x)mと表yを有する処理装置の処理行数p(y)mとを比較する(ステップ48)。処理行数p(x)mの方が小さいか等しければ(p(x)m≦p(y)m)、表xのある処理装置による結合処理を行う(ステップ43)。処理行数p(y)mの方が小さければ(p(x)m>p(y)m)、表yのある処理装置による結合処理を行う(ステップ45)。
【0012】
図4は、ステップ43及びステップ45の結合処理をさらに展開して示すフローチャートである。UAP13のある処理装置1のデータベース管理システム11は、一方の表を有し結合処理を行う処理装置へ検索時のトランザクションIDと表x,表yを指定して結合処理要求を送信する(ステップ51)。結合処理を行う処理装置は、この結合処理要求を受信したとき(ステップ52)、他方の表を有する処理装置へ検索時のトランザクションIDを指定して検索結果要求を送信する(ステップ53)。他方の表を有する処理装置は、この検索結果要求を受信すると(ステップ54)、結合処理を行う処理装置へトランザクションIDを指定して検索結果とヒットした検索行数を送信する(ステップ55)。結合処理を行う処理装置は、この検索結果を受信すると(ステップ56)、処理行数カウンタに結合処理の処理行数を加算することによって処理行数カウンタを更新し(ステップ57)、表xと表yの検索結果について結合処理を行う(ステップ58)。結合処理が終了すると、処理行数カウンタから結合処理の処理行数を減算することによって処理行数カウンタを更新する(ステップ59)。次に結合処理を行う処理装置は、処理装置1へ結合処理要求時のトランザクションIDを指定して結合結果を送信する(ステップ60)。データベース管理システム11はこの結合結果を受信し(ステップ61)、UAP13へ渡す(ステップ62)。UAP13のある処理装置1と結合処理を行う処理装置とが同一処理装置であれば、同一処理装置の処理はデータベース管理システム11内の処理となり、ネットワーク10を介する結合処理要求と結合結果の転送はない。また結合処理を行う処理装置と他方の表を有する処理装置とが同一処理装置であれば、同一処理装置の処理は同一データベース管理システム内の処理となり、ネットワーク10を介する検索結果要求と検索結果の転送はない。なお図4の例では結合処理の処理行数をヒットした検索行数xnとynの和としたが、他にxnとynの積のようにxnとynの関数で表現できるものであればよい。
【0013】
上記実施形態によれば、検索処理は検索対象の表を管理するデータベース管理システムのみが実行できるから、データベース管理システム11はそれぞれの表を管理する処理装置へ検索要求を発行する。表xと表yが同一処理装置にあれば(ステップ42YES)、検索結果の送信のためのネットワーク10の負荷がかからないから、表x及び表yのある同一処理装置で結合処理を行えばよい。表xと表yを所有する処理装置が異なるとき(ステップ42NO)、ヒットした検索行数xnとynのうち検索行数の多い方の処理装置で結合処理を行うので、検索結果の転送のためにネットワーク10にかかる負荷が少ない。検索行数xn,ynが同じ場合(xn=yn)には、UAPと一方の表が同一処理装置にあるような処理装置で結合処理を行うので、結合結果の転送のためにネットワーク10の負荷がかからない。なお一般に検索結果のデータ量に比べて結合結果のデータ量が小さいとみなしている。検索行数xn,ynが等しく、UAP,表x,表yがそれぞれ別の処理装置にある場合(ステップ47NO)には、表xのある処理装置で結合処理を行っても表yのある処理装置で結合処理を行ってもネットワーク10の負荷は同じであるので、データベース管理システム11は、表xを有する処理装置の処理行数カウンタの内容と表yを有する処理装置の処理行数カウンタの内容を比較して、いずれか累積負荷の小さい方の処理装置へ結合処理要求を発行する。結合処理を行う処理装置の負荷は、結合処理の処理行数に応じて増加するものとみなし得る。
【0014】
なお上記実施形態では、UAPはいずれかの処理装置内に所在したが、UAPが処理装置1,2,3とは別にネットワーク10に接続されたクライアント装置内にあってもよい。このとき処理装置1,2及び3は、データベースを管理するサーバとして機能する。クライアントからネットワーク10を介して処理装置1,2又は3へSQLが発行されると、これを受けた処理装置のデータベース管理システムは、関連する処理装置と共同して図3及び図4に示す上記処理を行った後、ネットワーク10を介して結合結果をクライアントへ送信する。
上記実施形態によれば、結合処理の累積処理行数を常時更新することによって各処理装置が保持する未処理分の負荷の大きさを予測できるため、この処理行数に基づいて結合処理の処理装置への割当をすれば、従来問題であった負荷の集中を防ぐことができる。
【0015】
【発明の効果】
本発明によれば、処理件数を常時更新することによって各情報処理装置が保持する未処理分の負荷の大きさを予測できるため、この処理件数に基づいて新しい処理の情報処理装置への割当をすれば、従来問題であった負荷の集中を防ぐことができる。
【図面の簡単な説明】
【図1】実施形態の並列計算機システムの構成図である。
【図2】実施形態のデータベース管理テーブル15のデータ形式を示す図である。
【図3】実施形態の結合処理の負荷を分散させる処理の流れを示すフローチャートである。
【図4】図3の結合処理を展開して示すフローチャートである。
【符号の説明】
1,2,3:処理装置、11,21,31:データベース管理システム、12,22,32:処理行数カウンタ、14,24,34:データベース

Claims (2)

  1. 第1のデータベースを含む第1の計算機と第2のデータベースを含む第2の計算機とを有するデータベース管理システムにおけるデータベース管理方法において、
    前記第1のデータベースと前記第2のデータベースとの結合要求を入力したとき、前記結合要求に基づいて結合キーについて前記第1のデータベースと前記第2のデータベースとを検索し、前記第1のデータベースでヒットした検索行が前記第2のデータベースでヒットした検索行よりも多い場合は前記結合要求の処理を第1の計算機に割り当て、前記第2のデータベースでヒットした検索行が前記第1のデータベースでヒットした検索行よりも多い場合は前記結合要求の処理を第2の計算機に割り当て、前記第1のデータベースでヒットした検索行が前記第2のデータベースでヒットした検索行と同じ場合は未処理件数に応じて第1の計算機と第2の計算機のいずれかを選択することを特徴とするデータベース管理方法。
  2. 第1のデータベースのデータベース管理を行う第1の情報処理装置と第2のデータベースのデータベース管理を行う第2の情報処理装置とを有する並列計算機システムにおいて、
    前記第1の情報処理装置および前記第2の情報処理装置の各々は、前記結合要求に基づいて結合キーについて前記第1のデータベースと前記第2のデータベースのうち所有する方のデータベースを検索する手段と、当該情報処理装置における未処理分の処理件数を更新維持する手段とを有し、前記第1のデータベースと前記第2のデータベースとの結合要求を受け付けた情報処理装置は、前記第1のデータベースでヒットした検索行が前記第2のデータベースでヒットした検索行よりも多い場合は前記結合要求の処理を第1の情報処理装置に割り当てる手段と、前記第2のデータベースでヒットした検索行が前記第1のデータベースでヒットした検索行よりも多い場合は前記結合要求の処理を第2の情報処理装置に割り当てる手段と、前記第1のデータベースでヒットした検索行が前記第2のデータ ベースでヒットした検索行と同じ場合は未処理件数に応じて第1の情報処理装置と第2の情報処理装置のいずれかを選択する手段とを有することを特徴とする情報処理装置。
JP15409796A 1996-06-14 1996-06-14 データベース管理方法及びその情報処理装置 Expired - Fee Related JP3712791B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP15409796A JP3712791B2 (ja) 1996-06-14 1996-06-14 データベース管理方法及びその情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP15409796A JP3712791B2 (ja) 1996-06-14 1996-06-14 データベース管理方法及びその情報処理装置

Publications (2)

Publication Number Publication Date
JPH103458A JPH103458A (ja) 1998-01-06
JP3712791B2 true JP3712791B2 (ja) 2005-11-02

Family

ID=15576855

Family Applications (1)

Application Number Title Priority Date Filing Date
JP15409796A Expired - Fee Related JP3712791B2 (ja) 1996-06-14 1996-06-14 データベース管理方法及びその情報処理装置

Country Status (1)

Country Link
JP (1) JP3712791B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5199948B2 (ja) * 2009-05-22 2013-05-15 日本電信電話株式会社 データベース管理方法、データベース装置、およびプログラム
WO2012063301A1 (ja) * 2010-11-08 2012-05-18 株式会社日立製作所 計算機システム、マルチテナント制御方法及びマルチテナント制御プログラム
JP6096576B2 (ja) * 2013-04-17 2017-03-15 株式会社東芝 データベースシステム
JP6253725B1 (ja) * 2016-07-12 2017-12-27 株式会社東芝 データベースシステム、データ結合方法、統合サーバ、データ結合プログラム、データベースシステム連携方法、および、データベースシステム連携プログラム

Also Published As

Publication number Publication date
JPH103458A (ja) 1998-01-06

Similar Documents

Publication Publication Date Title
US6510429B1 (en) Message broker apparatus, method and computer program product
EP0657813B1 (en) Distributed database management
JP4406944B2 (ja) 計算機システム及び問合せに対する処理分散システム
CN102197395A (zh) 存储器端存储请求管理
JP2005025432A (ja) トランザクション処理方法,トランザクション制御装置およびトランザクション制御プログラム
US20130346540A1 (en) Storing and Moving Data in a Distributed Storage System
CN115422205A (zh) 数据处理方法、装置、电子设备及存储介质
US6853995B2 (en) Information retrieval/distribution system, computer readable storage medium, and program for information retrieval/distribution
US7133913B2 (en) Information routing
CN100461124C (zh) 计算机系统和信息处理方法
JP3712791B2 (ja) データベース管理方法及びその情報処理装置
JPH07311744A (ja) 資源所在位置検出方式
CN113377817A (zh) 数据处理方法、系统、设备及存储介质
JP4021287B2 (ja) データベース検索プログラム、データベース検索方法及びデータベース検索装置
US6850957B2 (en) Information system and data access method
JPH05225250A (ja) 関係データベースのテーブル結合方式
CN107563850A (zh) 基于共享经济的虚拟资源管理方法、使用方法、装置及系统
US7406471B1 (en) Scalable multi-database event processing system using universal subscriber-specific data and universal global data
US7792274B2 (en) Techniques for performing multi-media call center functionality in a database management system
JPH1196055A (ja) データベースの結合処理最適化方法及び装置
JP3245784B2 (ja) 業務フロー管理制御システム
JPS61285535A (ja) ハイブリツド・デイレクトリ・デ−タ分散システム
JP2679972B2 (ja) 情報サービス処理方法
JP3085141B2 (ja) マスタデータ管理方法
JP2000020374A (ja) レプリケーション制御システム

Legal Events

Date Code Title Description
A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050818

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees