JP3395208B2 - 分散データベースのソート方法およびアクセス方法 - Google Patents

分散データベースのソート方法およびアクセス方法

Info

Publication number
JP3395208B2
JP3395208B2 JP18345392A JP18345392A JP3395208B2 JP 3395208 B2 JP3395208 B2 JP 3395208B2 JP 18345392 A JP18345392 A JP 18345392A JP 18345392 A JP18345392 A JP 18345392A JP 3395208 B2 JP3395208 B2 JP 3395208B2
Authority
JP
Japan
Prior art keywords
key value
processor
key
record
processors
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
JP18345392A
Other languages
English (en)
Other versions
JPH05242049A (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 JP18345392A priority Critical patent/JP3395208B2/ja
Publication of JPH05242049A publication Critical patent/JPH05242049A/ja
Application granted granted Critical
Publication of JP3395208B2 publication Critical patent/JP3395208B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、データの各レコードを
複数の記憶装置に分割して格納した分散データベースシ
ステムにおいて、複数の記憶装置に格納されたデータの
ソート、およびアクセスを行なう方法に関する。
【0002】
【従来の技術】並列計算機システム技術の発展にともな
い、それらを用いた分散データベースシステムが実用化
されてきた。分散データベースシステムでは一般にリレ
ーショナルデータベースが用いられる。その理由は、リ
レーショナルデータベースではデータテーブルと呼ばれ
る表単位でデータの管理および処理が実行されるのでデ
ータの管理および分散が容易であることが挙げられる。
さらに近年ではSQLと呼ばれる標準的な処理言語が定
められ、リレーショナルデータベースはますます普及し
ていくものと考えられる。
【0003】従来の分散データベースシステムでは、シ
ステムが管理するデータの各表をレコード単位で各プロ
セッサに分散して格納することがなされている。この方
式では一つの表が複数のプロセッサに分散されるので、
データ表の検索等の処理が各プロセッサで並列に実行で
きる。従って大規模処理のターンアラウンドタイムの短
縮に効果を発揮する。一方、この方式では一つの表が複
数のプロセッサに分散するために表全体のソートや2つ
の表の突合せ等の処理を複数のプロセッサで協調して実
行する必要がある。
【0004】分散データベースシステムにおけるソート
のための手法として、従来、種々のものが開示されてい
る。それらの中で代表的な方法について以下に簡単に説
明する。
【0005】第1の方法として、各プロセッサに分散し
て格納されている部分データについて、各プロセッサ毎
にソートを行なった後、それら各プロセッサごとのソー
ト処理の結果をキー値に基づいてマージしながら中央プ
ロセッサに集める方法がある。このような方法は、例え
ば、特開平2−118756号に開示されている。
【0006】次に、第2の方法として、中央プロセッサ
において予めキー値を複数の範囲に区分しておき、ソー
トすべきデータを区分したキー値の範囲のそれぞれに対
応する複数のグループに分割し、各グループのデータを
異なるプロセッサに分散する。その後、各グループのデ
ータをそれぞれのプロセッサにおいてソートし、各プロ
セッサにおけるソート処理の結果を中央プロセッサに転
送する方法がある。
【0007】また、第3の方法では、各プロセッサに分
散して格納されている部分データについて、各プロセッ
サ毎にソーティングを独立に実行した後、それらの部分
ソート処理の結果を、キー値の値域ごとに分割してそれ
ぞれ異なるプロセッサに分散する。この際、各プロセッ
サへは、各レコードのキー値と、レコード識別子のみを
転送し、データの本体は動かさない。そして各部分範囲
ごとにそれぞれのプロセッサで分散されたキー値のマー
ジ処理を行い、その結果に基づいて中央プロセッサでキ
ー値とレコード識別子とからなる部分ソート列を各プロ
セッサから逐次集める。この方法を用いるとデータ本体
の移動がなく、また、キー値のマージ処理が各プロセッ
サで並列に実行できる。
【0008】第2及び第3の方法に関しては、例えば、
特開平2−228730 号に開示されている。これらの方法で
は、中央プロセッサにおいてキー値の分割処理を行な
い、その結果を各プロセッサに通知し、各プロセッサに
おいて割り当てられたキー値の範囲毎にソート処理を行
なうので、分散ソート処理を並列に実行するのに有効で
ある。また、各プロセッサに割り当てるキー値の量を均
等化することによりソート処理自体の高速化を図ること
ができる。
【0009】
【発明が解決しようとする課題】上記第1の方法では、
各プロセッサに分散して格納されている部分データのソ
ート結果をマージしながら中央プロセッサに集めてい
る。このため、マージすべきデータの量が多いと、この
マージのために中央プロセッサにおける処理の負荷は大
きくなる。
【0010】これに対して、上記第2又は第3の方法に
よれば、ソート処理は、各プロセッサで分散して並列に
実行することができ、中央プロセッサでは、各プロセッ
サにおけるソート結果を集める処理を行なうだけですむ
ため、第1の方法に比べ中央プロセッサにおける負荷は
軽減される。しかし、上記第2の方法においても、各プ
ロセッサで生成された部分ソート列を中央プロセッサに
遂次リターンする必要がある。したがって、処理するデ
ータ数が多くなると、この処理結果のリターンに要する
負荷が大きくなり、並列化の効果が上がらない。
【0011】一方、上記第3の方法では、ソート結果の
リターン処理を各デ−タレコードに対応したレコード識
別子を用いて行うことにより遂次処理の軽減を図ってい
る。このため、第2の方法よりも処理結果のリターンに
要する負荷は小さくなる。しかし、それでもなお、レコ
ード数に比例した識別子を中央プロセッサにリターンす
る必要がある。このため、各プロセッサにおけるマージ
処理の負荷がプロセッサの台数の増加に伴い増加する。
【0012】従って、以上説明した従来のソート方法で
は、ソート処理自体に要する時間を短縮するためにプロ
セッサ台数を増やしたとしても、ソート処理に付随する
マージ処理、キー値の分割範囲の決定等の処理に要する
中央処理装置の負荷が増大し、全体としての処理時間を
向上させることは困難であった。
【0013】また、分散データベースシステムでは、ソ
ート結果をキー値を用いてアクセスする場合、2分探索
法(ULLMAN著,國井,大久保訳,「データベースシステ
ムの原理」参照)等が用いられている。従って、上記従
来の手法では、キー値の特定の区間に対するアクセスの
場合でもそれぞれのプロセッサに格納されている全デー
タをユーザにリターンする必要があった。
【0014】従って、本発明の目的は、中央プロセッサ
における負荷を軽減し、ソート処理を効率的に行ない得
る分散データベースシステムにおけるソート方法を提供
することにある。
【0015】
【課題を解決するための手段】本発明による分散データ
ベースのソート方法は、データベースを構成する表デ−
タの全レコードのキー値が分布する範囲を複数の区間に
分割する。これら、複数の区間を複数の第1のプロセッ
サのそれぞれに割当て、データベースの部分デ−タを保
持する複数の第2のプロセッサから、それらが保持する
レコードのキー値とそのレコードの記憶位置を示す情報
をそのキー値の属する区間が割り当てられた第1のプロ
セッサに転送する。第1のプロセッサでは、第2のプロ
セッサからそれぞれ転送されてきた複数のキー値をソー
トし、ソートされたキー値と共にレコードの記憶位置を
示す情報を登録したキー値表をソート結果として生成す
る。
【0016】また、好ましくは、第2のプロセッサは、
分割したキー値の区間とその区間に割り当てた第1のプ
ロセッサとの対応を示す情報を中央プロセッサに転送す
る。
【0017】さらに、本発明による分散データベースの
ソート方法では、好ましくは、全レコードのキーの値域
を複数の区間に分割する際、キーの値域をプロセッサ数
よりも多くの区間に等分割し、等分割の結果生成された
複数の区間を各々のレコード数が等しくなるようにプロ
セッサ数に等しい複数の区間に併合する。このようにし
て併合された複数の区間のそれぞれにその区間のソート
結果を格納するプロセッサを割り当てる。また、キー値
の値域の分割併合の際、各プロセッサ間で行なわれる情
報の収集/分散は、階層的に行なわれる。
【0018】
【作用】本発明によれば、複数のプロセッサにソート結
果を分散して格納し、中央プロセッサには、分割したキ
ー値の区間とその区間に割り当てた第1のプロセッサと
の対応を示す情報を転送することにより、中央プロセッ
サにおけるデータのマージ処理を実行する必要がなくな
る。その結果としてソート処理時間の大幅な削減を実現
することができる。また、中央プロセッサに対してはレ
コードデータの転送は行われず、中央プロセッサとデー
タベース処理プロセッサの間のデータの通信量を必要最
小限にすることができる。
【0019】さらに本発明によれば、レコードのキーの
値域を複数の区間に分割し、各区間に属するレコード数
を等しくすることにより、各プロセッサ間の均等な負荷
分散を実現できる。また、この分割の手続きを各々のプ
ロセッサで並列に実行することにより、分割に伴う中央
プロセッサへの負荷の集中を削減することができる。さ
らに、このような分割の処理行なう際、各々のプロセッ
サ間での情報の収集/分散を階層的にすることにより、
情報の交換に要する通信時間を短縮することができる。
【0020】
【実施例】以下、図面を用い、本発明を詳細に説明す
る。
【0021】(システム構成および処理の流れ)図1
は、本発明によるソート方法の一実施例である並列ソー
ト手順の流れを示す図である。図2は、本発明によるソ
ート方法を適用するのに好適な分散データベースシステ
ムの構成を示す図である。図2に示される分散データベ
ースシステムは利用者とのインタフェースである端末2
00、端末200を介して入力された利用者の要求を解
析して実行命令を発行する中央プロセッサ201と、デ
ータベースプロセッサ群210からなる。データベース
プロセッサ群210は、ソート処理の対象となるデータ
を記憶する2次記憶装置205が接続されたN台のデー
タプロセッサ(以下、これをソースプロセッサという)
203、およびソート処理結果を格納する2次記憶装置
206が接続されたM台のデータプロセッサ(以下、こ
れをシンクプロセッサという)204で構成される。
【0022】本実施例では各データベースプロセッサと
2次記憶装置が物理的に1対1に対応しているが、デー
タベースプロセッサと2次記憶装置は論理的に1対1に
対応していれば、物理的に、一台のデータベースプロセ
ッサに複数の2次記憶装置を設けても、複数のデータベ
ースプロセッサで1台の2次記憶装置を共有して設けて
もよい。また、図2ではソースプロセッサ203とシン
クプロセッサ204は、それぞれ独立したプロセッサと
して示されているが、一台のプロセッサにソースプロセ
ッサ203としての機能とシンクプロセッサ204とし
ての機能を持たせ、ソースプロセッサ203(または、
シンクプロセッサ204)の一部、又は、全部によりシ
ンクプロセッサ204(または、ソースプロセッサ20
3)の機能を実現してもよい。以下、本実施例では各デ
ータベースプロセッサ203および204は、ソースプ
ロセッサとしてもシンクプロセッサとしても使用できる
機能を持つものとして説明する。
【0023】本システムはさらに、端末200と中央プ
ロセッサ201を接続する端末通信回線209と、中央
プロセッサ201と各データベースプロセッサ203お
よび204とを接続する通信ネットワーク202とを有
する。通信ネットワーク202としては、バス,LA
N,ハイパキューブ,バタフライスイッチ,ハイパクロ
スバ等の様々なものが適用できる。
【0024】なお、以下の説明では、データは2次記憶
装置上に格納されているものとするが、データベースプ
ロセッサの主記憶上にデータを格納することも可能であ
り、この構成においても本発明が全く同様に適用でき
る。
【0025】本実施例では、データベースを構成する表
データ(以下、テーブルと呼ぶ)はレコード単位で分割
され、小さな表(以下、部分テーブルと呼ぶ)として複
数のソースプロセッサ203に接続されている2次記憶
装置205に分散して格納されている。図3は本システ
ムにおけるテーブルの分割形態の一例を示す図である。
図3では、データベースの一例として、図書目録を用い
ている。図書目録テーブル220は、N個の2次記憶装
置205にレコード単位で分割され、複数の部分テーブ
ル207として分散して格納されている。それぞれの記
憶装置205に格納される図書目録の部分テーブル20
7のレコード数は全レコード数をdn とした場合、およ
そdn/N となる。
【0026】次に、本実施例における並列ソート処理の
全体的な処理手順を図1および図4乃至図7を用いて簡
単に説明する。
【0027】本実施例における並列ソート手順は、4つ
のフェーズから成る。
【0028】第1のフェーズでは、端末200から利用
者の要求を受け、中央プロセッサ201がソート対象と
なる部分テーブルを有する全てのソースプロセッサ20
3およびソート結果を格納すべき全てのシンクプロセッ
サ204に対してソート開始命令を通知する(101,
112)。図4は、フェーズ1におけるメッセージの流
れを示している。
【0029】第2のフェーズでは、ソート開始命令を受
信したソースプロセッサ#1〜#Nの各々において、そ
れぞれの区間に属するレコード数が概ね等しくなるよう
に全レコードのキー値の範囲を複数の区間に分割する
(102)。
【0030】本フェーズでは、まず、各ソースプロセッ
サ203が、対応する2次記憶装置205から部分テー
ブルを読み出し、そのプロセッサが保持する部分テーブ
ル内のキーの値域を算出する(103)。次に各々のソ
ースプロセッサ203が相互にこの結果を通信して(1
13)、各ソースプロセッサで全レコードのキーの値域
を算出する(104)。そして、このキーの値域を複数
の区間に細かく分割し、それぞれの区間に属する自己の
部分テーブルのレコード数をカウントしてキー値の分布
情報を得る。この局所的なキー値の分布情報をさらに各
ソースプロセッサ203で交換して全レコードのキー値
の分布情報300を得る。この大域的なキー値の分布情
報を基にして、各シンクプロセッサに割り当てるレコー
ド数が概ね等しくなるようにキーの値域を分割する(1
05)。図5に、各ソースプロセッサ203が2次記憶
装置205より部分テーブル207を読み出し、ソース
プロセッサ203相互でキー値の分布情報を交換する際
のメッセージの流れを示す。
【0031】以上の手順で得られた分割結果はキー値分
割表301として各ソースプロセッサ203ごとに保持
する。図8(a)は、フェーズ2において、各ソースプ
ロセッサ203内で生成されるキー値分布情報300の
構成例を、図8(b)は、キー値分割表211の構成例
を示している。キー値分布情報300は、分割されたキ
ー区間と、それぞれのキー区間に属するレコードの数を
示す表として生成される。また、キー値分割表211
は、分割されたキー区間と各キー区間についての処理を
担当するシンクプロセッサ204とを対応付けた表であ
り、シンクPIDの欄にそのキー区間のソート処理を担
当するシンクプロセッサ204の番号が登録される。本
実施例では、各シンクプロセッサ204が処理すべきデ
−タ量のバラツキをより小さくするために、キー値分割
表211に、1つのキー区間をさらに2分割するための
分割点情報を設けている。分割点情報が登録されている
キー区間では、分割点の値以上のキー値がそのエントリ
に登録されているシンクプロセッサの担当となり、分割
点の値より小さなキー値を持つレコードは、その前のエ
ントリに登録されているシンクプロセッサ204の担当
となることを示す。例えば、図8(b)中では、キー区
間“200−299”がキー値“248”で2分割され
ていることを示しており、このキー区間ではキー値“2
48”未満のレコードは、シンクプロセッサ#1が担当
し、キー値“248”以上のレコードは、シンクプロセ
ッサ#2が担当することを示している。分割点情報が登
録されていないエントリでは、そのキー区間全体のレコ
ードをシンクPIDの欄に登録されているシンクプロセ
ッサ204が担当する。なお、分割点情報は特に設けな
くてもよく、この場合は、各キー区間の境界が各シンク
プロセッサの担当範囲の境界となる。
【0032】第3のフェーズでは、各ソースプロセッサ
203は、フェーズ2で作成したキー値分割表211を
参照しながら自己の部分テーブルの各レコードのキー値
と、レコード本体へのポインタの組をそのキー値のソー
ト処理を担当するシンクプロセッサ204に送信する
(106,114,115,107)。図6はフェーズ
3におけるデータの流れを示す。
【0033】第4のフェーズでは、各シンクプロセッサ
204が受信したキー値とレコードポインタとの組をそ
れぞれ独立してソートする。そのソート処理の結果とし
て、キー値表212を生成し(108)、それぞれ対応
する2次記憶装置206に格納する(109)。
【0034】シンクプロセッサ204からのソート終了
通知は、シンクプロセッサ204間において、階層的に
収集される。例えばシンクプロセッサが8台のときに
は、まず、シンクプロセッサ#4〜#7からの終了通知
がシンクプロセッサ#0〜#3に送信される。次に、シ
ンクプロセッサ#2,#3が、シンクプロセッサ#0,
#1にソート終了通知を送信し、さらにシンクプロセッ
サ#1から#0に送信され、最後に、シンクプロセッサ
#0から中央プロセッサにソート終了通知が送信される
(117)。
【0035】一方、シンクプロセッサ204へのキー値
とレコードポインタの組の転送が終了したソースプロセ
ッサ203は、終了通知をシンクプロセッサ204と同
様の方法で階層的に収集し、最終的にソースプロセッサ
#0が中央プロセッサ201にキー値分割表211およ
び転送処理の了通知を送信する(116、117)。中
央処理装置201では、ソースプロセッサ203からキ
ー値分割表211を受信し(110)、さらに、ソース
プロセッサ203及びシンクプロセッサ204からの終
了通知を受信してソート処理を終了する(118)。図
7には、フェーズ4におけるメッセージの流れを示す。
【0036】以上述べたソート処理終了後、各プロセッ
サに保持される情報の様子を図9に示す。中央プロセッ
サ201には、ソースプロセッサ203から送られてき
たキー値分割表211が保持される。ソースプロセッサ
203には、ソート対象となった部分テーブル213
が、また、シンクプロセッサ204には、ソートされた
キー値表212が保持される。ソートされたテーブルに
対する中央プロセッサ201からのアクセスは、キー値
分割表211とキー値表212を用いて行なわれる。ソ
ート済みのテーブルへのアクセス方法については後述す
る。
【0037】なお、本実施例によるソート方法ではソー
トに伴うレコード本体の移動は全く行わない。従って、
大量なデータのソート処理を効率的に行なうことができ
る。さらにソート結果として、ソート済みのキー値表そ
のものやレコード本体を中央プロセッサ201にリター
ンしないので、ソート処理における逐次処理を排除する
ことが可能となる。
【0038】以下、以上の処理についてさらに詳細に説
明する。
【0039】(全データレコードの値域の算出−ステッ
プ104)全レコードのキーの値域の算出には、例え
ば、カスケードサム法(関口智嗣、小柳義夫:科学技術
計算における並列化技術,情報処理,Vol.27,No.
9, pp.985−994(Sep.1986)に記述されて
いる公知の手法)を適用することができる。カスケード
サム法によりキーの値域を求める方法を図10を用いて
説明する。図10では(2∧n)個(演算子^はべき乗
を表す)のソースプロセッサ203からなるシステムに
おいて全レコードの値域の計算をn回の通信で求める方
法をソースプロセッサ#0に着目して示している。各ソ
ースプロセッサ203には論理的に0から順にプロセッ
サ番号を割り当てるとする。以下の式ではプロセッサ番
号はこの論理プロセッサ番号を表し、その値は2進数で
扱うものとする。
【0040】まず、各ソースプロセッサ203で自己が
保持する部分テーブル213のレコードのキーの値域を
算出する(230)。次に全てのソースプロセッサ203
が (自プロセッサ番号) xor (2∧0) 番目のプロセッサと通信して、それぞれが求めた値域を
相互に交換して自プロセッサの保持するキーの値域と受
信したキーの値域の結合演算を行い、新しいキーの値域
を求める(231−1)。但し、演算子 xor は排
他的論理和を意味するものとする。例えば、ソースプロ
セッサ#0はソースプロセッサ#1と値域を交換して結
合することにより、結果としてソースプロセッサ#0と
#1が保持するレコードのキーの値域を得る。同様に次
のステップ231−2においても全てのソースプロセッ
サが (自プロセッサ番号) xor (2∧1) 番目のソースプロセッサと通信して前ステップ231−
1で求めたキーの値域を相互に交換して結合する。例え
ばソースプロセッサ#0はソースプロセッサ#2と値域
を交換することによりソースプロセッサ#0からソース
プロセッサ#3が保持するレコードのキーの値域を得
る。以降i番目のステップ231−iでは (自プロセッサ番号) xor (2∧(i−1)) 番目のプロセッサとキーの値域の交換を行うことにより
n回の通信処理で全てのソースプロセッサが全レコード
のキーの値域を得る。
【0041】ソースプロセッサ台数が8台の場合におけ
るキーの値域の計算の一例を表1に示す。
【0042】
【表1】
【0043】以上の例では、ソースプロセッサの台数は
2のn乗であると仮定したが、ソースプロセッサの台数
Nが 2∧(n−1)<N<2∧n なる場合には 2∧n
−N 個の仮想ソースプロセッサを生成し、それらの処
理を実ソースプロセッサ203に割り当てることにより
論理的に(2∧n)個のソースプロセッサを生成する。
例えばソースプロセッサi(i<(2^n)−N)は仮
想ソースプロセッサ(i+N)の動作も併せて行う。そ
の際、仮想ソースプロセッサの保持するデータは0個と
し、キーの値域の初期値は空であるとする。
【0044】(キーの値域の区間分割−ステップ10
5)次に、各区間に属するレコード数が均等になるよう
に全レコードのキーの値域を複数のキー区間に分割する
ステップ105について図11に従って説明する。
【0045】キーの値域の分割は、各ソースプロセッサ
203で行なわれ、キーの値域を複数の区間に等分割す
る処理(キー分割の第1ステップ)と、各キー区間を併
合して各シンクプロセッサ204に割り当てるととも
に、各シンクプロセッサ204に割り当てられるレコー
ド数を均等化する処理(キー分割の第2ステップ)とか
らなる。
【0046】キー分割の第1ステップでは、まず、キー
の値域の分割数cとして適切な値を設定する。ここで、
分割数cはソート結果を格納するシンクプロセッサの台
数M以上とする。本実施例では、分割数cはMの2倍に
設定するものとする(241)。次に、ステップ241
で設定した分割数cによりキーの値域を等分割して、c
個のキー区間を得る。各キー区間の境界となる等分割点
をa0,a1,…,acとする(244)。次に、各ソー
スプロセッサ203が保持する部分テーブルのキー値を
走査し、ステップ244で分割したキーの値域の各キー
区間に属するレコード数をカウントし、局所的なキー値
分布情報を生成する(245)。次に、全レコードのキ
ーの値域を求める方法と同様の方法により、各ソースプ
ロセッサ203で求めた局所的なキー値分布情報をソー
スプロセッサ203間で交換しながら集計し、最終的に
全レコードのキー値の分布情報を各ソースプロセッサ2
03が得る(246)。
【0047】キー分割の第2ステップでは、複数のキー
区間を併合して、シンクプロセッサ台数に等しい併合区
間を生成する(247)。ここでは先に求めた全レコー
ドのキー値分布情報を参照することにより、各併合区間
のレコード数がなるべく等しくなるように併合を行い、
それぞれの併合区間についての処理を行なうシンクプロ
セッサ204を決定する。以下、分割数cを16に設定
してキーの値域の分割を行い、その結果を8つの区間に
併合して8台のシンクプロセッサに割り当てる場合の処
理について具体的に説明する。
【0048】いま、キー分割の第1ステップの結果とし
て、全レコードのキー値が、図12に示すように分布し
ていることが判ったものとする。グラフの縦軸は各キー
区間に属するレコードの数、横軸はキー値であり、本図
ではキーの値域を16のキー区間に等分割している。一
般にキーの値域を等分割すると各区間に属するレコード
数には、図12に示すようにかなりのばらつきが生じ
る。そこで各キー区間を併合して、各併合区間のレコー
ド数が等しくなるようにシンクプロセッサを割り当て
る。図13は区間を併合してシンクプロセッサに割り当
てる方法を説明するための図である。グラフの縦軸はキ
ー分割の第1ステップにより求められた各キー区間まで
に属するレコード数の累積値、横軸は分割されたキー区
間である。各キー区間までに属するレコードの累積度数
をs0,s1,…,s16(s0=0),キー分割の第1ス
テップで求められた等分割点の値をa0,a1,…,a16
(a0=MIN,a16=MAX)とする。なお、キー値が
i以上ai+1未満のキー区間をキー区間aiと呼ぶ。キ
ー分割の第2ステップでは、16に分割されたキー区間
を併合してシンクプロセッサ204に割り当てる8の併
合区間にする。各併合区間の境界bi(b0=MIN,b8
=MAX)は sk+1≧(全レコード数)/(プロセッサ数)*i かつ sk <(全レコード数)/(プロセッサ数)*i を満たすkの等分割点ak に等しくなるように決定す
る。このようにして決定した各併合区間の分割点b1
2,b3,b4,b5,b6,b7は、本実施例では、それ
ぞれ等分割点a1,a3,a5,a6,a10,a12,a14
なる。そして bi≦KEY<bi+1 を満たすキー値KEYを持つレコードをシンクプロセッ
サ#Pi に割り当てる。
【0049】次に、各シンクプロセッサ204に割り当
てられたレコード数のばらつきが一定の許容範囲Dh内
であるかどうかの判定をする(248)。Dhとしては例
えば平均レコード数の±40%以内といった値を用い
る。各併合区間のレコード数のばらつきが許容範囲Dh
内であった場合にはキー区間の併合処理を終了する。一
方、各併合区間のレコード数のばらつきが許容範囲Dh
内に入らなかった場合には、分割数cをt1 倍に上げて
(249)再度キー値の分割をする。分割数cをどの程
度上げるかは各併合区間のレコード数の最大偏差によっ
て求める。例えば、各併合区間の平均レコード数xから
の最大偏差をyとしたとき、分割数cの増加率t1 を t1=2∧INT(2*(y/x+1)) (INT( )は小数点以下を切り捨てる関数) に設定して新たな分割数cを求め、この新たな分割数c
を用いて再度キーの値域の分割を行なう。
【0050】本実施例において分割数cを16として各
シンクプロセッサ204に割り当てられた各併合区間に
属するレコード数の相対値を比較した結果を図14に示
す。本図では各併合区間のレコード数の平均を1として
いる。図14より、レコード数の最大偏差が30%であ
り、レコード数の最大値と最小値の比率が2倍以内に収
まっていることが判る。
【0051】以上の手順で各併合区間をシンクプロセッ
サ204に割り当てた後、各シンクプロセッサ204が
処理するレコード数をさらに均等化するために、併合区
間の分割点biをそれぞれ該当するキー区間内で修正す
る(252)。全レコード数をNr、シンクプロセッサ
204の台数をM、各キー区間の幅をw、併合区間の分
割点biが属するキー区間ajにおけるレコード数を
j、等分割点aj-1までのキー値の累積数をsj-1とす
ると、 bi=aj+w×(Nr/M×i−sj-1)/rj として修正後の併合区間の分割点biを求める。このよ
うにして、求められた修正後の分割点b1,b2,・・
・,b7のキー値は、それぞれ138,334,51
8,675,1041,1246,1436となる。
【0052】以上の結果として得られるキー区間、各キ
ー区間毎のレコード数、各キー区間を担当するシンクプ
ロセッサ番号、および分割点の情報を図15に示すキー
値分割表211−aとして生成する。分割点の修正を行
なわない場合には、キー区間とシンクプロセッサ番号を
エントリとして有するキー値分割表を生成するようにす
ればよい。キー値分割表をこのように構成することによ
り、あるキー値の属するキー区間に割り当てられたシン
クプロセッサ204の検索を高速に行なうことができ
る。
【0053】図16には、キー値分割表の他の一例を示
す。図16に示すキー値分割表211−bは、併合区間
とその併合区間のレコードの処理を担当するシンクプロ
セッサ番号をエントリとして有する。各併合区間は等分
割されていないため、このようなキー値分割表を用いた
場合には、あるキー値がどの併合区間に属しているかを
求めるには、2分探索法を用いる必要がある。しかし、
キー値分割表のエントリ数が図15に示すキー値分割表
よりも少なくてすむという特徴を持っている。
【0054】なお、同一のテーブルに対する2回目以降
のソート処理におけるキー値の分割は、前回用いた分割
数cを初期値として用いることにより、キー値分割処理
を高速に行なうことができる。また、テーブルのキーフ
ィールドに変更がない場合には、前回求めたキー値分割
表を用いることにより、ソート処理におけるキー値分割
の処理を省略することも可能である。この場合には、ソ
ートの結果生成されるキー値分割表をテーブルの属性と
してソート結果とは別に格納しておけばよい。
【0055】(分割区間ごとのキー値の転送及び受信−
ステップ106、107)ステップ106では、以上述
べてきたような手順により作成されたキー値分割表21
1を参照し、各ソースプロセッサ203が保持する部分
テーブルの各レコードのキー値とレコード本体の格納場
所を示すレコードポインタをそのキー値の処理を担当す
るシンクプロセッサ204に転送する。ここでは、キー
値からキー値分割表211の対応するエントリを検索
し、キー値及びレコードポインタの転送先となるシンク
プロセッサ204の番号を得る。任意のキー値からキー
値分割表の該当エントリを引く手順を、図17に従って
説明する。ここで、キー値の最大値と最小値の差は、最
大kビットであり、キー値がlビットであると仮定す
る。例えば、キー値が2バイトの整数で、1000から
8999であるとすると、kは13ビット、lは16ビ
ットとなる。
【0056】まず、キー値290とキー値の最小値29
1との差293を求める。この差293を相対キー値と
呼ぶ。相対キー値のビット数はkビットである。次に相
対キー値のkビットの中から上位pビットを分割ビット
294としてシフト演算(296)により求める。pは
キー値の値域の分割数cに対して、 p=[log2 c] ([x]はxを超えない最大の整
数) で求められる。このようにして得られた分割ビット29
4の値をキー値分割表211のインデクスとして用いる
ことにより、そのレコードが属する区間に対応するエン
トリをアクセスする。このようにしてキー値に対応する
エントリをアクセスすることにより、任意のキー値に対
応する区間のエントリへのアクセスが1回の減算と1回
のシフト演算と1回のインデックスを用いた表参照によ
り実現できる。さらに本手順を図17に従ってハードウ
ェア化することにより、処理効率を上げることが実現で
きる。また、キーの値域の実分割数PNは PN=INT((最大値−最小値)/2∧(k−p))+1 となる。一般に分割ビットをpとすると、キー値の区間
の実分割数PNは、キーの最大値および最小値に応じて
変化し、その範囲は 2∧(p−1)<PN≦2∧p となる。従ってキー値分割表は2∧p のエントリから
なるテーブル298のうち、上位PNエントリのみを実
テーブル299として使用する。
【0057】次に、先の例を用いてキー値表の参照手順
を示す。先の例で分割数cを256とすると、分割ビッ
トpは8ビットとなり、各区間の幅は32となる。従っ
て、1000から8999までのキーの値域が250個
の区間に等分割できる。キー値の分割数cと実際の分割
区間数には若干の違いが生じることがあるが、このこと
は本方法に基づくキー値分割法に全く影響を与えない。
上記の例でキー値5000に対するキー値分割表のエン
トリを参照するには、まず、キー値5000とキーの最
小値1000の差を取る。その値4000は2進数13
桁で(0111111000000)であるのでその上位8ビットを取
ると10進数で126である。そこで、キー値分割表の
126番目のエントリを参照し、当該区間を担当するシ
ンクプロセッサ番号を得て、キー値5000とそのキー
値に対応するレコードポインタの組をそのシンクプロセ
ッサに転送する。
【0058】このような方法は、キー値の分割区間の幅
を2のn乗とした場合に適用することができる。キー値
の分割区間の幅が、2のn乗でない場合には、キー値と
キー値の最小値の差をキー値の分割区間の幅で割った商
をインデックスとしてキー値分割表のエントリを参照す
る。また、キー値分割表が、図16のように併合区間と
シンクプロセッサ番号の組で記述されている場合には、
先に述べたとおり2分探索法を用いてキー値に該当する
併合区間を検索する。
【0059】(キー値分割表を用いたデータのアクセ
ス)次に、本実施例によりソートした結果を中央プロセ
ッサ201でアクセスする手順について述べる。
【0060】図9は、先に説明したように、ソート処理
終了後の各プロセッサに保持されている情報の様子を示
す図である。ソースプロセッサ203に接続する2次記
憶装置205には、部分テーブル213が、シンクプロ
セッサ204に接続する2次記憶装置206には、ソー
ト結果であるキー値表212が、また、中央プロセッサ
201には、ソート処理により生成されたキー値分割表
211がそれぞれ保持されている。
【0061】基本的には、ソート結果のレコードに対す
るアクセスはキー値分割表211とソート済みのキー値
表212の2種類のテーブルを参照することにより実行
される。
【0062】中央プロセッサ201でのソート結果の利
用形態としては、(1)キー値の順番を指定してアクセ
スする場合、(2)キー値を指定してアクセスする場
合、(3)それぞれいずれかのソースプロセッサに保持
されている2つのソートされたデータを突き合わせて結
合演算を行う場合、などがある。以下では(1)〜
(3)の各々の場合について、データのアクセス手順を
述べる。
【0063】(1) キー値の先頭からa番目のレコード
をアクセスする場合 中央プロセッサ201が保持するキー値分割表211の
各区間ごとのレコード数を累計して、累積度数s1
2,…,snを求める。次に、先頭から各キー区間まで
の累積度数s1,s2,…,snとaとを比較して、 si≦a<si+1 なるiをもとめ、そのキー区間のレコードを保持するシ
ンクプロセッサ#Pi を得る。そして、シンクプロセッ
サ#Piが保持するソート済みキー値表212の(a−s
i) 番目のエントリを参照し、レコード本体へのポイン
タを得る。そのレコードポインタを用いてレコード本体
を保持するソースプロセッサ203の部分テーブル21
3の該当レコードをアクセスする。
【0064】(2) キー値がkであるレコードを検索す
る場合 ソート処理のステップ106の転送処理と同様に、キー
値からキー値分割表の対応するエントリを検索し、その
キー値が属する区間が割り当てられたシンクプロセッサ
204の番号を求める。シンクプロセッサ204の番号
が得られたら、当該シンクプロセッサのキー値表212
を検索し、そのキー値に一致するエントリからそのキー
値に対応するレコードの格納先を示すレコードポインタ
得る。そして、このレコードポインタを用いてレコード
本体を保持するソースプロセッサ203の部分テーブル
213の該当レコードをアクセスする。
【0065】(3) 2つのテーブルを突き合わせて結合
演算を行なう場合 突合せを行おうとするテーブルのそれぞれについて、ま
ず、ソート処理を行う。ソート処理の結果として、各テ
ーブルの本体である部分テーブルは複数のソースプロセ
ッサ203に保持され、対応するキー値表は複数のシン
クプロセッサ204に保持されている、2組のソートさ
れたテーブルA及びBのキー値に関する突合せを行う場
合は、まず、テーブルAのキー値表の各エントリを、テ
ーブルBのキー値分割表で指定されるシンクプロセッサ
204に転送する。
【0066】次に、各々のシンクプロセッサ204で2
つのテーブルのキー値表の突合せを行う突合せ処理は各
々のテーブルのキー値のみを参照して実行される。突合
せの結果は、突合せに成功したキー値と各々のレコード
に対するポインタの組からなる結合表として各シンクプ
ロセッサ204に格納し、中央プロセッサ201には終
了通知のみを知らせる。この結合表の各エントリをアク
セスするために用いるキー値分割表はテーブルBのもの
と同じとなる。
【0067】(他の実施例)以上述べた実施例は、キー
値の範囲を分割した後、各レコードのキー値とレコード
ポインタのみをシンクプロセッサに転送するようにして
いるが、その時にレコード全体をシンクプロセッサに転
送してもよい。このようにすると、シンクプロセッサ2
04にソートすべきレコード本体を移動しなければなら
ないというデメリットはあるが、各ソースプロセッサ2
03が各レコードを適当なシンクプロセッサに分配する
ので、レコードの分配のオーバヘッドは、一台のプロセ
ッサ、たとえば、中央プロセッサ201がこれを行う場
合に比べて小さくすることができる。また、キー値の分
割処理を各ソースプロセッサ203がそれぞれ独立して
実行するので、中央プロセッサ201にて集中してこの
判断を行う場合に比べて負荷が小さい。
【0068】さらに、上述の実施例ではソートを実行す
る際にソースプロセッサ203からシンクプロセッサ2
04へキー値を送信しているが、この方法にはソート結
果の格納形態に応じてさらに以下の2つの方法が考えら
れる。
【0069】第1の方法では、各シンクプロセッサ20
4でソートされたキー値表212に基づき、そのキー値
表212に属する各キー値が対応するレコード本体をそ
れを保持するソースプロセッサ203からそのシンクプ
ロセッサ204へ転送して、その結果をそのシンクプロ
セッサ204に接続される2次記憶装置206に格納す
る。このようにすることで、キー値の各部分区間に属す
るそれぞれのレコード本体が同一の2次記憶装置に格納
されるため、ソート結果のレコードデータをキー値の順
に連続アクセスするような場合に効率が良い。従って、
ソート結果のあるキー区間に対して統計演算を施すよう
な場合には有効である。
【0070】第2の方法では、各シンクプロセッサ20
4でソートされたキー値表212を中央プロセッサ20
1に送信し、中央プロセッサでレコード全体の一群のキ
ー値表212を管理する。本方法では、中央プロセッサ
201からソート結果のデータに対して連続したアクセ
スを行う場合に、シンクプロセッサ204を経由せずに
いずれかのソースプロセッサ203に対する2次記憶装
置205に対して、直接該データのためにアクセスする
ことが可能である。従って、ソート結果を中央プロセッ
サ201を経由して、端末200や外部記憶装置(図示
せず)に送信する場合に効果を発揮する。
【0071】
【発明の効果】以上述べたように、本発明を用いると、
ソート処理の中間段階で生成されるキー値分割表のみを
中央プロセッサにリターンして、ソート結果そのものは
キー値の区間ごとに複数の2次記憶装置に分散格納する
ことにより、分散データベースシステムにおけるソート
処理の効率を向上させることができる。
【0072】また、分散ソートにおけるキーの値域の分
割が各プロセッサで並列に実行できるので中央プロセッ
サにかかる負荷を軽減することができる。
【0073】さらに、キー値の分割表を参照することに
より与えられたキーの属する区間を効率良く求めること
ができる。
【図面の簡単な説明】
【図1】本発明の一実施例による並列ソート処理の流れ
を示す図。
【図2】本発明が適用される分散データベースマシンの
概略図。
【図3】データテーブルの分割のようすを示す図。
【図4】本発明の一実施例による並列ソート処理のフェ
ーズ1におけるデータの流れを示す図。
【図5】本発明の一実施例による並列ソート処理のフェ
ーズ2におけるデータの流れを示す図。
【図6】本発明の一実施例による並列ソート処理のフェ
ーズ3におけるデータの流れを示す図。
【図7】本発明の一実施例による並列ソート処理のフェ
ーズ4におけるデータの流れを示す図。
【図8】キー値分布情報およびキー値分割表の一例を示
す図。
【図9】並列ソート処理終了後に、各プロセッサに保持
される情報の様子を示す図。
【図10】全レコードの値域計算の詳細な流れを示す
図。
【図11】キーの値域の分割処理の手順を示す流れ図。
【図12】全レコードのキー値の分布の一例を示す図。
【図13】キー区間の併合の様子を説明するための図。
【図14】キー区間の併合後の各併合区間におけるレコ
ード数の偏差を示す図。
【図15】キーの値域の分割処理により生成されるキー
値分割表を示す図。
【図16】キーの値域の分割処理により生成されるキー
値分割表の変形例を示す図。
【図17】キー値分割表のアクセス処理を示す図。
【符号の説明】
200…端末、201…中央プロセッサ、202…通信
ネットワーク、203…ソースプロセッサ、204…シ
ンクプロセッサ、 205,206…2次記憶装置。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 濱中 直樹 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 鈴木 未来子 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所中央研究所内 (56)参考文献 特開 平2−228730(JP,A) 特開 昭62−118435(JP,A) 特開 平2−178854(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 17/30 G06F 12/00 JICSTファイル(JOIS)

Claims (5)

    (57)【特許請求の範囲】
  1. 【請求項1】複数の部分に分割されたデータベースの一
    部分のレコードのそれぞれを保持する複数の第1のプロ
    セッサと該第1のプロセッサの各々をアクセスする中央
    プロセッサとを有する分散データベースにおけるアクセ
    ス方法であって、 中央プロセッサはデータベース中のレコードのキー値の
    区間と該区間が割り当てられた第2のプロセッサとの対
    応関係を示すキー値分割表を有し、 該第2のプロセッサは割り当てられた区間のキー値と該
    キー値に該当する第1のプロセッサが保持するレコード
    の位置情報を登録するキー値表を有し、 (a)アクセスしようとする前記データベースのレコー
    ドのキー値により前記キー値分割表を検索して、該キー
    値の属するキー区間が登録されている前記キー値表をア
    クセスし、 (b)該アクセスされたキー値表に登録された前記キー
    値に対応するレコード記憶位置に基づいて前記レコード
    をアクセスする、 分散データベースのアクセス方法。
  2. 【請求項2】複数の部分に分割されたデータベースの一
    部分のレコードのそれぞれを保持する複数の第1のプロ
    セッサと該第1のプロセッサの各々をアクセスする中央
    プロセッサとを有する分散データベースにおけるアクセ
    ス方法であって、 (a) 前記第1のプロセッサの各々において、該デー
    タベースのレコードのキー値が分布する範囲を分割して
    得られる複数の区間の各々を複数の第2のプロセッサに
    割り当て、 (b) それぞれのキー値の区間が第2のプロセッサの
    いずれに割り当てられているかを示すキー値分割表を生
    成し、 (c) 前記第1のプロセッサのいずれかより前記キー
    値分割表を前記中央プロセッサに転送し、 (d) 前記第1のプロセッサの各々が保持する前記デ
    ータベースのそれぞれの部分の複数のレコードのキー値
    と該レコードの記憶位置情報を、それぞれのレコードが
    属するキー値の区間が割り当てられた前記第2のプロセ
    ッサに転送し、 (e) 前記第2のプロセッサの各々において、受信し
    た複数のキー値をソートし、ソートされたキー値ととも
    に受信したレコード記憶位置を登録したキー値表を生成
    し、 (f) アクセスしようとする前記データベースのレコ
    ードのキー値により前記キー値分割表を検索して、該キ
    ー値の属するキー区間が登録される前記キー値表をアク
    セスし、 (g) 該アクセスされたキー値表に登録された前記キ
    ー値に対応するレコード記憶位置に基づいて前記レコー
    ドをアクセスする、 分散データベースのアクセス方法。
  3. 【請求項3】前記ステップ(e)は、前記第2のプロセ
    ッサの各々により生成されたキー値表を、そのシンクプ
    ロセッサに対応する記憶装置に記憶する処理を有し、 前記ステップ(f)は,前記判別された第2のプロセッ
    サで実行され、 (f−1)前記中央プロセッサにより、前記キー値分割
    表に基づいて、前記選択されたキー区間が割り当てられ
    た第2のプロセッサを判別する処理、 (f−2)判別された第2のプロセッサに選択されたキ
    ー区間を通知する処理、 (f−3)該第2のプロセッサにより、前記通知された
    キー値区間に対するキー値表をアクセスする処理、 を有する請求項2記載の分散データベースのアクセス方
    法。
  4. 【請求項4】前記ステップ(e)は、前記第2のプロセ
    ッサにより生成されたキー値表を前記中央プロセッサに
    転送する処理を有し、 前記ステップ(f)は、前記中央プロセッサで実行さ
    れ、 前記キー値分割表に基づいて、該選択されたキー値区間
    が割り当てられたシンクプロセッサに対するキー値表を
    アクセスする処理を有する、 請求項2記載の分散データベースのアクセス方法。
  5. 【請求項5】前記(a)の処理は、さらに、以下の処理
    を有する請求項2記載の分散データベースのアクセス方
    法; (a―1)前記第1のプロセッサの各々において、それ
    ぞれが保持するレコードのキー値の分布情報を得る処
    理、 (a―2)第1のプロセッサのそれぞれが得たキー値分
    布情報を他の第1のプロセッサに転送する処理、 (a―3)第1のプロセッサの各々において、他の第1
    のプロセッサから転送されたキー値分布情報と該第1の
    プロセッサにおいて得られたキー値分布情報とから、前
    記データベースのレコードのキー値の分布情報を求める
    処理。
JP18345392A 1991-07-10 1992-07-10 分散データベースのソート方法およびアクセス方法 Expired - Fee Related JP3395208B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP18345392A JP3395208B2 (ja) 1991-07-10 1992-07-10 分散データベースのソート方法およびアクセス方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP3-169661 1991-07-10
JP16966191 1991-07-10
JP18345392A JP3395208B2 (ja) 1991-07-10 1992-07-10 分散データベースのソート方法およびアクセス方法

Publications (2)

Publication Number Publication Date
JPH05242049A JPH05242049A (ja) 1993-09-21
JP3395208B2 true JP3395208B2 (ja) 2003-04-07

Family

ID=26492914

Family Applications (1)

Application Number Title Priority Date Filing Date
JP18345392A Expired - Fee Related JP3395208B2 (ja) 1991-07-10 1992-07-10 分散データベースのソート方法およびアクセス方法

Country Status (1)

Country Link
JP (1) JP3395208B2 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3824091B2 (ja) * 1992-10-09 2006-09-20 富士通株式会社 リレーショナルデータベースシステム
JP3560662B2 (ja) * 1994-12-06 2004-09-02 富士通株式会社 並列プロセッサ装置
JP3560690B2 (ja) * 1995-06-14 2004-09-02 富士通株式会社 並列プロセッサ装置
JP3499105B2 (ja) * 1997-03-03 2004-02-23 株式会社東芝 情報検索方法および情報検索装置
JP3564999B2 (ja) * 1998-03-17 2004-09-15 松下電器産業株式会社 情報検索装置
JP2000112982A (ja) * 1998-10-07 2000-04-21 Ricoh Co Ltd 異種データベース統合システム
JP3599055B2 (ja) * 2003-07-14 2004-12-08 株式会社日立製作所 記憶装置管理方法およびシステム
KR101196566B1 (ko) * 2005-05-24 2012-11-01 가부시키가이샤 터보 데이터 라보라토리 멀티 프로세서 시스템 및 그 정보처리방법
CN101192227B (zh) * 2006-11-30 2011-05-25 阿里巴巴集团控股有限公司 一种基于分布式计算网络的日志文件分析方法和系统
JP2009276941A (ja) * 2008-05-13 2009-11-26 Internatl Business Mach Corp <Ibm> 決定装置、プログラムおよび決定方法
CN101639769B (zh) * 2008-07-30 2013-03-06 国际商业机器公司 在多处理器系统上对数据集进行划分及排序的方法和装置
JP4659888B2 (ja) * 2009-02-13 2011-03-30 株式会社日立製作所 データベース処理システム、計算機及びデータベース処理方法
WO2012137347A1 (ja) * 2011-04-08 2012-10-11 株式会社日立製作所 計算機システム及び並列分散処理方法
JP5723330B2 (ja) * 2012-08-03 2015-05-27 日本電信電話株式会社 分散処理システムおよび分散処理方法
JP6148763B2 (ja) * 2015-06-15 2017-06-14 株式会社日立製作所 データ・アクセスを最適化するためにネットワーク・ノードにわたるデータ・ストアの中にデータ・レコードをグループ化するための方法
JP2018206084A (ja) * 2017-06-05 2018-12-27 株式会社東芝 データベース管理システムおよびデータベース管理方法
JP6702582B2 (ja) * 2019-05-09 2020-06-03 株式会社東芝 データベース管理システムおよびデータベース管理方法

Also Published As

Publication number Publication date
JPH05242049A (ja) 1993-09-21

Similar Documents

Publication Publication Date Title
US5842207A (en) Method for storing records of a distributed database by plural processors to provide a host processor with sorted records belonging to one of a plurality of key sections
JP3395208B2 (ja) 分散データベースのソート方法およびアクセス方法
US6505187B1 (en) Computing multiple order-based functions in a parallel processing database system
US6430550B1 (en) Parallel distinct aggregates
Cornell et al. An effective approach to vertical partitioning for physical design of relational databases
US5845113A (en) Method for external sorting in shared-nothing parallel architectures
JP2000187668A (ja) グループ化方法と重複排除方法
JPH05334165A (ja) 並列データベース処理システムおよびその2次キー検索方法
JPH06214843A (ja) データベース管理システムおよび問合せの処理方法
JPH1097544A (ja) データベース処理システム
Frieder Multiprocessor algorithms for relational-database operators on hypercube systems
Berra et al. Computer architecture for a surrogate file to a very large data/knowledge base
Zhou et al. Data partitioning for parallel spatial join processing
He et al. GLAD: A Grid and Labeling Framework with Scheduling for Conflict-Aware $ k $ k NN Queries
JPH07160557A (ja) データベースアクセス処理方法
Fotouhi et al. Optimal secondary storage access sequence for performing relational join
JPH06314299A (ja) データベース管理方法
US5918231A (en) Object-oriented database management system with improved usage efficiency of main memory
Liebeherr et al. The effect of index partitioning schemes on the performance of distributed query processing
CN115718773A (zh) 一种分布式数据库查询切分方法及装置
JP2001022621A (ja) 多次元データベース管理システム
JP3617672B2 (ja) 並列プロセッサシステム
JPH10154160A (ja) 並列データ検索処理装置
Baru et al. Join and data redistribution algorithms for hypercubes
JP3367510B2 (ja) データベース管理方法およびシステム

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080207

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090207

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090207

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100207

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100207

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110207

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees