JPH0785105A - 並列データベースにおいてデータを再分配する方法およびシステム - Google Patents

並列データベースにおいてデータを再分配する方法およびシステム

Info

Publication number
JPH0785105A
JPH0785105A JP6163497A JP16349794A JPH0785105A JP H0785105 A JPH0785105 A JP H0785105A JP 6163497 A JP6163497 A JP 6163497A JP 16349794 A JP16349794 A JP 16349794A JP H0785105 A JPH0785105 A JP H0785105A
Authority
JP
Japan
Prior art keywords
node
data
tables
nodes
time
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.)
Granted
Application number
JP6163497A
Other languages
English (en)
Other versions
JP2765678B2 (ja
Inventor
Shih-Gong Li
シー−ゴン・リー
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH0785105A publication Critical patent/JPH0785105A/ja
Application granted granted Critical
Publication of JP2765678B2 publication Critical patent/JP2765678B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • 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/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99954Version management

Abstract

(57)【要約】 【目的】 本発明の目的は、データを並列データベース
内のノード間で再分配できるテーブルの集合を決定する
ための方法およびシステムを提供することである。 【構成】 まず、並列データベース内の複数のノードに
関連するメモリに記憶されたテーブルから、候補テーブ
ルのリストを確立する。このリストは、候補テーブルの
それぞれの作業負荷に従って順序付けられている。次
に、候補テーブルのそれぞれをテストして、候補テーブ
ルが記憶されている複数のノードのそれぞれで、その候
補テーブルを所定の時間内に走査できるかどうかを判定
する。所定の時間内に走査できる候補テーブルのすべて
を、データを再分配できるテーブルの組に追加する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、全般的にはデータ処理
システムでのデータ・メッセージの検索と記憶に関す
る。具体的には、本発明は、並列データベース・システ
ム内のノード間でそこからデータを再分配できるテーブ
ルの組の決定に関する。
【0002】
【従来の技術】データベースは、最近非常に注目を集め
ているが、これは、コンピュータ化されたデータベース
に記憶され検索されるデータの量が増加していることだ
けではなく、記憶処理と検索処理の間にデータ関係を確
立できるからでもある。
【0003】最近10年間に、データベース・システム
の開発者達は、並列処理プラットフォームに注目してき
た。これは、並列処理システムの費用対性能比が、しば
しば従来のメインフレームのそれを上回るからである。
関係データベース・システムなどのセット指向データベ
ース・システムは、並列処理に特に適している。という
のは、システム内の複数のコンピュータまたは「ノー
ド」の間でデータベースを分散でき、したがって、その
データベースに対する要求を並列に実行できるからであ
る。一般的な並列データベース・システムは、それぞれ
が1つまたは複数の高性能大容量ディスク記憶装置を含
む強力で安価なマイクロプロセッサ・ベースのコンピュ
ータのクラスタにより特徴付けられる。ノードは、共用
通信媒体を使用して相互接続される。日用品に見られる
ような高性能、低コストおよび高信頼性を利用するた
め、クラスタでは、標準の「オフザシェルフ」のマイク
ロプロセッサやワークステーションのハードウェアが使
用される。データベースのサイズや作業負荷がシステム
の容量近くまで増えた時には、ノードを追加してその容
量を拡張することができる。
【0004】そのようなシステムでは、データベースが
ノードにまたがって分配される。各ノードは、データベ
ースの一部を記憶する。同様に、作業負荷もノードにま
たがって分配される。要求は、所望のデータを含むノー
ドに送られ、そこで実行される。その結果、データ配置
によって、ノード間の作業負荷のバランスの良否と、全
体としてのシステム性能が決定される。多くの場合に、
ノードのすべてにまたがってできる限り均等に作業負荷
を分散させることによって、最良の性能が得られる。し
かし、初期に平衡化されるシステムでは、要求のタイプ
と頻度が時間に伴って変化し、時間に伴ってデータがデ
ータベースに追加、削除され、時間に伴って作業負荷が
偏る原因となる。その結果、そのシステムは、ノード間
の平衡が崩れた状態になる。したがって、時折データを
再分配して、負荷の平衡を取り直す必要がある。また、
システムにノードが追加または削除される際にも、新し
い数のノードの間でデータを再分配しなければならな
い。
【0005】並列データベース(PDB)・システムで
は、データ・レコードが、本明細書で「バケット」と称
するデータ構造に区分される。1つのバケットに属する
すべてのデータ・レコードは、必ず単一のノード内に置
かなければならない。PDBシステムに新ノードを追加
する時には、データの「バケット」を、既存ノードから
新ノードへ移動しなければならない。所定の数の通信バ
ッファを有する論理リンクを確立して、古い既存のノー
ドから新ノードへデータ・レコードを送る。ほとんどの
関係データベース・システムは、その記憶編成内の物理
バケットをサポートしないので、再分配のため通信バッ
ファに移動すべきレコードを選択するためには、テーブ
ル走査が必要である。テーブル走査動作には、テーブル
のロックが必要なので、データ保全性とデータ配置の一
貫性のために、すべてのPDBノードの同一のテーブル
をロックして、この特定のテーブルに対する排他的な権
利を取得することが論理的である。したがって、すべて
のノードが、データ再分配のために同一のテーブル・シ
ーケンスに基づいて実行する。しかし、テーブルのロッ
クを行うと、性能が、新ノードを追加する動作にとって
の主要な関心事の1つになる。ロックを解放するのが早
ければ早いほど、PDBシステム内で進行中の他のトラ
ンザクションに対する影響が少なくなる。
【0006】並列データベース・システムでのデータ再
分配に関して、2つのモードが提案されている。静止モ
ードでは、データ再分配のすべてが行われるまで、PD
Bシステムが他のすべての動作を停止させる。オンライ
ン・モードまたは動的モードでは、データ再分配が他の
PDBタスクと同時に行われる。本明細書は、データ再
分配タスクが、他のPDBタスクと時間を共用し、その
データ再分配タスクの実行中は他のタスクが停止される
ような一連のタイム・スライスを割り当てられるが、そ
のタイム・スライスが、データ再分配全体を達成するに
は短すぎる新しいモード、増分モードを導入する。
【0007】静止モードでPDBシステムに新ノードを
追加するためバケットを選択するための方法が、関連特
許である米国特許出願第116086号、"Selecting B
uckets for Redistributing Data Between Nodes in a
Parallel Database in the Quiescent Mode"に開示され
ている。
【0008】増分モードでは他のタスクが同時に作動で
きるので、増分モードには多くの長所がある。しかし、
本出願人が発見した、克服しなければならない問題も多
数存在する。
【0009】PDBシステムの増分モード動作では、P
DBシステムを静止モードにしている間に、増分的な形
でデータ再分配を処理する。増分モード動作のそれぞれ
に関して、所定の時間枠がある。この時間枠の中で、デ
ータ再分配と他の関連ハウスキーピングを達成しなけれ
ばならない。通常、この所定の時間枠は、負荷平衡化に
必要なデータ再分配のすべてを完了するには不十分であ
る。したがって、増分モード・セッションのそれぞれの
目標は、負荷平衡化を目指すデータ再分配をできる限り
達成することである。しかし、この動作は、所定の時間
的な制約を満たさなければならない。そうでないと、デ
ータ再分配処理の途中で時間切れになった場合に、一貫
性のあるPDB状態を維持することが困難になる。
【0010】新ノードに移動するデータを準備するため
のコストは通常は高いので、各ノードは、テーブル・レ
ベルでデータの準備を完了しなければならない。言い換
えると、ノードは、現テーブル内にある移動すべきデー
タのすべてを取り出し終えた場合に限って、別のテーブ
ルのデータの取出しを開始する。したがって、バケット
選択の問題は、バケット・レベルだけでは検討できない
ので、非常に複雑になる。テーブル層とバケット層の両
方を一緒に検討しなければならない時には、数学的プロ
グラミング法やオペレーショナル・リサーチ法を使用す
る従来のアプローチでは、有効な解決を保証できない。
【0011】また、PDBシステムには多数のテーブル
とバケットがあるので、人工知能、シミュレーテッド・
アニーリング、遺伝子アルゴリズムなどの先端技術は、
通常のワークステーションを使用して許容可能な応答時
間内でこの問題を解決するのには適していない。テーブ
ル走査方法を使用する増分モード動作でのデータ再分配
のため、テーブルによってグループ化されたバケットの
リストを提供できる、効率的で経済的な方法が必要であ
る。
【0012】本明細書では、この問題を2つの段階に分
割し、それぞれの段階ごとに効果的な解決を提供する、
バケット選択の発明を説明する。
【0013】
【発明が解決しようとする課題】本発明の目的は、増分
モード・セッションのそれぞれの間に並列データベース
内でできる限り多くのデータを再分配することである。
【0014】本発明のもう1つの目的は、一貫性のある
並列データベースを、データ再分配処理の間安定に保つ
ことである。
【0015】
【課題を解決するための手段】上記その他の目的は、並
列データベース内のノード間でそこからデータを再分配
できるテーブルの組を判定するための方法、システムお
よびプログラムによって達成される。まず、並列データ
ベース内の複数のノードに関連するメモリに記憶された
テーブルから、候補テーブルのリストを確立する。この
リストは、候補テーブルのそれぞれの作業負荷に従って
順序付けられている。次に、候補テーブルのそれぞれを
テストして、候補テーブルが記憶されている複数のノー
ドのそれぞれで、その候補テーブルを所定の時間内に走
査できるかどうかを判定する。所定の時間内に走査でき
る候補テーブルのすべてを、データを再分配できるテー
ブルの組に追加する。
【0016】再分配用のテーブルの組を確立したなら
ば、その再分配テーブル内のデータ・セットまたはバケ
ットを選択する。選択されたバケットを、複数のノード
から受取ノードへ再分配する。受取ノードは、並列デー
タベース・システムの新ノードまたは、並列データベー
ス・システム内で利用度の低いノードである。
【0017】
【実施例】本発明は、異なる業者によって作られたさま
ざまなコンピュータを含む1群のコンピュータ上で、複
数の異なるオペレーティング・システムの下で作動でき
る。システム内のコンピュータは、たとえば、パーソナ
ル・コンピュータ、ミニ・コンピュータまたはメインフ
レーム・コンピュータとすることができる。コンピュー
タ・ネットワークは、ローカル・エリア・ネットワーク
または広域ネットワークもしくはさらに大規模の遠隔処
理システムとすることができる。コンピュータの具体的
な選択は、ディスクとディスク記憶域の要件だけによっ
て制限されるが、IBM PS/2シリーズ・コンピュ
ータのコンピュータを本発明に使用できる。IBM社の
PS/2シリーズ・コンピュータについては、Technica
l Reference Manual Personal System/2 Model 50, 60
Systems IBM Corporation, Part No. 68X2224 Order Nu
mber S68X-2224とTechnical Reference Manual Persona
l Systems/2 (model 80) IBM Corporation Part No. 68
X2256 Order Number S68X-2254を参照されたい。IBM
PS/2パーソナル・コンピュータが作動できるオペ
レーティング・システムの1つが、IBM社のOS/2
2.0である。IBM OS/2 2.0オペレーテ
ィング・システムの詳細については、OS/22.0 Technica
l Library, Programming Guide Vol. 1, 2, 3 Version
2.00 Order Nos. 10G6261, 10G6495, 10G6494を参照さ
れたい。
【0018】代替案では、AIXオペレーティング・シ
ステム上で作動するIBM RISC System/
6000系列コンピュータのコンピュータ・システム
で、ネットワークを構成できる。RISC Syste
m/6000のさまざまなモデルは、IBM Corp
orationの多くの出版物、たとえばRISC System/
6000, 7073 and 7016 POWERstation and POWERserver H
ardware Technical Reference, Order No. SA23-2644-0
0に記載されている。AIXオペレーティング・システ
ムは、General Concepts and Procedure-- AIX Version
3 for RISC System/6000 Order No. SC23-2202-00およ
びIBM Corporationの他の出版物に記載
されている。
【0019】図1には、システム装置11、キーボード
12、マウス13および表示装置14を含むコンピュー
タ10が示されている。表示装置14の画面16は、並
列データベース動作に関する視覚的フィードバックをユ
ーザに提示するのに使用される。オペレーティング・シ
ステムによってサポートされるグラフィカル・ユーザ・
インターフェースを用いると、ユーザが、画面16上の
特定の位置にある、選択を表すアイコンへマウス・ポイ
ンタ15を移動し、マウス・ボタンのうちの1つを押し
てユーザ・コマンドまたはユーザ選択を実行することに
よって、ポイント・アンド・シュート方式の入力を使用
できるようになる。
【0020】図2に、図1に示されたパーソナル・コン
ピュータの構成要素のブロック図を示す。システム装置
11には、1つまたは複数のシステム・バス21が含ま
れ、このシステム・バス21にさまざまな構成要素が結
合され、このシステム・バス21によって、さまざまな
構成要素の間の通信が達成される。マイクロプロセッサ
22は、システム・バス21に接続され、やはりシステ
ム・バス21に接続される読取り専用メモリ(ROM)
23およびランダム・アクセス・メモリ(RAM)24
によってサポートされる。IBM社のマルチメディアP
S/2シリーズ・コンピュータのマイクロプロセッサ
は、386または486マイクロプロセッサを含むIn
tel社のマイクロプロセッサ・ファミリのうちの1つ
である。しかし、68000、68020または680
30マイクロプロセッサなどのMotorola社のマ
イクロプロセッサ・ファミリを含む(それに限定はされ
ない)他のマイクロプロセッサや、IBM社、Hewl
ett Packard社、Sun社、Intel社、
Motorola社などの製造するさまざまな縮小命令
セット・コンピュータ(RISC)マイクロプロセッサ
を、この特定のコンピュータに使用できる。
【0021】ROM23には、他のコードと共に、相互
作用、ディスク駆動装置、キーボードなどの基本ハード
ウェア動作を制御する基本入出力システム(BIOS)
が含まれる。RAM24は、オペレーティング・システ
ムとアプリケーション・プログラムがロードされる主記
憶である。メモリ管理チップ25は、システム・バス2
1に接続され、RAM24とハード・ディスク駆動装置
26やフロッピー・ディスク駆動装置27の間のデータ
の受け渡しを含む直接メモリ・アクセス動作を制御す
る。CD−ROM駆動装置32も、システム・バス21
に結合され、大量のデータを記憶するのに使用される。
【0022】やはりこのシステム・バス21に接続され
ているのが、さまざまな入出力コントローラすなわち、
キーボード・コントローラ28、マウス・コントローラ
29、ビデオ・コントローラ30およびオーディオ・コ
ントローラ31である。予想されるとおり、キーボード
・コントローラ28は、キーボード12のハードウェア
・インターフェースを提供し、マウス・コントローラ2
9は、マウス13のハードウェア・インターフェースを
提供し、ビデオ・コントローラ30は、表示装置14の
ハードウェア・インターフェースを提供し、オーディオ
・コントローラ31は、スピーカ15aおよび15bの
ハードウェア・インターフェースを提供する。やはりシ
ステム・バス21に接続されているのが、スピーカ・シ
ステムによって作られる音声を修正し、好ましくはオー
ディオ・コントローラ31に組み込まれるディジタル信
号プロセッサ33である。スピーカ15aおよび15b
は、オーディオ・オブジェクトをユーザに提示するのに
使用できる。トークン・リング・アダプタなどの入出力
コントローラ40を用いると、ネットワーク46を介し
て他の同様の構成のデータ処理システムと通信できるよ
うになる。
【0023】本発明の好ましい実施態様の1つが、ネッ
トワーク内の少なくとも1つのコンピュータのランダム
・アクセス・メモリに常駐するコード・モジュールの命
令の組としてのものである。コンピュータ・システムに
よって要求されない限り、この命令の組は、ハード・デ
ィスク駆動装置26のハードディスクなど、別のコンピ
ュータの記憶装置に格納したり、CD−ROM駆動装置
32内の光ディスクやフロッピー・ディスク駆動装置2
7内のフロッピー・ディスクなどの取外し可能コンピュ
ータ記憶装置に格納することができる。図からわかるよ
うに、オペレーティング・システム50とプレゼンテー
ション・マネージャ52は、RAM24に常駐する。こ
の例では、本発明は、オペレーティング・システムと共
同するデータベース管理プログラム54に組み込まれ
る。データベース管理プログラム54は、並列データベ
ース・システムの一部を形成するデータベース56を管
理する。
【0024】ネットワークに結合された複数のコンピュ
ータ・システムを含む並列データベース・システムを、
図3に示す。4つのコンピュータ・システムまたはノー
ド61、63、65および67が、ネットワーク69に
よって互いに結合される。前に述べたように、これらの
コンピュータ・システムは、通常はパーソナル・コンピ
ュータまたはワークステーションである。このネットワ
ークは、ISO規格およびIEEE規格に適合するトー
クンリングやイーサネット・ネットワークなどのローカ
ル・エリア・ネットワークとするか、遠隔通信リンクを
含む広域ネットワークとすることができる。トークン・
リングとイーサネット・ネットワークのどちらもが、I
EEEと国際標準化機構(ISO)のローカル・エリア
・ネットワークの規格に適合する。ISOの規格群は、
標準文書ISO 8802-2 (Logical Link Control Protoco
l)、ISO 8802-3 (CSMA/CD Bus)、ISO 8802-4 (Token pa
ssing bus)、ISO 8802-5 (Token Passing Ring)およびI
SO 8802-7 (Slotted Ring)に記載されている。
【0025】並列データベース・システムは、ノードの
それぞれに複数のテーブル62、64、66および68
を格納する。並列データベースは通常、1ノードが使用
不能になった場合のフォールト・トレランスのために、
テーブルの冗長な記憶域を有することに留意されたい。
たとえば、テーブル62および64を保持するノード6
1がダウンした場合には、テーブル62をノード65で
使用でき、テーブル64をノード67で使用できる。前
に述べたように、関係データベースは、PDBシステム
内で特に有用である。関係データベース用の周知の言語
の1つが、標準構造化照会言語(SQL)である。探索
は、データを探すテーブルを定義する照会で定義され
る。問題のテーブル列、条件行は、列の順序、個別性制
約、テーブル内のデータの接続および照会で指定される
他の関係を満足しなければならない。PDBシステム内
では、局所的に格納されたデータを使用して探索照会を
満足できない場合に、他のノードに記憶されたデータベ
ースの他の部分に関する遠隔呼出しを行う。関係データ
ベース、特にSQLとその使用法の詳細については、IB
M Operating Systems/2 Extended Edition Database Ma
nagers Structured Query Language (SQL) Concepts Bo
oklet、IBM Corporation発行、1991年を参照された
い。
【0026】新ノードが並列データベース・システムに
追加される時の情況を、図4に示す。テーブル72およ
び74を含む新ノード71が、図3に示されたネットワ
ークに追加される。局所リンク73を、既存のノード6
1、63、65および67のそれぞれに接続して、既存
のテーブル62、64、66および68の部分を新ノー
ド71に転送するのを簡単にする。論理リンクは、ノー
ドのそれぞれに置かれるトランスポート層によって確立
される。このトランスポート層には、新ノード71への
論理リンクを介する送出に先立って既存のノードのテー
ブル部分を記憶する通信バッファが含まれている。通信
のため論理リンクを提供するネットワーク接続性は、ネ
ットワーク通信ソフトウェアが提供する。たとえばNe
tBios、SNA、TCP/IPなど、さまざまなプロトコ
ルをサポートできる。NetBiosプロトコルに関す
る情報は、IBM Operating Systems/2 Local Area Netwo
rkServer Version 2.0 Information and Planning Guid
e(G236-0162)、IBM LocalArea Network Server Program
s (Specification sheet) (G360-2753)、およびIBM Loc
al Area Network Technical Reference(SC30-3383)にあ
る。ネットワーク通信ソフトウェアは、セッションをセ
ットアップし、メッセージがLANを介して送受される
ことを確認し、ネットワーク・プロトコルに適合するよ
うにデータベースからのデータをバンドル(収集)する
などの責任を負う。
【0027】通信ソフトウェアは、即座にLANを介し
て送出できないデータも、通信バッファに置く。通信バ
ッファは、通信制御情報を格納したヘッダ情報、送出す
べきデータ・レコードを含む実際のデータ、および、デ
ータ・レコードの末尾を示す終了部分を記憶できる。
【0028】関係データベース・テーブル100の例を
図5に示す。テーブルには一般に、行内の複数のレコー
ドと、1組の列内の対応するフィールドの組が含まれ
る。たとえば、行101のレコード1には、それぞれが
特定の列に書き込まれる複数のフィールド内のデータが
含まれ、たとえば、口座番号情報は列102に書き込ま
れ、口座名義情報は列104に書き込まれ、最終処理日
付情報は列106に書き込まれ、コメント情報は列10
8に書き込まれ、残高情報は列110に書き込まれる。
5つのフィールドだけを有する2つのレコードだけが図
示されているが、実際には、関係データベース・テーブ
ルは、非常に大きくなり、複数ページの記憶域を含む可
能性がある。関係データベースが既存ノードに収まらな
いほど大きくなった時に、新ノードを並列データベース
・システムに追加し、既存ノードのテーブルの一部を再
分配できる。
【0029】新ノード追加の場合のデータ再分配処理
を、図6に示す。この処理は、ステップ150で始ま
り、ステップ152に進んで、新ノードを並列データベ
ースに物理的に接続し、登録する。この登録処理では、
ノードID、ネットワーク・アドレスなどを、PDBシ
ステム内の登録サーバ・ノードに送る。次に、ステップ
154で、新ノードに移動するデータのバケットを、既
存ノードごとに決定する。これは図7および図8に詳細
に示されている。次に、ステップ156で、論理リンク
に必要なバッファ・サイズを、既存ノードごとに計算す
る。バッファ・サイズの計算は、図9に詳細に示されて
いる。
【0030】ステップ157、159、162、169
および170は、既存ノードのそれぞれで実行される。
ステップ161、163、165および167は、並列
データベースに追加される新ノードで実行される。ステ
ップ157で、テーブル走査処理を開始する。テーブル
走査処理は、以下で図10を参照して詳細に説明する。
次に、ステップ159で、テーブル走査処理によって書
き込まれた通信バッファを、新ノードに送る。ステップ
161で、新ノードが、再分配されたデータを受け取
り、記憶する。ステップ162で、最後の通信バッファ
が、既存ノードから新ノードに送られる。各通信バッフ
ァには、それが最終バッファであるか否かを示すフラグ
を含めることができる。ステップ163で、所与の既存
ノードからのデータ受取りの終りをマークする。受取り
側ノード内のテーブルは、この情報がどこに記憶されて
いるかを記憶し、当該受取り側ノードに常駐する。ステ
ップ165でテストを行って、すべての既存ノードがデ
ータ再分配の終りに関してマークされたかどうかを判定
する。そうである場合には、ステップ167で、既存ノ
ードのそれぞれに情報の受取りが完了したことを知らせ
る。ステップ169で、新ノードからこの完了メッセー
ジを受け取り、ステップ170で、新ノードに転送済み
のマークされたデータ・レコードを、既存ノードのテー
ブルから削除する。この処理は、ステップ172で終了
する。
【0031】データ再分配に割り当てられた限られた時
間期間の間に増分モードで移動できるデータ・バケット
を決定するために、本発明は、分割統治アプローチを採
用する。バケット選択に関して直接作業を行う前に、デ
ータ再分配に必要なテーブルを決定する。完全なテーブ
ル走査を使用して移動するデータを取り出す時、この走
査動作が、通常は増分モード・セッションのボトルネッ
クになる。増分セッション内の他の動作の大半は、テー
ブル走査動作と同時に行うことができる。既存ノードの
それぞれについて、取り出されたデータを記憶するのに
十分なバッファが割り振られていると仮定すると、各ノ
ードは、関与するテーブルに対して無停止の完全なテー
ブル走査を順次実行する。したがって、このテーブルの
完全なテーブル走査を実行するのに必要な時間によっ
て、テーブル内のデータを再分配するのに必要な時間を
測定することが可能となる。まず、既存ノードのそれぞ
れについて、下記の表記法を定義する。 ・R(T)は、テーブルT内のデータのデータ再分配に
必要な時間である。 ・S(T)は、テーブルTに対する完全なテーブル走査
を実行するのに必要な時間である。 ・Z(T)は、テーブルTのサイズである。 ・N(T)は、テーブルT内のレコード数である。
【0032】S(T)の大部分は、テーブルTのデータ
・ファイルからデータのページをゲットするための入出
力時間である。S(T)のうちの比較的小さな部分が、
各データ・レコードを読み取ってそれを移動するかどう
かを検査する処理の時間である。PDBノードのそれぞ
れについて、ページをゲットするための入出力時間と、
データ・レコードを読み取り検査するための処理時間を
得ることができる。したがって、Z(T)とN(T)の
情報があれば、S(T)の近似値を予測できる。前に述
べたように、増分モード・セッションには、多数の並行
動作がある。S(T)は、R(T)のうちで非常に高い
比率を占める。R(T)の残りは、単一のメッセージ・
バッファを取り扱うための待合せ時間Q(Q=待機時間
+サービス時間)である。したがって、R(T)は、S
(T)とQの合計にほぼ等しい。通常のPDBシステム
構成では、Qは、R(T)のうちで十分無視できるほど
に小さい。増分モードの場合、各セッション内の再分配
されるデータの量は、通常は、データの総量に比較して
少なく、そのためにQが小さくなるのである。また、受
取り側ノードは、「ページ・コピー」に似たアプローチ
を採用してQを減らすことができる。したがって、R
(T)をf(S(T))と表すことができる。ただしf
()は、その出力値がその入力値より必ずわずかに高い
関数である。たとえば、f(X)=(1.0+α)×X
またはf(X)=X+α、ただしαは非常に小さい値で
ある。
【0033】時間制約を満足するようにノード内で選択
可能なテーブルを決定するという問題は、線形プログラ
ミング問題として定式化でき、テーブルTiが選択され
る場合にはDiに1の値を、そうでない場合には0の値
を割り当てる。
【数1】 ただし、Pallowedは、この増分セッションに割り当て
られた時間枠である。Nは、PDB内のノードの総数で
ある。
【0034】しかし、この定式化では、単一ノード内の
問題しか記述できない。すべての既存ノードの状況を一
緒に考慮しなければならない時には、困難な情況になる
可能性がある。選択可能テーブルを決定するための方法
は、次の2種類に分類できる。
【0035】第1に、すべての既存ノードが同一の組の
テーブルからバケットを選択しなければならないという
制約がない時には、上の定式化が有効であり、この問題
をよく表現している。PDBデータベース内のテーブル
数は、通常はあまり多くはないので、線形プログラミン
グ・パッケージや他の最適化方法を使用することによっ
て、この問題をノードごとに個別に解決できる。
【0036】第2に、すべての既存ノードがデータ再分
配に関して同一の組のテーブルを選択することが要求さ
れる時には、上の定式化が無効になる。すべての既存ノ
ードの状況を同時に検討しなければならない時には、問
題の複雑さが劇的に増大する。この場合には、ヒューリ
スティック手法が適している。あるテーブルに関して、
その全作業負荷は、各PDBノード内でのその作業負荷
の合計として定義される。より高い全作業負荷を有する
テーブルは、「重い」とみなされる。ヒューリスティッ
ク・アルゴリズムでは、再分配によって負荷平衡化を達
成するため、重いテーブルにより多くのバケットがある
と仮定する。したがって、ヒューリスティック・アルゴ
リズムを、図7を参照して下で説明する。データ再分配
には、下記のステップで説明するように、テーブルのリ
スト(List_Move)が必要である。ステップ1
75で、各テーブルTiの全作業負荷を、次式に従って
計算する。
【数2】 ただし、Wk(Tk)は、ノードNODEkでの時刻Ti
作業負荷である。
【0037】次に、ステップ176で、テーブル・リス
トList_Tableと称するデータ構造内で、全作
業負荷の降順に従ってテーブルのリストを配置する。ス
テップ177で、次のテーブル(第1パスの間は第1の
テーブル)を検索する。ノードNODEkでの増分セッ
ションに関して許容される残り時間Pkを、ステップ1
78で検索する。
【0038】既存ノードNODEkに関するList_
Tableの最初の項目のテーブルについて、ステップ
179でそのf(S(T))k値を計算する。ステップ
180でPk−F(S(T))≧0の場合、このテーブ
ルは、ノードNODEkの候補テストに合格する。次
に、ステップ181でテストを行って、NODEkが最
後のノードであるかどうかを判定する。そうでない場
合、NODEkを1つ増分し、ステップ178に戻っ
て、PDB内の各ノードについてテーブルのテストを行
う。このテーブルが、すべての既存ノードでの候補テス
トに合格する場合、ステップ183で、このテーブル
を、移動されるテーブルのリストである移動リストLi
st_Moveに追加し、List_Tableから削
除する。ステップ184で、各ノードのPkを更新す
る。ステップ185でテストを行って、List_Ta
bleが空であるかどうかを判定する。そうでない場
合、ステップ186で、次のテーブルを選択する。この
次テーブルを、ステップ177で検索する。あるテーブ
ルが、ステップ180でどれかのノードに関してテスト
に合格しなかったならば、ステップ187で、そのテー
ブルをList_Tableから除去する。ステップ1
83では、List_Tableが空であるかどうかを
テストする。List_Tableが空になったなら
ば、ステップ188で処理を終了する。
【0039】増分セッションに必要なテーブルのリスト
を決定した後に、これらのテーブルに含まれるバケット
だけを、データ再分配に関して選択する。時間制約は、
テーブル選択段階で十分に取り込まれているので、これ
らのテーブルからバケットを選択する処理では、時間制
約をもう一度考慮する必要がない。
【0040】増分モードのバケット・プールには、上の
処理によって決定された選択可能テーブル内のバケット
だけを含めればよい。
【0041】平均目標作業負荷(Average-Target workl
oad)処理は、再分配される実際のデータのバケットを
選択するために一時に1つのノードに対して作業する好
ましい方法である。図8からわかるように、PDBシス
テムの全作業負荷を、ステップ201で判定する。次
に、ステップ203で、このPDBシステムの理想作業
負荷を計算するが、これは、全作業負荷が、既存ノード
とPDBに追加される新ノードのすべてに対して平均化
された状態の作業負荷である。この流れ図の残りのステ
ップでは、新ノードへの移動に関して選択されたバケッ
トを記述したノードごとの順序付きリストList−M
oveを作成する。既存ノードのそれぞれについて、候
補リストCandidate_Listには、当初は、
そのノードに常駐するすべてのバケットの数が含まれて
いる(ステップ205)。次に、Candidate_
Listから、最も高い値の作業負荷を有するバケット
を見つける。好ましい実施例の1つでは、ステップ20
9で、作業負荷値を、式W=W1×(Work_loa
d)−W2×(Table_size)−W3×(Buc
ket_size)−W4×(#records)に従
って計算する。ただし、Work_loadはこのバケ
ットの潜在的作業負荷、Table_Sizeはテーブ
ル・サイズ、Bucket_Sizeはバケット・サイ
ズ、#recordsはバケット内のデータ・レコード
の数を表す。PDBの使用が特定のパターンに従うと仮
定すると、各ノードの各テーブルの作業負荷の履歴デー
タを、重要な参照として使用して、各ノードの各テーブ
ルの将来の使用における潜在的作業負荷を判定できる。
重み付け係数W1は、履歴データから将来の可能な作業
負荷への可能な写像を反映するのに使用される。W
1は、作業負荷の履歴情報に対する統計分析に基づいて
決定できる。PDBシステムが、ほとんどの時間の間同
一タイプのアプリケーションを作動させるのに使用さ
れ、データが、バケットにランダムに分配される場合、
係数W1の値は、値1に近い狭い範囲におさまる可能性
が非常に高い。
【0042】特定のテーブル内の1バケットを移動する
コストは、通常は下記の3つの要因によって決定され
る。(1)テーブルのサイズ:テーブル走査を処理する
ために割り振られるメモリは固定されているので、テー
ブルが大きいと、ディスクとメモリの間のスワップが多
くなる。(2)バケットのサイズ:バケットが大きいと
いうことは、移動するデータが多く、通信コストが高い
ことを意味する。(3)レコード数:テーブル走査処理
では、テーブル内のすべてのレコードを取り出し、検査
する必要がある。レコードの数が多ければ、処理時間も
長くなる。
【0043】重み付け係数W2、W3およびW4の値は、
PDBシステムおよび通信ソフトウェアの構成と性能に
依存し、これによって決定できる。W2、W3およびW4
の間の相対的な値は、スワッピング処理、通信処理およ
び走査処理の速度を比較した情報を用いて決定できる。
2、W3およびW4を相対的に決定した後に、W1の値を
もう一度調節して、作業負荷とバケット送出のコストの
間で適切な重み付けを行える。
【0044】次に、ステップ211で、最も高い値のバ
ケットを、バケットの候補リストから除去する。ステッ
プ213でテストを行って、このバケットを移動した後
の残りの作業負荷が、まだ理想作業負荷を越えるかどう
かを、式Wrest−Work_load≧Widealに従っ
て判定する。
【0045】Wrestは、このバケットを移動する前のこ
のノードの作業負荷であり、work_loadは、最
も高い値のバケットの作業負荷である。
【0046】この比較の結果が真である場合、このバケ
ットの選択が許容される。その場合、ステップ215
で、このバケットに関して項目(Table_Nam
e,Bucket_Number)を、このノードのL
ist_Moveに置く。
【0047】このノードの作業負荷は、ステップ217
で、最も高い値のバケットからの作業負荷を残りの作業
負荷から減算することによって更新される。ステップ2
19でテストを行って、Candidate_List
が空であるかどうかを判定する。そうでない場合、ステ
ップ209に戻って、次の最も高い値のバケットを判定
する。この処理は、ステップ219で候補リストが空と
判定されるまで繰り返される。その後、ステップ221
で、再分配の可能な追加のノードがあるかどうかを判定
する。そうである場合、ステップ223で次ノードを選
択する。テストするノードがなくなるまでこの処理を繰
り返した後に、ステップ225で終了する。
【0048】待合せ理論を使用して、テーブル走査動作
のためにとっておく必要のあるバッファ空間の量を計算
できる。これは、関連特許出願である米国特許出願番号
第216087号、"Minimal Sufficient Buffer Space
for Data Redistribution in a Parallel Database Sy
stem"に詳細に記載されている。
【0049】テーブル走査処理をサポートするのに最低
限必要な論理リンク用バッファ空間を計算する処理を、
図9に示す。
【0050】この処理は、ステップ251で始まり、そ
こで、通信バッファを満たすページの数を、ノードごと
に計算する。次に、ステップ253で、各ノードの通信
バッファを満たす時間の平均値を求める。次に、ステッ
プ255で、ノードiから新ノードへのデータ再分配メ
ッセージの到着速度を、ノードごとに計算する。
【0051】次に、ステップ257で、データ再分配の
総合到達速度と、正規トランザクション・メッセージの
総合到達速度を計算する。次に、ステップ259で、新
ノードでのメッセージ総合到達速度を計算する。ステッ
プ261で、新ノードでの平均サービス時間を求める。
【0052】次に、ステップ263で、データ再分配メ
ッセージの平均待合せ時間を計算する。
【0053】最後に、ステップ265で、ノードごと
に、ノード内の通信バッファを満たす平均時間によって
平均待合せ時間を割ることによって、最低限必要なバッ
ファ数を計算する。
【0054】テーブル走査処理を、図10に示す。この
処理は、ステップ300で始まり、この時、テーブルと
テーブル内のバケット番号が、テーブル走査処理に与え
られる。この情報を用いて、ステップ301で、テーブ
ル番号に対応するテーブルをオープンし、ロックする。
ステップ303で、テーブル内の最初のレコードを検査
するようにセットする。ステップ305で、レコードi
を検査し、レコードiが属するバケットのバケット番号
kを検索する。ステップ307でテストを行って、バケ
ット番号kが、再分配されるバケットの組に含まれるか
どうかを判定する。そうである場合、ステップ309
で、レコードiを通信バッファにコピーし、再分配処理
が完了したならば、レコードiを削除済みとしてマーク
する。ステップ311で、レコード番号を1つ増分す
る。ステップ313でテストを行って、テーブル走査処
理がテーブルの終りに達したかどうかを判定する。そう
でない場合、レコードの検査に戻って、そのレコードが
再分配されるバケットの組に属するかどうかを判定す
る。テーブルの終りに達した場合、ステップ315で処
理を終了する。
【0055】上の説明は、並列データベース・システム
に新ノードを追加する時のデータ再分配を中心とするも
のであるが、本発明は、PDBシステムが不平衡になっ
た時にも使用できる。PDBが不平衡であるかどうかを
判定する処理を、図11に示す。この処理は、ステップ
350から始まり、即座にステップ351に継続して、
PDBシステム内の各ノードからデータ負荷情報を集め
る。次に、ステップ353で、所定の閾値水準を越える
データ負荷を有するノードを判定し、「オーバーロード
(過負荷)状態」として分類する。次に、ステップ35
5で、所定の最少標準より低い負荷を有するノードを判
定し、「アンダーロード(低負荷)状態」として分類す
る。ステップ357で、オーバーロード状態ノード内の
移動すべきバケットの順序付きリストを確立する。この
リストは、バケット・サイズの順で配置され、バケット
番号、バケット・サイズ、ノードIDなどの情報を含む
ことが好ましい。
【0056】ステップ359で、アンダーロードの範疇
に含まれる、最少の計画負荷を有するノードを判定し、
名前Node−minを割り当てる。計画負荷は、計画
負荷=現負荷+そのノードへ移動を計画されているバケ
ットからの負荷という式によって決定される。次に、ス
テップ361で、移動されるバケットの順序付きリスト
の先頭のバケットB(top)と、Node−minの
仮の計画負荷Xを検索する。バケットB(top)内の
データが引き起こす潜在負荷L(B(top))を求め
る。次に、ステップ363でテストを行って、XとL
(B(top))の合計が所定の閾値水準より大きいか
どうかを判定する。そうでない場合、ステップ365
で、先頭バケットをNode−minに割り当て、バケ
ットの順序付きリストからB(top)を除去する。さ
らに、Node−minの仮の計画負荷Xを更新する。
この処理は、仮の計画負荷が閾値水準を越えるまで、こ
のループ内で継続する。閾値水準を越えたならば、ステ
ップ367で、先頭バケットをNode−minに割り
当て、順序付きリストから除去し、Node−minの
計画負荷を更新する。次に、ステップ369で、移動す
るバケットのリストが空であるかどうかを判定する。そ
うでない場合、すなわち、移動すべきバケットがまだ存
在する場合、最少の計画負荷を有する新Node−mi
nを見つけるステップに戻り、上に述べた処理を繰り返
す。移動すべきバケットがない場合、ステップ371で
処理を終了する。
【0057】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0058】(1)再分配処理が他の処理と同時に動作
する並列データベース内のノード間でデータを再分配す
るための方法であって、前記再分配処理に割り当てられ
た時間内に少なくとも1つの送出ノードから受取ノード
へ再分配できるデータを判定するステップと、前記時間
内に前記少なくとも1つの送出ノードから前記受取ノー
ドへ再分配可能なデータを再分配するステップとを含む
データ再分配方法。 (2)前記判定ステップが、それぞれの作業負荷に従っ
て順序付けられ、前記少なくとも1つの送出ノードに記
憶される候補テーブルのリストを確立するステップと、
候補テーブルのそれぞれを、その候補テーブルを記憶す
る前記送出ノード内で前記時間内に走査できるかどうか
を判定するステップと、再分配可能な前記時間内に走査
できる候補テーブルのすべてを、そこからデータが再分
配されるテーブルの組に追加するステップとを含む、上
記(1)に記載の方法。 (3)前記テーブルの組から再分配可能データを選択す
るステップを含む、上記(2)に記載の方法。 (4)前記受取ノードが、並列データベース・システム
の新ノードである、上記(2)に記載の方法。 (5)前記受取ノードが、並列データベース・システム
内で利用度の低いノードである、上記(2)に記載の方
法。 (6)再分配処理が他の処理と同時に動作する並列デー
タベースにおいて、ノード間でデータを再分配するため
のシステムであって、前記再分配処理に割り当てられた
時間内に少なくとも1つの送出ノードから受取ノードへ
再分配できるデータを判定する手段と、前記時間内に前
記少なくとも1つの送出ノードから前記受取ノードへ再
分配可能なデータを再分配する手段とを含むシステム。 (7)前記判定手段が、それぞれの作業負荷に従って順
序付けられ、並列データベース内の複数のノードに関連
するメモリに記憶される候補テーブルのリストを確立す
る手段と、候補テーブルのそれぞれを、その候補テーブ
ルを記憶する複数のノードのそれぞれで前記時間内に走
査できるかどうかを判定する手段と、前記時間内に走査
できる候補テーブルのすべてを、そこから再分配可能デ
ータが判定されるテーブルの組に追加する手段とを含
む、上記(6)に記載のシステム。 (8)テーブルの組から再分配可能データを選択する手
段を含む、上記(7)に記載のシステム。 (9)前記受取ノードが、並列データベース・システム
の新ノードである、上記(7)に記載のシステム。 (10)前記受取ノードが、並列データベース・システ
ム内で利用度の低いノードである、上記(7)に記載の
システム。
【図面の簡単な説明】
【図1】システム装置、表示装置、キーボードおよびマ
ウスを含む単一のコンピュータ・システムを示す図であ
る。
【図2】図1に示されたコンピュータ・システムの構成
要素のブロック図である。
【図3】並列データベース・システムを示す図である。
【図4】新ノードが追加された並列データベース・シス
テムを示す図である。
【図5】並列データベース・システム内のテーブルを示
す図である。
【図6】並列データベース・システムの新ノードへデー
タを再分配する処理の流れ図である。
【図7】どのテーブルからデータを再分配できるかを判
定する処理の流れ図である。
【図8】図7の処理で選択されたテーブルからデータの
バケットを選択する処理の流れ図である。
【図9】データ読取再分配に十分な最低限のバッファ空
間を計算する処理を示す図である。
【図10】テーブル走査動作の流れ図である。
【図11】並列データベース内の不平衡状態を判定する
処理の流れ図である。
【符号の説明】
21 システム・バス 22 マイクロプロセッサ 23 読取り専用メモリ(ROM) 24 ランダム・アクセス・メモリ(RAM) 26 ハード・ディスク駆動装置 27 フロッピー・ディスク駆動装置 40 入出力コントローラ 46 ネットワーク 50 オペレーティング・システム 52 プレゼンテーション・マネージャ 54 データベース管理プログラム 56 データベース 61 ノード 63 ノード 65 ノード 67 ノード 62 テーブル 64 テーブル 66 テーブル 68 テーブル 69 ネットワーク 71 新ノード 72 テーブル 74 テーブル 73 局所リンク 100 関係データベース・テーブル

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】再分配処理が他の処理と同時に動作する並
    列データベース内のノード間でデータを再分配するため
    の方法であって、 前記再分配処理に割り当てられた時間内に少なくとも1
    つの送出ノードから受取ノードへ再分配できるデータを
    判定するステップと、 前記時間内に前記少なくとも1つの送出ノードから前記
    受取ノードへ再分配可能なデータを再分配するステップ
    とを含むデータ再分配方法。
  2. 【請求項2】前記判定ステップが、 それぞれの作業負荷に従って順序付けられ、前記少なく
    とも1つの送出ノードに記憶される候補テーブルのリス
    トを確立するステップと、 候補テーブルのそれぞれを、その候補テーブルを記憶す
    る前記送出ノード内で前記時間内に走査できるかどうか
    を判定するステップと、 再分配可能な前記時間内に走査できる候補テーブルのす
    べてを、そこからデータが再分配されるテーブルの組に
    追加するステップとを含む、請求項1に記載の方法。
  3. 【請求項3】前記テーブルの組から再分配可能データを
    選択するステップを含む、請求項2に記載の方法。
  4. 【請求項4】前記受取ノードが、並列データベース・シ
    ステムの新ノードである、請求項2に記載の方法。
  5. 【請求項5】前記受取ノードが、並列データベース・シ
    ステム内で利用度の低いノードである、請求項2に記載
    の方法。
  6. 【請求項6】再分配処理が他の処理と同時に動作する並
    列データベースにおいて、ノード間でデータを再分配す
    るためのシステムであって、 前記再分配処理に割り当てられた時間内に少なくとも1
    つの送出ノードから受取ノードへ再分配できるデータを
    判定する手段と、 前記時間内に前記少なくとも1つの送出ノードから前記
    受取ノードへ再分配可能なデータを再分配する手段とを
    含むシステム。
  7. 【請求項7】前記判定手段が、 それぞれの作業負荷に従って順序付けられ、並列データ
    ベース内の複数のノードに関連するメモリに記憶される
    候補テーブルのリストを確立する手段と、 候補テーブルのそれぞれを、その候補テーブルを記憶す
    る複数のノードのそれぞれで前記時間内に走査できるか
    どうかを判定する手段と、 前記時間内に走査できる候補テーブルのすべてを、そこ
    から再分配可能データが判定されるテーブルの組に追加
    する手段とを含む、請求項6に記載のシステム。
  8. 【請求項8】テーブルの組から再分配可能データを選択
    する手段を含む、請求項7に記載のシステム。
  9. 【請求項9】前記受取ノードが、並列データベース・シ
    ステムの新ノードである、請求項7に記載のシステム。
  10. 【請求項10】前記受取ノードが、並列データベース・
    システム内で利用度の低いノードである、請求項7に記
    載のシステム。
JP6163497A 1993-09-02 1994-07-15 並列データベースにおいてデータを再分配する方法およびシステム Expired - Lifetime JP2765678B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/116,089 US5687369A (en) 1993-09-02 1993-09-02 Selecting buckets for redistributing data between nodes in a parallel database in the incremental mode
US116089 1993-09-02

Publications (2)

Publication Number Publication Date
JPH0785105A true JPH0785105A (ja) 1995-03-31
JP2765678B2 JP2765678B2 (ja) 1998-06-18

Family

ID=22365165

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6163497A Expired - Lifetime JP2765678B2 (ja) 1993-09-02 1994-07-15 並列データベースにおいてデータを再分配する方法およびシステム

Country Status (3)

Country Link
US (1) US5687369A (ja)
EP (1) EP0642092A3 (ja)
JP (1) JP2765678B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10105205A (ja) * 1996-09-27 1998-04-24 Hitachi Ltd 資材所要量計算方法およびシステム

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3510042B2 (ja) * 1996-04-26 2004-03-22 株式会社日立製作所 データベース管理方法及びシステム
US5764905A (en) * 1996-09-09 1998-06-09 Ncr Corporation Method, system and computer program product for synchronizing the flushing of parallel nodes database segments through shared disk tokens
US6038569A (en) * 1997-02-10 2000-03-14 International Business Machines Corporation System for data structure loading with concurrent image copy
US5950212A (en) * 1997-04-11 1999-09-07 Oracle Corporation Method and system for workload based group committing for improved performance
US6081801A (en) * 1997-06-30 2000-06-27 International Business Machines Corporation Shared nothing parallel execution of procedural constructs in SQL
US6266335B1 (en) 1997-12-19 2001-07-24 Cyberiq Systems Cross-platform server clustering using a network flow switch
US6601084B1 (en) * 1997-12-19 2003-07-29 Avaya Technology Corp. Dynamic load balancer for multiple network servers
US7055173B1 (en) 1997-12-19 2006-05-30 Avaya Technology Corp. Firewall pooling in a network flowswitch
US6327587B1 (en) 1998-10-05 2001-12-04 Digital Archaeology, Inc. Caching optimization with disk and/or memory cache management
US6601058B2 (en) 1998-10-05 2003-07-29 Michael Forster Data exploration system and method
SE515578C2 (sv) 1998-11-26 2001-09-03 Ericsson Telefon Ab L M Metod för lastreglering i en distribuerad databas
JP4206586B2 (ja) * 1999-11-12 2009-01-14 株式会社日立製作所 データベース管理方法および装置並びにデータベース管理プログラムを記録した記憶媒体
US6880089B1 (en) 2000-03-31 2005-04-12 Avaya Technology Corp. Firewall clustering for multiple network servers
US6779039B1 (en) 2000-03-31 2004-08-17 Avaya Technology Corp. System and method for routing message traffic using a cluster of routers sharing a single logical IP address distinct from unique IP addresses of the routers
US7069324B1 (en) * 2000-06-30 2006-06-27 Cisco Technology, Inc. Methods and apparatus slow-starting a web cache system
US6772226B1 (en) 2000-08-15 2004-08-03 Avaya Technology Corp. VPN device clustering using a network flow switch and a different mac address for each VPN device in the cluster
CA2319918A1 (en) * 2000-09-18 2002-03-18 Linmor Technologies Inc. High performance relational database management system
EP2631856A3 (en) * 2000-11-10 2013-10-30 Affinnova, Inc. Method and apparatus for for dynamic, real-time market segmentation
US6850941B1 (en) 2000-12-21 2005-02-01 Vignette Corporation Method and system for native-byte form handling
US6954776B1 (en) * 2001-05-07 2005-10-11 Oracle International Corporation Enabling intra-partition parallelism for partition-based operations
US6778999B2 (en) * 2001-10-12 2004-08-17 International Business Machines Corporation Method for distributing a set of objects in computer application
US20030212618A1 (en) * 2002-05-07 2003-11-13 General Electric Capital Corporation Systems and methods associated with targeted leading indicators
US8234517B2 (en) 2003-08-01 2012-07-31 Oracle International Corporation Parallel recovery by non-failed nodes
US7277897B2 (en) 2003-08-01 2007-10-02 Oracle International Corporation Dynamic reassignment of data ownership
US7139772B2 (en) * 2003-08-01 2006-11-21 Oracle International Corporation Ownership reassignment in a shared-nothing database system
US7308418B2 (en) * 2004-05-24 2007-12-11 Affinova, Inc. Determining design preferences of a group
US20060004621A1 (en) * 2004-06-30 2006-01-05 Malek Kamal M Real-time selection of survey candidates
US8326990B1 (en) * 2005-07-15 2012-12-04 Symantec Operating Corporation Automated optimal workload balancing during failover in share-nothing database systems
US7814065B2 (en) 2005-08-16 2010-10-12 Oracle International Corporation Affinity-based recovery/failover in a cluster environment
US7818417B2 (en) * 2006-01-10 2010-10-19 International Business Machines Corporation Method for predicting performance of distributed stream processing systems
US20080168077A1 (en) * 2007-01-10 2008-07-10 Eric Lawrence Barsness Pre-loading of an in memory database
US8892558B2 (en) 2007-09-26 2014-11-18 International Business Machines Corporation Inserting data into an in-memory distributed nodal database
US8027996B2 (en) * 2007-11-29 2011-09-27 International Business Machines Corporation Commitment control for less than an entire record in an in-memory database in a parallel computer system
US20090276654A1 (en) * 2008-05-02 2009-11-05 International Business Machines Corporation Systems and methods for implementing fault tolerant data processing services
US9881039B2 (en) * 2009-05-26 2018-01-30 International Business Machines Corporation Rebalancing operation using a solid state memory device
US8510334B2 (en) 2009-11-05 2013-08-13 Oracle International Corporation Lock manager on disk
WO2012122431A1 (en) 2011-03-08 2012-09-13 Affinnova, Inc. System and method for concept development
US9208132B2 (en) 2011-03-08 2015-12-08 The Nielsen Company (Us), Llc System and method for concept development with content aware text editor
US20120259676A1 (en) 2011-04-07 2012-10-11 Wagner John G Methods and apparatus to model consumer choice sourcing
US9311383B1 (en) 2012-01-13 2016-04-12 The Nielsen Company (Us), Llc Optimal solution identification system and method
US9608698B2 (en) 2012-12-26 2017-03-28 Nxp B.V. Wireless power and data transmission
US9799041B2 (en) 2013-03-15 2017-10-24 The Nielsen Company (Us), Llc Method and apparatus for interactive evolutionary optimization of concepts
WO2014152010A1 (en) 2013-03-15 2014-09-25 Affinnova, Inc. Method and apparatus for interactive evolutionary algorithms with respondent directed breeding
US9830346B2 (en) * 2013-11-26 2017-11-28 Sap Se Table redistribution in distributed databases
US10089307B2 (en) * 2014-12-31 2018-10-02 International Business Machines Corporation Scalable distributed data store
US10147108B2 (en) 2015-04-02 2018-12-04 The Nielsen Company (Us), Llc Methods and apparatus to identify affinity between segment attributes and product characteristics
US9888057B2 (en) 2015-05-21 2018-02-06 International Business Machines Corporation Application bundle management across mixed file system types
US9965262B2 (en) 2015-05-21 2018-05-08 International Business Machines Corporation Application bundle pulling
US10152516B2 (en) 2015-05-21 2018-12-11 International Business Machines Corporation Managing staleness latency among application bundles
US10530660B2 (en) 2015-05-21 2020-01-07 International Business Machines Corporation Application bundle preloading
US10389850B2 (en) 2015-05-21 2019-08-20 International Business Machines Corporation Managing redundancy among application bundles
US10389794B2 (en) 2015-05-21 2019-08-20 International Business Machines Corporation Managing redundancy among application bundles
US10552454B2 (en) * 2015-11-13 2020-02-04 Sap Se Efficient partitioning of related database tables
US20190196724A1 (en) * 2017-12-26 2019-06-27 International Business Machines Corporation Workload allocation across multiple processor complexes

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4500960A (en) * 1982-06-28 1985-02-19 At&T Bell Laboratories Geographically distributed multiprocessor time-shared communication processing system
US4661902A (en) * 1985-03-21 1987-04-28 Apple Computer, Inc. Local area network with carrier sense collision avoidance
US5193189A (en) * 1987-10-07 1993-03-09 Allen-Bradley Company, Inc. Programmable controller with multiple priority level task processing
US5001666A (en) * 1987-10-19 1991-03-19 Motorola, Inc. Multiple interrupt tri-level microprocessor operating system
JPH0293836A (ja) * 1988-09-30 1990-04-04 Toshiba Corp 分散型データベース管理装置
US5131087A (en) * 1988-12-29 1992-07-14 Storage Technology Corporation Computer system having apparatus for automatically redistributing data records stored therein
US4974256A (en) * 1989-06-30 1990-11-27 At&T Bell Laboratories Load balancing and overload control in a distributed processing telecommunications system
JPH0415840A (ja) * 1990-05-10 1992-01-21 Toshiba Corp 分散型データベース管理装置
US5191578A (en) * 1990-06-14 1993-03-02 Bell Communications Research, Inc. Packet parallel interconnection network
US5185861A (en) * 1991-08-19 1993-02-09 Sequent Computer Systems, Inc. Cache affinity scheduler
JPH0797782B2 (ja) * 1991-09-18 1995-10-18 インターナショナル・ビジネス・マシーンズ・コーポレイション 異種トランザクションの調整方法
US5504899A (en) * 1991-10-17 1996-04-02 Digital Equipment Corporation Guaranteeing global serializability by applying commitment ordering selectively to global transactions
US5423037A (en) * 1992-03-17 1995-06-06 Teleserve Transaction Technology As Continuously available database server having multiple groups of nodes, each group maintaining a database copy with fragments stored on multiple nodes
FR2696259A1 (fr) * 1992-09-30 1994-04-01 Apple Computer Organisation en tâches et en modules d'une exécution dans un processeur.

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10105205A (ja) * 1996-09-27 1998-04-24 Hitachi Ltd 資材所要量計算方法およびシステム

Also Published As

Publication number Publication date
EP0642092A3 (en) 1995-08-09
JP2765678B2 (ja) 1998-06-18
US5687369A (en) 1997-11-11
EP0642092A2 (en) 1995-03-08

Similar Documents

Publication Publication Date Title
JP2765678B2 (ja) 並列データベースにおいてデータを再分配する方法およびシステム
US5634125A (en) Selecting buckets for redistributing data between nodes in a parallel database in the quiescent mode
US5819083A (en) Minimal sufficient buffer space for data redistribution in a parallel database system
US7483981B2 (en) Scalable virtual partitioning of resources
US5675791A (en) Method and system for database load balancing
EP1640875B1 (en) Method and system for multithread processing of spreadsheet chain calculations
US6728727B2 (en) Data management apparatus storing uncomplex data and data elements of complex data in different tables in data storing system
US7437713B2 (en) Automated system that tests software on multiple computers
US6751616B1 (en) Techniques for DLM optimization with re-mapping responsibility for lock management
US7937377B2 (en) Dynamic cluster database architecture
US6920454B1 (en) Techniques for DLM optimization with transferring lock information
Cornell et al. An effective approach to vertical partitioning for physical design of relational databases
US20090313630A1 (en) Computer program, apparatus, and method for software modification management
Barbard et al. The Demarcation Protocol: A technique for maintaining linear arithmetic constraints in distributed database systems
US6760733B1 (en) Object management system and data processing system with centralized mechanism for managing containment relationships among objects
US20060080285A1 (en) Database System with Methodology for Parallel Schedule Generation in a Query Optimizer
US20010023440A1 (en) Directory-services-based launcher for load-balanced, fault-tolerant, access to closest resources
US6654756B1 (en) Combination of mass storage sizer, comparator, OLTP user defined workload sizer, and design
GB2338386A (en) Management of server connections
GB2321324A (en) Data management for concurrent engineering
CN109101320B (zh) 异构处理器平台融合管理系统
Cornell et al. On optimal site assignment for relations in the distributed database environment
US8001098B2 (en) Database update management
EP0547992A2 (en) Method and system for enhanced efficiency of data recovery in balanced tree memory structures
US20060093124A1 (en) Techniques for performing multi-media call center functionality in a database management system

Legal Events

Date Code Title Description
A072 Dismissal of procedure

Effective date: 20040309

Free format text: JAPANESE INTERMEDIATE CODE: A072