JPH1097544A - データベース処理システム - Google Patents

データベース処理システム

Info

Publication number
JPH1097544A
JPH1097544A JP8249589A JP24958996A JPH1097544A JP H1097544 A JPH1097544 A JP H1097544A JP 8249589 A JP8249589 A JP 8249589A JP 24958996 A JP24958996 A JP 24958996A JP H1097544 A JPH1097544 A JP H1097544A
Authority
JP
Japan
Prior art keywords
aggregation
result
server
totaling
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.)
Granted
Application number
JP8249589A
Other languages
English (en)
Other versions
JP3584630B2 (ja
Inventor
Kazutomo Ushijima
一智 牛嶋
Shinji Fujiwara
真二 藤原
Kazuo Masai
一夫 正井
Kosaku Yamahira
耕作 山平
Akira Maeda
章 前田
Hitoshi Ashida
仁史 芦田
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 JP24958996A priority Critical patent/JP3584630B2/ja
Publication of JPH1097544A publication Critical patent/JPH1097544A/ja
Application granted granted Critical
Publication of JP3584630B2 publication Critical patent/JP3584630B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 分類集計処理を効率良く処理する並列データ
ベース処理システムを提供する。 【解決手段】 ネットワークにより接続された問合せ処
理サーバと入出力サーバと集計処理サーバとを備える並
列データベース処理システムにおいて、入出力サーバで
読出したレコードをレコード分配手段により集計処理サ
ーバに分配し、受信したレコードを集計処理手段により
集計結果を作成し、集計結果が集計結果格納領域に収ま
らない場合、集計結果を主記憶上でソートした後、部分
集計結果として補助二次記憶装置に待避し、全レコード
に関する集計処理を終えた時点で、待避した部分集計結
果をマージし、マージ結果を中間集計結果として問合せ
処理ノードに転送し、受信した中間集計結果を集計結果
統合手段を用い統合する。 【効果】 分類処理と集計処理を並列実行し、ランダム
I/Oの発生を防止する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は1つ以上のノードを
連携させてデータベース処理を行なう並列データベース
処理システムに係わり、特にデータベースの分類集計処
理の高速化を図る並列データベース処理システムに関す
る。
【0002】
【従来の技術】データベースの論理構造は、図2に示す
ようにテーブル形式(20)である。この表の横方向を
レコード(21)、縦方向をカラム(22)という。各
レコードの同じカラムは、同じ形式のデータを格納す
る。
【0003】分類集計処理とは、テーブル内のレコード
をあらかじめ指定された1つ以上のカラムの値に基づ
き、いくつかのグループに分類し、それぞれのグループ
に属するレコードの集合ごとにあらかじめ指定された1
つ以上の集計対象カラムの値の合計値、平均値などの統
計値を計算する処理である。
【0004】図3に分類集計処理の例を示す。この例で
は、関係データベースは販売実績に関する情報をテーブ
ルの形で保持する。テーブル内のレコードは商品コー
ド、販売地、販売日、値段に関するカラム値をもつ(3
0)。この例では、テーブル内のレコードを商品コー
ド、販売地、販売日のカラム値に関して同じ値を持つレ
コードを一つのグループとし(31)、それぞれのグル
ープごとにレコードの値段の合計値を計算する(3
2)。集計処理の結果は再びテーブルの形で得られる
(33)。
【0005】従来の分類集計処理方式としては、第1の
方式として文献「Parallel SortingAlgorithms (Selim
G. Akl著、Academic Press, Inc.発行)」の3章の48
頁〜49頁に開示されているマージソート方式、第2の
方式として文献「RelationalDatabase Management (M.
Papazoglou, W. Valder著、PRENTICE HALL発行)」の9
章の262頁〜264頁に開示されている単純ハッシュ
方式をあげることができる。
【0006】まず第1の従来方式としてマージソート方
式のフローチャートを図4に示す。マージソート方式で
は、データベースのテーブルを構成するレコードを二次
記憶装置からブロック単位で読み込み(40)、主記憶
上でソートした後(41)、再びこれを二次記憶装置に
書き戻す(42)。この操作をすべてのレコードブロッ
クに対して繰り返した後(43)、ブロックごとにソー
トされたレコードリストの間で二次記憶装置を作業領域
としてマージソートを行なう(44)。以上の操作の
後、ソートされたレコードの列を二次記憶装置から順次
読み込みながら(45)レコードの分類集計処理を行な
う(46)。しかしマージソート方式では、レコードの
外部ソート処理に際して大量のI/Oが発生し、またソー
ト処理(分類処理に相当)と集計処理の間で並行実行を
行なうことができないため、この方式では効率の良い分
類集計処理を行なうことができない。
【0007】また第2の従来方式として単純ハッシュ方
式のフローチャートを図5に示す。単純ハッシュ方式で
は、二次記憶装置に格納されたレコードを読みだす際に
(50)、ハッシュ関数を用いたレコードのグループ化
を行ない(51)、同時に集計結果格納領域上の集計結
果を更新してゆくことによって(52)分類処理と集計
処理を並行実行し、グループ化のための一時ファイルを
作成せずに分類集計処理を行なう。しかし単純ハッシュ
方式では、集計結果格納領域に対してランダムにアクセ
スするため、集計結果が主記憶上の予約領域に収まりき
らない場合に(53)二次記憶装置に対してランダムI/
Oが発生し(54)、分類集計処理の実行効率を低下さ
せてしまう。
【0008】
【発明が解決しようとする課題】従来の関係データベー
スシステムでは、分類集計処理においてデータベースの
レコードをグループ化する際に、二次記憶装置を介した
マージソートを行なっていた。この方法では、マージソ
ート処理のために大量のI/Oアクセスが必要とされ、ま
た分類処理と集計処理を並行実行することができないた
め、分類集計処理の効率を大きく低下させていた。
【0009】あるいはまた、従来の関係データベースシ
ステムでは、グループ集計におけるレコードの分類処理
の際に、ハッシュ関数を用いたグルーピングを行なって
いた。この方法では、集計処理の際に集計結果格納領域
に対してランダムアクセスが発生し、集計結果が主記憶
上の予約領域に収まらない場合には大量のランダムI/O
が二次記憶装置に対して発行され、分類集計処理の効率
低下の要因となっていた。
【0010】本発明の目的は、データベースの分類集計
処理において分類処理と集計処理を並行実行可能とする
ことである。
【0011】本発明の他の目的は、集計結果が主記憶上
の予約領域に収まらない場合でも二次記憶装置に対する
ランダムI/Oを発生させないことである。
【0012】
【課題を解決するための手段】本発明による並列データ
ベース処理システムの分類集計処理方式は、1つ以上の
入出力サーバ2と、1つ以上の集計処理サーバ4と、1
つ以上の問い合わせ処理サーバ5とを接続するネットワ
ーク3とを備え、多数のレコードからなる一つのテーブ
ルが分割された部分テーブル7を上記複数の入出力サー
バに分割して保持する並列データベース処理システムに
おいて分類集計処理を行なう方法であって、ハッシュ機
構を用いて集計結果の格納場所の決定と集計処理をレコ
ード単位で実行することによりレコードの分類処理と集
計処理を並行実行可能とし、集計結果が主記憶上の予約
領域に収まらない場合には、部分集計結果を補助二次記
憶装置17に待避し、集計処理終了後に待避した部分集
計結果を統合し、補助二次記憶装置に対するランダムI/
Oを防止することにより効率的に分類集計処理を実行す
る方式である。
【0013】具体的には、データベースに対する問い合
わせ処理要求を処理する問い合わせ処理サーバと、デー
タベースのレコードの読み出しを行なう入出力サーバ
と、レコードの集計処理を行なう集計処理サーバとを備
え、前記レコードの一つ以上のカラムをグループ化カラ
ムとして指定し、当該グループ化カラム値に対してグル
ープ識別子を対応させ、当該グループ識別子の値が同じ
である複数のレコードを1つのグループに分類し、当該
レコードの一つ以上のカラムを集計対象カラムとして指
定し、各々のグループに分類されたレコード毎に集計処
理を行なう第1のデータベース処理システムであって、
前記入出力サーバは、各レコードのグループ化カラムの
値に応じて当該レコードの集計処理を行なう集計処理サ
ーバに転送する手段を有し、前記集計処理サーバは、集
計結果格納領域を集計処理サーバが備える主記憶上に確
保する手段と、入出力サーバから受信したレコードのグ
ループ化カラムの値からグループ識別子を生成する手段
と、グループ識別子の値から当該グループ識別子に対応
する集計結果の格納場所を一意に決定する分類手段と、
当該格納場所に納められている集計結果を当該レコード
の集計対象カラムの値に基づき更新する集計手段と、当
該中間集計結果を前記問い合わせ処理サーバに転送する
手段とを有し、前記問い合わせ処理サーバは、前記集計
処理サーバから受信した中間集計結果を統合する手段を
有することにより実現する。
【0014】また、上記第1のデータベース処理システ
ムにおいて、集計処理サーバの主記憶上に確保された集
計結果格納領域に集計結果が収まらなくなった場合に、
集計途中の集計結果を当該集計結果に対応するグループ
化識別子の値に関して主記憶上でソートした後、集計処
理サーバの備える補助二次記憶装置に中間集計結果とし
て待避し、集計処理を終えた時点で、主記憶上の集計結
果と補助二次記憶装置に待避した前記0個以上のソート
済みの中間集計結果との間でマージ処理を行なうことに
よって、それぞれの集計処理サーバに分配されたレコー
ドに関する集計処理を行うことにより実現する。
【0015】また、上記第1のデータベース処理システ
ムにおいて、集計処理サーバの主記憶上に確保された集
計結果格納領域に集計結果が収まらなくなった場合に、
集計途中の集計結果のうち、最も最近に参照された集計
結果の一部を残し、残りの集計結果を当該集計結果に対
応するグループ化識別子の値に関して主記憶上でソート
した後、集計処理サーバの備える補助二次記憶装置に中
間集計結果として待避し、集計処理を終えた時点で、主
記憶上の集計結果と補助二次記憶装置に待避した前記0
個以上のソート済みの中間集計結果との間でマージ処理
を行なうことによって、それぞれの集計処理サーバに分
配されたレコードに関する集計処理を行うことにより実
現する。
【0016】また、上記第1のデータベース処理システ
ムにおいて、集計処理サーバの主記憶上に確保された集
計結果格納領域に集計結果が収まらなくなった場合に、
あふれて集計することのできなかったレコードを集計処
理サーバの備える補助二次記憶装置に待避し、集計処理
を終えた時点で、主記憶上の集計結果と補助二次記憶装
置に待避した前記0個以上のレコードの集計結果との間
でマージ処理を行なうことによって、それぞれの集計処
理サーバに分配されたレコードに関する集計処理を行う
ことにより実現する。
【0017】また、上記第1のデータベース処理システ
ムにおいて、集計処理サーバの主記憶上に確保された集
計結果格納領域に集計結果が収まらなくなった場合に、
あふれて集計することのできなかったレコードを集計処
理サーバの備える補助二次記憶装置に待避し、かつ、主
記憶上で集計することのできたレコードの比率が一定の
値を下回った時点で、集計途中の集計結果を当該集計結
果に対応するグループ化識別子の値に関して主記憶上で
ソートした後、集計処理サーバの備える補助二次記憶装
置に中間集計結果として待避し、集計処理を終えた時点
で、主記憶上の集計結果と補助二次記憶装置に待避した
前記0個以上のレコードの集計結果と補助二次記憶装置
に待避した前記0個以上のソート済みの中間集計結果と
の間でマージ処理を行なうことによって、それぞれの集
計処理サーバに分配されたレコードに関する集計処理を
行うことにより実現する。
【0018】次に、データベースに対する問い合わせ処
理要求を処理する問い合わせ処理サーバと、データベー
スのレコードの読み出しと集計処理を行なう入出力・集
計サーバと、中間集計結果の集計処理を行なう中間集計
処理サーバと、前記問い合わせ処理サーバと前記入出力
・集計サーバと中間集計処理サーバとを備え、前記レコ
ードの一つ以上のカラムをグループ化カラムとして指定
し、当該グループ化カラム値に対してグループ識別子を
対応させ、当該グループ識別子の値が同じである複数の
レコードを1つのグループに分類し、当該レコードの一
つ以上のカラムを集計対象カラムとして指定し、各々の
グループに分類されたレコード毎に集計処理を行なう第
2のデータベース処理システムにおいて、前記入出力・
集計サーバは、集計結果格納領域を入出力・集計サーバ
が備える主記憶上に確保する手段と、各レコードのグル
ープ化カラムの値からグループ識別子を生成する手段
と、グループ識別子の値から当該グループ識別子に対応
する集計結果の格納場所を一意に決定する分類手段と、
当該格納領域に納められている集計結果を当該レコード
の集計対象カラムの値に基づき更新する集計手段と、当
該部分集計結果に対応するグループ化識別子の値に応じ
て当該部分集計結果の統合処理を行なう中間集計サーバ
に転送する手段とを有し、前記中間集計サーバは、入出
力・集計サーバから受信した部分集計結果を統合し、中
間結果を生成する手段と、当該中間集計結果を前記問い
合わせ処理サーバに転送する手段を有し、前記問い合わ
せ処理サーバは、前記中間集計処理サーバから受信した
中間集計結果を統合する手段を有することにより実現す
る。
【0019】また、上記第2のデータベース処理システ
ムにおいて、入出力・集計サーバの主記憶上に確保され
た集計結果格納領域に集計結果が収まらなくなった場合
に、主記憶上の集計途中の集計結果を前記入出力・集計
サーバの備える対応規則に従って中間集計サーバに部分
集計結果として転送し、中間集計サーバにおいて部分集
計結果の分類集計処理を行なうことによって、それぞれ
の入出力・集計サーバに格納されたレコードに関する集
計処理を行うことにより実現する。
【0020】また、上記第2のデータベース処理システ
ムにおいて、入出力・集計サーバの主記憶上に確保され
た集計結果格納領域に集計結果が収まらなくなった場合
に、集計途中の集計結果を当該集計結果に対応するグル
ープ化識別子の値に関して主記憶上でソートした後、入
出力集計サーバの備える補助二次記憶装置に中間集計結
果として待避し、集計処理を終えた時点で、主記憶上の
集計結果と補助二次記憶装置に待避した前記0個以上の
ソート済みの中間集計結果との間でマージ処理を行なう
ことによって、それぞれの入出力・集計サーバに分配さ
れたレコードに関する集計処理を行うことにより実現す
る。
【0021】また、上記第2のデータベース処理システ
ムにおいて、入出力・集計サーバの主記憶上に確保され
た集計結果格納領域に集計結果が収まらなくなった場合
に、集計途中の集計結果のうち、最も最近に参照された
集計結果の一部を残し、残りの集計結果を当該集計結果
に対応するグループ化識別子の値に関して主記憶上でソ
ートした後、入出力・集計サーバの備える補助二次記憶
装置に中間集計結果として待避し、集計処理を終えた時
点で、主記憶上の集計結果と補助二次記憶装置に待避し
た前記0個以上のソート済みの中間集計結果の間でマー
ジ処理を行なうことによって、それぞれの入出力・集計
サーバに分配されたレコードに関する集計処理を行うこ
とにより実現する。
【0022】また、上記第2のデータベース処理システ
ムにおいて、入出力・集計サーバの主記憶上に確保され
た集計結果格納領域に集計結果が収まらなくなった場合
に、あふれて集計することのできなかったレコードを入
出力・集計サーバの備える補助二次記憶装置に待避し、
集計処理を終えた時点で、主記憶上の集計結果と補助二
次記憶装置に待避した前記0個以上のレコードの集計結
果との間でマージ処理を行なうことによって、それぞれ
の入出力・集計サーバに分配されたレコードに関する集
計処理を行うことにより実現する。
【0023】また、上記第2のデータベース処理システ
ムにおいて、入出力・集計サーバの主記憶上に確保され
た集計結果格納領域に集計結果が収まらなくなった場合
に、あふれて集計することのできなかったレコードを入
出力・集計サーバの備える補助二次記憶装置に待避し、
かつ、主記憶上で集計することのできたレコードの比率
が一定の値を下回った時点で、集計途中の集計結果を当
該集計結果に対応するグループ化識別子の値に関して主
記憶上でソートした後、入出力・集計サーバの備える補
助二次記憶装置に中間集計結果として待避し、集計処理
を終えた時点で、主記憶上の集計結果と補助二次記憶装
置に待避した前記0個以上のレコードの集計結果と補助
二次記憶装置に待避した前記0個以上のソート済みの中
間集計結果との間でマージ処理を行なうことによって、
それぞれの入出力・集計サーバに分配されたレコードに
関する集計処理を行うことにより実現する。
【0024】また、中間集計サーバにおいて部分集計結
果の分類集計処理を行なう際に、中間集計サーバの主記
憶上に確保された集計結果格納領域に集計結果が収まら
なくなった場合に、集計途中の集計結果を当該集計結果
に対応するグループ化識別子の値に関して主記憶上でソ
ートした後、中間集計サーバの備える補助二次記憶装置
に中間集計処理として待避し、集計処理を終えた時点
で、主記憶上の集計結果と補助二次記憶装置に待避した
前記0個以上のソート済みの中間集計結果との間でマー
ジ処理を行なうことによって、それぞれの中間集計サー
バに分配された部分集計結果に関する集計処理を行うこ
とにより実現する。
【0025】また、中間集計サーバにおいて部分集計結
果の分類集計処理を行なう際に、中間集計サーバの主記
憶上に確保された集計結果格納領域に集計結果が収まら
なくなった場合に、集計途中の集計結果のうち、最も最
近に参照された集計結果の一部を残し、残りの集計結果
を当該集計結果に対応するグループ化識別子の値に関し
て主記憶上でソートした後、中間集計サーバの備える補
助二次記憶装置に中間集計結果として待避し、集計処理
を終えた時点で、主記憶上の集計結果と補助二次記憶装
置に待避した前記0個以上のソート済みの中間集計結果
との間でマージ処理を行なうことによって、それぞれの
中間集計サーバに分配された部分集計結果に関する集計
処理を行うことにより実現する。
【0026】また、中間集計サーバにおいて部分集計結
果の分類集計処理を行なう際に、中間集計サーバの主記
憶上に確保された集計結果格納領域に集計結果が収まら
なくなった場合に、あふれて集計することのできなかっ
たレコードを中間集計サーバの備える補助二次記憶装置
に待避し、集計処理を終えた時点で、主記憶上の集計結
果と補助二次記憶装置に待避した前記0個以上のレコー
ドの集計結果との間でマージ処理を行なうことによっ
て、それぞれの中間集計サーバに分配された部分集計結
果に関する集計処理を行うことにより実現する。
【0027】また、中間集計サーバにおいて部分集計結
果の分類集計処理を行なう際に、中間集計サーバの主記
憶上に確保された集計結果格納領域に集計結果が収まら
なくなった場合に、あふれて集計することのできなかっ
たレコードを中間集計サーバの備える補助二次記憶装置
に待避し、かつ、主記憶上で集計することのできたレコ
ードの比率が一定の値を下回った時点で、集計途中の集
計結果を当該集計結果に対応するグループ化識別子の値
に関して主記憶上でソートした後、中間集計サーバの備
える補助二次記憶装置に中間集計結果として待避し、集
計処理を終えた時点で、主記憶上の集計結果と補助二次
記憶装置に待避した前記0個以上のレコードの集計結果
と補助二次記憶装置に待避した前記0個以上のソート済
みの中間集計結果との間でマージ処理を行なうことによ
って、それぞれの中間集計サーバに分配された部分集計
結果に関する集計処理を行うことにより実現する。
【0028】更に、データベース処理システムに格納さ
れているテーブルを構成するレコードの一つ以上のカラ
ムをグループ化カラムとして指定し、当該指定されたグ
ループ化カラム値に対してグループ識別子を一対一ある
いは多対一に対応させ、当該グループ識別子の値が同じ
である複数のレコードを1つのグループに分類し、当該
分類された各々のグループに属するレコードの一つ以上
のカラムを集計対象カラムとして指定し、当該指定され
たカラムの値に関する集計処理を行なうデータベース処
理システムにおいて、分類集計処理のグループ化カラム
の指定に、グループ識別子の値の範囲を指定するための
書式を有することにより実現する。
【0029】更に又、データベース処理システムに格納
されているテーブルを構成するレコードの一つ以上のカ
ラムをグループ化カラムとして指定し、当該指定された
グループ化カラム値に対してグループ識別子を一対一あ
るいは多対一に対応させ、当該グループ識別子の値が同
じである複数のレコードを1つのグループに分類し、当
該分類された各々のグループに属するレコードの一つ以
上のカラムを集計対象カラムとして指定し、当該指定さ
れたカラムの値に関する集計処理を行なうデータベース
処理システムにおいて、分類集計処理のグループ化カラ
ムの指定に、グループ化の結果得られるグループ数の上
限を指定するための書式を有することにより実現する。
【0030】更に又、データベース処理システムに格納
されているテーブルを構成するレコードの一つ以上のカ
ラムをグループ化カラムとして指定し、当該指定された
グループ化カラム値に対してグループ識別子を一対一あ
るいは多対一に対応させ、当該グループ識別子の値が同
じである複数のレコードを1つのグループに分類し、当
該分類された各々のグループに属するレコードの一つ以
上のカラムを集計対象カラムとして指定し、当該指定さ
れたカラムの値に関する集計処理を行なうデータベース
処理システムにおいて、分類集計処理のグループ化カラ
ムの指定に、グループ化カラム値とグループ識別子との
対応を定義するためのユーザ定義関数を指定するための
書式を有することにより実現する。
【0031】更に、上記データベース処理システムにお
いて、分類集計処理のグループ化カラムの指定に、グル
ープ識別子の値の範囲を指定するための書式を有し、グ
ループ化カラムごとのグループ識別子の値の範囲の指定
の有無に対応して、集計結果格納位置をグループ化識別
子の値から計算によって直接決定する配列方式と、グル
ープ化識別子の比較によって決定するハッシュ方式とを
それぞれグループ化カラムごとに使い分けることにより
実現する。
【0032】更に、上記データベース処理システムにお
いて、分類集計処理のグループ化カラムの指定に、グル
ープ化の結果得られるグループ数の上限を指定するため
の書式を有し、グループ化カラムごとのグループ識別子
の値の範囲の指定を参照して、指定された範囲の上限あ
るいは下限を逸脱した値を持つグループ識別子のための
グループを用意し、当該グループに分類されるレコード
に関しても集計処理を行なうことにより実現する。
【0033】更に、上記データベース処理システムにお
いて分類集計処理のグループ化カラムの指定に、グルー
プ化カラム値とグループ識別子との対応を定義するため
のユーザ定義関数を指定するための書式を有し、グルー
プ化カラム値とグループ識別子との対応を定義するため
のユーザ定義関数を利用して、グループ識別子の値の範
囲を狭く限定して集計処理を行なうことにより実現す
る。
【0034】
【発明の実施の形態】
(実施例1)図1に、本発明における並列データベース
処理システムの一実施例の構成を示す。図1において、
1はテーブルを格納する二次記憶装置、2は二次記憶装
置から部分テーブル7を読み出す入出力サーバ、4はレ
コードの分類集計処理を行なう集計処理サーバ、5は各
集計サーバの集計結果を統合し、最終的な集計結果を作
成する問い合わせ処理サーバ、3はそれぞれのノードの
間でレコードや集計結果を交換するためのネットワー
ク、6はデータベースに対して分類集計処理要求を発行
し、また集計結果を問い合わせ処理サーバ5から取り出
すための端末装置である。ネットワーク3としては、L
AN、WAN、専用ハードウェア装置等、任意のプロセ
ッサ間結合ネットワークを利用することができる。
【0035】二次記憶装置1は、グループ集計の対象と
なるレコードを格納する。レコードは、ハッシュ分割法
あるいはキー値分割法等の分割手法に基づき、複数の二
次記憶装置に分割して格納されている。入出力サーバ2
は、二次記憶装置1から読み出したレコードを一時的に
格納するデータバッファ8、レコードの分配先の集計処
理サーバを決定するレコード分配手段9および複数の送
信バッファ10を保持する。データバッファ8は入出力
サーバが備える主記憶上に確保される。
【0036】二次記憶装置1の保持する部分テーブル7
は、ブロック単位でデータバッファ8に転送される。ま
た、レコード分配手段9では、データバッファ8内のレ
コードを順次取り出し、各レコードのグループ化の対象
となるカラムの値を参照して当該レコードの集計を行な
うべき集計処理サーバ4を決定する。入出力サーバ2
は、当該レコードの集計処理に必要となるグループ化カ
ラムと集計対象カラムのみを取り出した後、送信バッフ
ァ10からネットワーク3を通じて各集計処理サーバ4
に分配する。
【0037】集計処理サーバ4は、複数の受信バッファ
11と入出力サーバ2から転送されたレコードを集計す
る集計手段12と集計結果を格納する集計結果格納領域
13および集計途中の集計結果を待避するための補助二
次記憶装置17を保持する。集計結果格納領域は集計処
理サーバ4の備える主記憶上に確保される。集計処理サ
ーバでは、受信バッファ11に転送されたレコードに対
して集計手段12を用いて集計処理を行い、中間集計結
果を集計結果格納領域13に格納する。中間集計結果が
集計結果格納領域13に収まらない場合は、集計途中の
集計結果は部分集計結果として補助二次記憶装置17に
待避される。集計処理サーバ4は、分配されたすべての
レコードに関して集計処理を終えた時点で、中間集計結
果を問い合わせ処理サーバ5へ転送する。
【0038】問い合わせ処理サーバ5は、複数の受信バ
ッファ14、集計結果統合手段15および最終集計結果
格納領域16を保持する。問い合わせ処理サーバ5は、
端末装置6からの集計処理を受け付け、集計処理実行手
順を決定し、入出力サーバ2や集計処理サーバ4に対す
る実行指示を行う。また問い合わせ処理サーバ5はそれ
ぞれの集計処理サーバ4が作成した中間集計結果をネッ
トワーク3を通じて収集し、それらの間で統合処理を行
なうことにより最終収集結果を作成し、最終集計結果格
納領域16に格納する。最終集計結果格納領域16は問
い合わせ処理サーバ5が備える主記憶あるいは二次記憶
上に保持される。端末装置6は、問い合わせ処理サーバ
5に対して集計処理を依頼し、問い合わせ処理サーバ5
上に最終集計結果が作成され次第、順次最終集計結果を
取り出す。
【0039】図6は本実施例おける分類集計処理全体の
処理フローを示す。まずはじめに端末装置6は集計処理
実行要求を問い合わせ処理サーバ5に対して転送し(処
理要求発行700)、問い合わせ処理サーバからの応答
を待つ。一方集計処理実行要求を受け付けた問い合わせ
処理サーバ5は、要求された集計処理を行うための実行
計画を作成し(処理要求受付701)、当該計画に従っ
て入出力サーバや問い合わせ処理サーバ上の集計処理プ
ログラムの起動を行なう(プログラム起動702)。問
い合わせ処理サーバ5は、受信バッファ14、最終集計
結果格納領域16などの初期化を行なった後(領域初期
化703)、集計処理サーバ4からの応答を待つ。
【0040】問い合わせ処理サーバ5により集計処理プ
ログラムを起動された入出力サーバ2や集計処理サーバ
4は、問い合わせ処理サーバ5からの指示に従って、デ
ータバッファ8、送信バッファ10、受信バッファ1
1、集計結果格納領域13などの初期化を行う(70
4、705)。入出力サーバ2は、領域初期化を行なっ
た後、二次記憶装置1からデータバッファ8に読み込ん
だレコードごとに分配処理手段9に基づいてレコードの
転送先集計処理サーバを決定し、送信バッファ10を通
じてレコードの転送を行なう(706)。入出力サーバ
2は、すべてのレコードを分配し終えた時点で終了通知
を各集計処理サーバに対して送信し(707)、終了す
る(708)。
【0041】一方入出力サーバ2からレコードを分配さ
れた集計処理サーバ4では、レコードを受信し次第、レ
コードの集計処理を行ない、中間集計結果の作成を始め
る。中間集計結果があらかじめ割り当てられた集計結果
格納領域に収まらない場合には、中間集計結果を部分集
計結果として補助二次記憶装置17への待避処理を行な
う(709)。各集計処理サーバでは、すべての入出力
サーバからの終了通知を受信した時点で(710)、も
し中間集計結果の二次記憶装置への待避処理が行なわれ
ていた場合には(711)、部分集計結果の統合処理を
行なう(712)。
【0042】以上のような手順で作成された中間集計結
果は、各集計処理サーバ4から問い合わせ処理サーバ5
に対してブロック単位で転送される(713)。すべて
の中間集計結果を転送し終えた時点で、集計処理サーバ
は問い合わせ処理サーバに対して終了通知を送信し(7
14)、終了する(715)。
【0043】中間集計結果を受け取った問い合わせ処理
サーバ5では、中間集計結果を順次、最終集計結果格納
領域16に格納し、端末装置6から要求にしたがって、
最終集計結果を端末装置6に対して転送する(71
6)。問い合わせ処理サーバはすべての集計処理サーバ
からの終了通知を受け取った時点で(717)、端末装
置に対して終了通知を送信し(718)、終了する(7
19)。端末装置6は、必要に応じて問い合わせ処理サ
ーバ5に対して最終集計結果を要求し、最終主計結果を
受信する(720)。端末装置6は、問い合わせ処理サ
ーバ5からの終了通知を受信して(721)集計処理の
終了を確認した時点で自身の処理を終了する(72
2)。
【0044】本実施例において、集計処理サーバにおけ
る集計処理(709)と中間集計処理転送(713)と
の間を除いて、互いに隣接する処理の間ではレコード単
位で並行実行を行なうことが可能である。
【0045】以下では、各ノード上の集計処理プログラ
ムのフローチャートを更に詳しく説明する。
【0046】図7は入出力サーバ2における分類集計処
理のフローチャートを示す。入出力サーバ2は、問い合
わせ処理サーバ5からの指示にしたがって、まずデータ
バッファ8、送信バッファ10の初期化を行う(8
0)。次に二次記憶装置1に格納されているレコードを
ブロック単位でデータバッファ8に転送する(81)。
次に入出力サーバ2は、データバッファ8からレコード
を順次取り出し(82)、各レコードごとにレコード分
配手段9(後述する)にしたがって分配先の集計処理サ
ーバ4を決定する(83)。各レコードは、分配先ごと
にページ単位で蓄積され(84)、ページが埋まった時
点(85)で送信バッファ10から対応する集計処理サ
ーバ4に転送される(86)。入出力サーバ2は、すべ
てのレコードを転送し終えた時点で、各集計処理サーバ
に対して終了通知を送信し(87)、終了する(8
8)。
【0047】図8は集計処理サーバ4における分類集計
処理のフローチャートを示す。集計処理サーバ4は、問
い合わせ処理サーバ5からの指示にしたがって、まず集
計結果格納領域13、受信バッファ11の初期化を行う
(90)。集計処理サーバ4は、入出力サーバ2から受
信バッファ11に転送された(91)レコードページか
らレコードを一つずつ取り出し(92)、それぞれのレ
コードに対してグループ分類手段(後述する)を適用
し、分類先グループを指定するグループ識別子を決定す
る(93)。次いで取り出したレコードに対して集計処
理を行い(95)、得られた集計結果を集計結果格納領
域13に対して書き込む(96)。集計結果格納形式と
してハッシュ方式を利用した場合、集計結果があらかじ
め割り当てられた集計結果格納領域に収まらない場合が
ある(97)。この場合は、途中の集計結果を部分集計
結果として対応するグループ化識別子の値に関して主記
憶上でソートした後、補助二次記憶装置17に待避する
(98)。各集計処理サーバは、受信したレコード分だ
け集計処理を繰り返すことにより中間集計結果を得る
(99)。
【0048】集計処理サーバは、すべての入出力サーバ
から終了通知を受信した時点で(910)、もし集計途
中で部分集計結果が補助二次記憶装置17に待避されて
いた場合は(911)、この時点で待避した部分集計結
果の間でマージソート処理を行ない、中間集計結果を作
成する(912)。二次記憶装置に待避されている部分
集計結果は、ソートされているので、部分集計結果の間
のマージ処理は効率良く実行することができる。部分集
計結果が待避されていない場合は、何も処理を行なう必
要はない。各集計処理サーバはすべてのレコードの集計
処理を終えた後に、得られた中間集計結果を問い合わせ
処理サーバに対して転送し(913)、転送を終えた時
点で終了通知を問い合わせ処理サーバに対して送信し
(914)、終了する(915)。
【0049】図9は問い合わせ処理サーバ5における分
類集計処理のフローチャートを示す。
【0050】問い合わせ処理サーバ5は、まず端末装置
6から集計処理実行要求を受け付け(100)、処理の
内容にしたがって、入出力サーバ2や集計処理サーバ4
上の集計処理プログラムを起動する(101)。次いで
問い合わせ処理サーバ5は、受信バッファ14、最終集
計結果格納領域16の初期化を行い(102)、集計処
理サーバ4からの中間集計結果の受信を待つ。問い合わ
せ処理サーバ5は、各集計処理サーバ4から中間集計結
果を受信し次第(103)、中間集計結果を順につなぎ
合わせて最終集計結果とする(104)。問い合わせ処
理サーバ5は、端末装置6からの要求にしたがって、最
終集計結果を頭から順に転送する(105)。問い合わ
せ処理サーバ5はすべての最終集計結果を転送し終えた
時点で(106)、端末装置6に対して終了通知を送信
し(107)、終了する(108)。
【0051】図10は、端末装置6における処理のフロ
ーチャートを示す。端末装置6は、問い合わせ処理サー
バ5に対して集計処理実行要求を発行した後(11
0)、問い合わせ処理サーバ5からの最終集計結果の受
信を待つ(111)。端末装置6は問い合わせ処理サー
バ5に対して次々と最終集計結果の転送を要求する。端
末装置6は問い合わせ処理サーバ5から終了通知を受け
取った時点で(112)、処理を終了する(113)。
【0052】以下では、上記の説明に登場したレコード
分配手段、グループ分類手段、集計処理手段、集計結果
格納方式、統合処理手段に関して、それぞれ更に詳しく
解説する。
【0053】本実施例におけるレコード分配手段とは、
あらかじめ複数の二次記憶装置1に分割されて格納され
ているレコード群を、入出力サーバ2を経由して各集計
サーバ4に再分配する方法である。本レコード分配手段
では、集計処理において同じグループに分類されるレコ
ード同士が、必ず同一集計サーバ4に対して分散されて
いる必要がある。すなわち本実施例における分配では、
集計処理サーバNiに分配されるレコードの集合をSi、グ
ループGjに分類されるレコードの集合をTjとした時、す
べてのjについてあるiが存在して、Si⊇GjかつSk(k≠i)
∩Gj=空集合が成り立つ。同一グループに分類されるレ
コードは必ず同一集計処理サーバで集計されるため、問
い合わせ処理サーバ5は送られてきた中間集計結果を単
につなぎ合わせるだけで簡単に最終集計結果を取得する
ことができる。
【0054】レコード分配手段の具体例としては、ハッ
シュ分割、キー値分割、ラウンドロビン分割などの方法
が適用可能である。ただし、二次記憶に分割格納されて
いるレコードが、集計処理を行なうにあたってあらかじ
め上記の条件を満たすように分割されている場合は、デ
ータの分配を行なわずに、直接入出力サーバが集計処理
サーバとしての役割を果たし、集計処理を行なう場合も
あり得る。
【0055】本実施例におけるグループ分類手段とは、
端末装置6から発行された分類集計処理の指示するグル
ープ分けにしたがって各集計処理サーバ4に分配された
レコードにグループ識別子を割り当て、当該識別子に基
づきレコードを分類する方法である。レコードとグルー
プ識別子の対応法については、以下で詳しく述べる。
【0056】本実施例におけるグループ識別子とは、グ
ループ分類手段において各レコードが分類されるべきグ
ループを指定する識別子である。グループ識別子とは、
整数値、文字列などの互いに識別が可能な離散値であ
る。複数のカラムの値に基づいてグループ分類を行なう
多次元分類集計処理の場合は、それぞれのグループ化カ
ラムに対応するグループ識別子を組み合わせることによ
って最終的なグループ識別子を生成する。たとえば、カ
ラム{Ai}をもつレコードをグループ化カラム{Gi}
(⊆{Ai})に関してグループ化する場合、それぞれの
グループ化カラムGiに関してグループ識別子対応関数gi
を適用し、その結果得られるグループ識別子の組<g1(G
1),..,gn(Gn)>を当該レコードのグループ識別子として
用いる。
【0057】本実施例では、グループ化カラムとグルー
プ識別子の間の対応付けにユーザ定義のグループ化関数
を利用することができる。
【0058】グループ分類手段においては、グループ化
カラムの値に応じて適当なグループ識別子を対応させ、
各レコードをいずれかのグループに対応させる。グルー
プ識別子の値の決定法としては、以下の3方式のうち適
切なものを選択することができる。
【0059】第一の方法は、グループ化に使用されるカ
ラム(グループ化カラム)の値をそのまま利用する方
法、第二の方法は、グループ化カラム値に対して組み込
み関数を適用した値を利用する方法、第三の方法は、グ
ループ化カラム値に対してユーザ定義のグループ化関数
を適用した値を利用する方法である。
【0060】ユーザ定義のグループ化関数は、互いに識
別可能な離散的な値を出力する必要がある。ユーザ定義
のグループ関数を利用することにより、グループ化カラ
ム値の定義域をいくつかの区間に区切り、それぞれの区
間毎にグループ化を行なうことが可能となる。例えば、
年齢をグループ化カラム値として用い、年代別にレコー
ドをグループ化して、年代別の収入の平均値などを求め
る処理に有用である。また、区間が限定されない離散的
な値の分布を持つグループカラム値に対して、その取り
うる値が既知であればユーザ定義のグループ化関数を適
用することにより、グループ識別子の分布を区間の限定
された連続な分布に変換し、集計結果格納方式としてア
クセス効率の良い配列方式を利用することができる。例
えば、商品名をグループ化カラム値として用いる場合、
出現する商品名が既知であればそれぞれの商品名に番号
を対応させ、集計結果格納方式としてハッシュの代わり
に対応する番号の最大値分の配列で代用することができ
る。
【0061】本実施例では、グループ化カラム値の分布
に関してその範囲や種類があらかじめわかっている場合
に、各グループ化カラム値ごとにグループ識別子の分布
に関する指定(グループ化指定)を行なうことができ
る。指定の方法としては、以下の3種類がある。第一の
方法はグループ識別子範囲指定、第二の方法はグループ
識別子上限指定、第三の方法はグループ識別子種別上限
指定である。
【0062】グループ識別子範囲指定では、グループ分
類に用いるグループ識別子の取りうる値の上限値と下限
値の指定が可能である。グループ識別子に順序を定義で
きる場合に利用可能である。
【0063】範囲外のグループ化カラム値を持つレコー
ドがあった場合には、それぞれ下限値以下、上限値以上
であることを示す特別なグループ識別子を用意し、例外
値に関する集計処理を別に行なう。このことにより、集
計結果格納方式において当該グループ化カラムに関して
集計結果で必要になる領域の上限値を見積もり、当該グ
ループ化カラムに関しては集計結果の格納位置決定法に
配列方式を選択して効率的な格納位置決定を行なうこと
ができる。
【0064】グループ識別子上限指定とは、グループ分
類に用いるグループ識別子が整数であった場合に、グル
ープ識別子範囲指定において下限を0で固定し、上限を
指定可能とする。このことにより簡便なグループ識別子
範囲指定を行なうことができる。
【0065】グループ識別子種別上限指定では、グルー
プ分類に用いるグループ識別子の取りうる値の種類の上
限値を指定する。このことにより、当該グループ化カラ
ムに関して集計結果で必要になる領域の上限値を見積も
ることができる。
【0066】本実施例における集計処理手段とは、与え
られたレコードの集合から一つずつレコードを取り出し
ながら統計量を逐次的に計算する方法である。具体的な
集計処理としては合計値、平均値などがある。レコード
の情報以外にも集計済みのレコード数などの補助情報を
用いて集計を進めていくこともある。
【0067】本実施例における集計結果格納方式とは、
グループ集計結果の格納方式を決定するための方法であ
る。本実施例では、それぞれのグループ化カラム値ごと
に配列方式、ハッシュ方式、ハッシュ・配列併用方式の
3方式の何れかを後述の集計結果格納方式選択手段を用
いて使い分ける。
【0068】図11に配列方式の集計結果格納形式を示
す。集計結果が主記憶上の予約領域に収まることが保証
される場合は本方式を利用する。本格納形式は、集計結
果を要素とする一つの配列120から成る。
【0069】配列方式では、グループ識別子を配列の添
え字として利用し、集計結果を配列の要素として格納す
る。配列の格納領域は主記憶上に確保される。この方式
は格納場所の決定に比較操作を必要としないので、集計
結果を高速に格納することができる。また、グループ化
カラムの値が上限、下限の範囲を逸脱する場合は、それ
ぞれの上限以上、下限以下のグループ識別子に対応する
グループを設け、別個集計する。
【0070】図12にハッシュ方式の集計結果格納形式
を示す。集計結果が主記憶上の予約領域に収まらない可
能性がある場合、本方式を利用する。本格納形式は、一
つのハッシュテーブル130、複数のハッシュリスト1
31、複数のハッシュエントリ132、一つの集計結果
格納領域133から成る。本方式において、ハッシュテ
ーブル130はハッシュリスト131へのポインタを保
持する。ハッシュリスト131はハッシュエントリ13
2のリストである。ハッシュエントリ132は、集計結
果を格納するレコードへポインタおよび同じハッシュ値
を持つ別のハッシュエントリへのポインタを保持する。
集計結果格納領域133は主記憶上の予約領域から確保
されるが、予約領域が足りなくなった場合には、後述す
る方法により対処する。
【0071】ハッシュ方式では、グループ識別子をハッ
シュ関数に適用し、ハッシュテーブルから適切なハッシ
ュリストの選択し、ハッシュエントリから目的の格納場
所を決定する。この方式は、格納場所の決定に際してハ
ッシュリストをたどる必要があるが、必要な分の格納領
域だけを消費するので主記憶の格納効率は良い。
【0072】図13にハッシュ・配列併用方式の集計結
果格納方式を示す。多次元分類集計処理において、それ
ぞれのグループ化カラムごとに配列方式とハッシュ方式
の格納方式を使い分ける場合、本方式を利用する。以下
では、レコードの多次元グループ化に用いるグループ識
別子{gi}を、後述の集計結果格納形式選択方式に基づ
いて、ハッシュ方式のキーとなるハッシュグループ識別
子{hi}(⊆{gi})と、配列方式の添え字となる配列
グループ識別子{ci}(⊆{gi})に排他的({hi}∩
{ci}={gi},{hi}∩{ci}=空集合)に分割す
る。
【0073】本格納形式は、一つのハッシュテーブル1
40、複数のハッシュリスト141、複数のハッシュエ
ントリ142から成る。本方式において、ハッシュテー
ブル140はハッシュリスト141へのポインタから成
る。ハッシュリスト141はハッシュエントリ142の
リストである。ハッシュエントリ142は、同じハッシ
ュ値を持つ別のハッシュエントリへのポインタ、格納さ
れている集計結果に対応するハッシュグループ識別子、
同じハッシュグループ識別子を持つ集計結果を格納する
配列から成る。
【0074】ハッシュ・配列併用方式では、まずハッシ
ュグループ識別子を用いて、ハッシュエントリから集計
結果が格納されるべき配列を見つける。もし目的とする
配列がハッシュエントリに登録されていなかった場合
は、新たに配列を主記憶上の予約領域上に確保し、ハッ
シュエントリに追加する。予約領域上に配列を確保でき
なくなった場合の対処法は後述する。目的の配列を決定
した後、ついで配列グループ識別子を用いて配列方式の
格納場所決定法に準じて最終的に集計結果を格納すべき
場所を特定する。この方式では、それぞれのグループ化
識別子のグループ化に応じて、配列方式を利用するかハ
ッシュ方式を利用するかを使い分けることにより、格納
場所の決定が高速で、かつ格納効率の良い格納を可能と
する。
【0075】以下では、本実施例において中間集計結果
が主記憶上の予約領域に収まらなくなった場合の対処方
法について述べる。集計処理サーバ4において集計結果
が主記憶上の予約領域に収まりきれなくなるのは、集計
結果格納方式としてハッシュ方式あるいはハッシュ・配
列併用方式を利用していて、ハッシュエントリに予約領
域以上の配列格納領域を追加しようとした場合である。
以下では、集計結果が主記憶上の予約領域に収まらなく
なった時点で、集計処理サーバ上に蓄積されている集計
途中の集計結果を部分集計結果と呼ぶ。
【0076】図14および図16に本実施例における中
間集計結果が主記憶上の予約領域に収まらなくなった場
合の処理方法及びフローチャートを示す。
【0077】本実施例では、集計処理サーバ4において
集計結果が主記憶上の予約領域に収まらなくなった場合
(170)、部分集計結果を集計処理サーバの主記憶上
でソートしたのち(171)補助二次記憶装置17に待
避する(150、172)。部分集計結果を待避した後
は、主記憶上の集計結果格納領域は再利用することが可
能となる。
【0078】集計処理サーバ4は、すべてのレコードの
集計が終わった時点で(173)、補助二次記憶装置1
7内に待避された複数の部分集計結果の間でNウェイマ
ージ処理を行ない(151、174)、処理結果を問い
合わせ処理サーバ5に転送する。この方式では、補助二
次記憶装置に対するランダムI/Oが発生しないので、効
率の良い集計結果の作成が可能になっている。
【0079】また、集計結果が主記憶上の予約領域に収
まらなくなった場合、主記憶上の部分集計結果を全て補
助二次記憶17に待避するのではなく、LRU(Lea
stRecently Used)方式に基づき、最も
最近に参照された部分集計結果の一部を主記憶上に留
め、残りの部分集計結果を補助二次記憶に待避し、全て
のレコードの集計が終わった時点で、主記憶上の部分集
計結果と助二次記憶装置17内に待避された複数の部分
集計結果との間でNウェイマージ処理を行い、集計結果
を作成することも可能である。この方式では、主記憶上
で集計されるレコードの割合を高め、集計処理を効率的
に行なうことができる。
【0080】さらにまた、集計結果が主記憶上の予約領
域に収まらなくなった場合、主記憶上の部分集計結果を
補助二次記憶17に待避するのではなく、主記憶上で集
計することのできなかったレコードを補助二次記憶装置
に待避し、全てのレコードの集計が終わった時点で、主
記憶上の部分集計結果と補助二次記憶装置17内に待避
されたレコードとの間でNウェイマージ処理を行い、集
計結果を作成することも可能である。この方式では、主
記憶上で集計することのできなかったレコード数が少な
い場合に、集計処理を効率的に行なうことができる。
【0081】加えて、先述の方式において、集計処理中
に集計対象レコードの内、実際に主記憶上で集計された
レコードの比率を監視しておき、この比率が一定の値を
下回った時には、主記憶上の部分集計結果を全て補助二
次記憶装置に待避し、全てのレコードの集計が終わった
時点で、主記憶上の部分集計結果と補助二次記憶装置1
7内に待避された複数の部分集計結果と補助二次記憶装
置17内に待避されたレコードとの間でNウェイマージ
処理を行い、集計結果を作成することも可能である。こ
の方式では、集計対象のレコードの分布に偏りがある場
合に、集計処理を効率的に行なうことができる。
【0082】本実施例では、各グループ識別子ごとのグ
ループ化指定に基づいて集計結果格納領域の格納方式を
選択する。以下では、格納方式の選択方法について述べ
る。
【0083】多次元分類集計処理に利用されるすべての
グループ識別子に対して“グループ識別子範囲指定(グ
ループ識別子上限指定を含む)”が指定されている場合
は、それぞれの指定から集計格納領域の大きさの上限値
を算出し、各集計処理サーバの主記憶上の予約領域に収
まるかどうかを判断する。収まる場合は、集計格納領域
を主記憶上に配列の形で確保する。収まらない場合は、
一部または全部の識別子に関してハッシュ方式に切り替
えた後、残りの識別子には配列方式を採用する。
【0084】多次元分類集計処理に利用されるすべての
グループ識別子に対して“グループ識別子範囲指定(グ
ループ識別子上限指定を含む)あるいはグループ識別子
種別上限指定”が指定されている場合は、それぞれの指
定からグループ識別子の種類の上限値を見積もり、集計
格納領域のサイズの上限値を算出し、各集計処理サーバ
の主記憶上の予約領域に収まるかを判断する。収まる場
合は、あらかじめ必要とされる領域を主記憶上に確保し
ておき、必要な領域はここから取得する。収まらない場
合は、「グループ識別子種別上限指定」がされた識別子
に関してはハッシュ方式に切り替えた後、残りの識別子
に関しては配列方式とし、配列方式部分について集計格
納領域を主記憶上に確保する。
【0085】上記以外の場合は、すべてのグループ識別
子に対してハッシュ方式を選択する。
【0086】以上のように、グループ分類手段において
グループ化指定で指定されたそれぞれのグループ化識別
子の特性に応じて、集計結果格納方式を使い分けること
により、格納場所の決定が高速で、かつ格納効率の良い
格納方式の実現が可能になる。
【0087】本実施例における統合処理手段とは、集計
処理サーバ4から転送されたきた複数の中間集計結果を
統合して、問い合わせ処理サーバ5にて最終集計結果を
作成する方法である。本実施例の場合、各集計処理サー
バ上の中間集計結果は互いに独立なグループに関する集
計結果を保持しているので、それぞれの中間集計結果の
間で再計算を行なう必要はなく、単にそれぞれの中間集
計結果同士をつなぎあわせれば、最終集計結果を得るこ
とができる。
【0088】本実施例の特徴は以下のとおりである。
【0089】本実施例では、分類集計処理においてレコ
ードの値によって一意に集計結果格納領域の位置を決定
することのできる集計結果格納領域決定手段を用いるこ
とで、分類処理と集計処理とをレコード単位で並行実行
することを可能とし、集計処理結果が主記憶上の予約領
域に収まらない場合に、部分集計結果を主記憶上でソー
トした後、補助二次記憶装置に待避し、最後にNウェイ
マージにより統合することで補助二次記憶処理装置に対
するランダムI/Oの発行を抑え、グループ化識別子ごと
にグループ化識別子の値の範囲あるいは種別の上限値に
関する情報を指定することにより、格納場所の決定が高
速で、かつ格納効率の良い格納方式の実現を可能とす
る。
【0090】以下では、データベースに対する問い合わ
せ言語としてSQLを念頭に置き、本実施例におけるグ
ループ化指定の一例を示す。
【0091】まずグループ識別子範囲指定、グループ識
別子上限指定、グループ識別子種別上限指定の構文をそ
れぞれBNF記法にしたがって示す。
【0092】<グループ識別子範囲指定> ::= RANGE
<列名> [下限値,..,上限値] [{,<列名> [下限
値,..,上限値]} ...]; <グループ識別子上限指定> ::= MAX<列名> 上限値
[{,<列名> 上限値} ...]; <グループ識別子種別上限指定> ::= GROUP MAX <列
名> 上限値 [{,<列名> 上限値} ...]; ただし上記の指定法は一つの実現例である。グループ化
指定の指定のタイミングとしてはテーブルの形式定義
時、問い合わせ発行時、あるいはコメントの形の指定も
有り得る。
【0093】以下にSQL文を通じたグループ分類手段
の指定の一例を前出の例を用いて示す。
【0094】CREATE TABLE 販売実績 (商品コード INT,
販売地 STRING(32),販売日 INT,値段 INT); GROUP MAX 販売実績.商品コード 1000, 販売実績.
販売地 100; RANGE 販売実績.販売日 [1,..,31]; SELECT 商品コード,販売地,販売日,SUM(値段) FROM 販
売実績 GROUP BY 商品コード,販売地,販売日; 上記1つ目のSQL文は、商品コード,販売地,販売日,
値段をカラムに持つ販売実績の表を定義している。2つ
目のSQL文は、商品コード、販売地の種別の上限値と
してそれぞれ1000、100を指定している。3つ目
のSQL文は販売日の値の範囲が1以上31以下である
ことを指示している。4つ目のSQL文は、集計処理要
求文であり、販売実績のテーブルの中のレコードを商品
コード,販売地,販売日の値によってグループ化し、それ
ぞれのグループごとに値段の合計を求めることを指示し
ている。
【0095】上記4つ目のSELECT文においては、商品コ
ード、販売地に関してはハッシュ方式、販売日に関して
は配列形式が選択される。グループごとの集計結果のレ
コードのサイズを44バイトとして、集計結果格納領域
としておよそ44バイト×1000×100×33=145.2Mbが必要
とされる。もしこれだけの領域が主記憶上に確保可能な
場合は、検索処理実行前に必要な領域が主記憶上に確保
され、動的なメモリ割り当ての発生しない効率的な集計
処理を行なうことができる。また最初に必要な大きさの
領域を確保することができなかった場合は、配列領域と
して44×33=1452バイト単位の領域が主記憶から必要に
応じて動的に割り当てられる。割り当てが不可能になっ
た場合は、前述の方法に基づき部分集計結果が二次記憶
装置に待避されることになる。
【0096】図18に本実施例における分類集計処理の
例を示す。本例では2つの入出力サーバ、2つの集計処
理サーバ、1つの問い合わせ処理サーバを使って、前述
の分類集計処理を本実施例に基づいて実行した場合を示
す。まずそれぞれ2つの入出力サーバに分割格納されて
いるレコードのうち(190)商品コードがHT44966で
あるレコードは集計処理サーバ1へ、商品コードがPC15
550であるレコードは集計処理サーバ2へ分配される
(191)。次いでそれぞれの集計処理サーバにおい
て、販売地と販売日に関してグループ化が行なわれ、そ
れぞれのグループごとに集計処理が行なわれる(19
2)。それぞれの集計処理サーバは分配されたレコード
に関して集計処理を終えた時点で、中間集計結果を問い
合わせ処理サーバに転送する(193)。問い合わせ処
理サーバは転送された中間集計結果を結合して最終集計
結果を作成する(194)。
【0097】ただし上記実施例において、それぞれのサ
ーバは、物理的に同じ計算機上で動作しても、あるいは
またネットワークで接続された別々の計算機上で動作し
てもよい。
【0098】また上記実記例の入出力サーバの分類手段
において、グループ化識別子の値に応じて分類先を決定
するのではなく、分配レコード数が各集計サーバごとに
均等になるような分配を行い負荷分散を図り、問い合わ
せ処理ノードでもう一度中間集計結果の分類集計処理を
行なうことで全体の分類集計処理を完成させてもよい。
【0099】さらに上記実施例においては、集計処理サ
ーバをネットワークを介して2段以上接続し、大規模な
数のレコードに関しては分類集計処理を階層的に行なっ
てもよい。
【0100】(実施例2)図20に、本発明における並
列データベース処理システムのまた別の実施例の構成を
示す。
【0101】図20において、1はテーブルを部分テー
ブル7単位で分割格納する二次記憶装置、18は二次記
憶装置から部分テーブル7を読み出し、部分集計処理の
作成を行なう入出力・集計サーバ、19は部分集計結果
の間でもう一度分類集計処理を行い、中間集計結果の作
成を行なう中間集計サーバ、5は各中間集計サーバの集
計結果を統合し、最終的な集計結果を作成する問い合わ
せ処理サーバ、3はそれぞれのノードの間でレコードや
集計結果を交換するためのネットワーク、6はデータベ
ースに対して分類集計処理要求を発行し、また集計結果
を問い合わせ処理サーバから取り出すための端末装置で
ある。ネットワーク3としては、LAN、WAN、専用
ハードウェア装置等、任意のプロセッサ間結合ネットワ
ークを利用することができる。
【0102】以下では、実施例2における入出力・集計
サーバ18および中間集計サーバ19の構成及び動作に
ついて説明する。実施例2の以下で説明されない他の部
分は、実施例1と同じである。
【0103】入出力・集計サーバ18は、二次記憶装置
1から読み出したレコードを一時的に格納するデータバ
ッファ8、データバッファから取り出されたレコードの
集計処理を行なうための集計処理手段12、集計結果を
格納する部分集計結果格納領域25、集計結果レコード
の分配先を決定するレコード分配手段9、および複数の
送信バッファ10を保持する。データバッファ8、集計
結果格納領域13、送信バッファ10は入出力・集計サ
ーバ18が備える主記憶上に確保される。入出力・集計
サーバ18は、二次記憶装置1の保持する部分テーブル
7をブロック単位でデータバッファ8に転送する。つい
で入出力・集計サーバ18は、データバッファ8からレ
コードを順次取り出し、集計処理手段12を用いて部分
集計結果格納領域25上に集計結果を作成する。集計結
果格納領域上の集計結果は、集計結果格納領域の容量に
達し次第、レコード分配手段9を用いて分配先の中間集
計サーバ19を決定し、送信バッファ10を経由して部
分集計結果として中間集計サーバ19に転送される。
【0104】中間集計サーバ19は、複数の受信バッフ
ァ11および入出力・集計サーバから転送された部分集
計結果の集計途中結果を待避するための補助二次記憶装
置17、部分集計結果の間の分類集計処理の作業領域を
提供する集計結果格納領域13を保持する。入出力・集
計サーバ18から転送された部分集計結果は、中間集計
サーバ19においてもう一度分類集計処理が行なわれ
る。集計処理の途中で集計結果が集計結果格納領域13
に収まらなくなった場合は、集計途中の集計結果を補助
二次記憶装置に待避する。すべての部分集計結果を入出
力・集計サーバ18から受信した後、中間集計サーバ1
9は、補助二次記憶装置17に待避された部分集計結果
の間でNウェイマージ処理を行なう。マージ結果は中間
集計結果として、問い合わせ処理サーバ5に対して転送
される。
【0105】図21は本実施例おける分類集計処理全体
の処理フローの様子を示す。まずはじめに端末装置6は
集計処理実行要求を問い合わせ処理サーバ5に対して転
送し(2600)、問い合わせ処理サーバからの応答を
待つ。一方集計処理実行要求を受け付けた問い合わせ処
理サーバ5は、要求された集計処理を行うための実行計
画を作成し(2601)、当該計画に従って入出力・集
計サーバ18や中間集計処理サーバ19上の集計処理プ
ログラムの起動を行なう(2602)。
【0106】問い合わせ処理サーバ5は、受信バッファ
14、最終集計結果格納領域16などの初期化を行なっ
た後(2603)、中間集計サーバ19からの応答を待
つ。問い合わせ処理サーバ5により集計処理プログラム
を起動された入出力・集計サーバ18や中間集計サーバ
19は、問い合わせ処理サーバ5からの指示に従って、
データバッファ8、送信バッファ10、受信バッファ1
1、集計結果格納領域13、部分集計結果格納領域25
などの初期化を行う(2604、2605)。
【0107】入出力・集計サーバ18は、領域初期化を
行なった後、二次記憶装置1からデータバッファ8に読
み込んだレコードごとに集計処理手段12に基づいて集
計処理を行なう(2606)。入出力・集計サーバ18
は、集計結果が部分集計結果格納領域25の容量に達し
次第、 部分集計結果の転送先の中間集計サーバをレコ
ードごとに分配処理手段9に基づいて決定し、送信バッ
ファ10を通じてレコードページの転送を行なう(26
23)。入出力・集計サーバ18は、すべてのレコード
ページを分配し終えた時点で終了通知を各集計処理サー
バに対して送信し(2607)、終了する(260
8)。
【0108】一方入出力・集計サーバ18からレコード
ページを分配された中間集計サーバ19では、レコード
ページを受信し次第、転送された部分集計結果の分類集
計処理を行なう。集計結果が格納領域に収まらなくなっ
た場合は、集計途中の集計結果をグループ化識別子の値
に関してソートした後、補助二次記憶装置に待避する。
(2609)。各中間集計サーバでは、すべての入出力
・集計サーバからの終了通知を受信した時点で(261
0)、補助二次記憶装置17に待避された部分集計結果
があれば(2611)、それらの間でマージソート処理
を行なう(2612)。
【0109】以上のような手順で作成された中間集計結
果は、各中間集計サーバから問い合わせ処理サーバに対
してブロック単位で転送される(2613)。すべての
中間集計結果を転送し終えた時点で、中間集計サーバは
問い合わせ処理サーバに対して終了通知を送信し(26
14)、終了する(2615)。中間集計結果を受け取
った問い合わせ処理サーバ5では、中間集計結果を順
次、最終集計結果格納領域15に格納し、端末装置6か
ら要求にしたがって、最終集計結果を端末装置6に対し
て転送する(2616)。問い合わせ処理サーバはすべ
ての集計処理サーバからの終了通知を受け取った時点で
(2617)、端末装置に対して終了通知を送信し(2
618)、終了する(2619)。端末装置6は、必要
に応じて問い合わせ処理サーバ5に対して最終集計結果
を要求し、最終集計結果を受信する(2620)。端末
装置6は、問い合わせ処理サーバ5からの終了通知を受
信して(2621)集計処理の終了を確認した時点で自
身の処理を終了する(2622)。
【0110】本実施例は、部分集計結果の統合処理を複
数の中間集計サーバで分担して独立に行なうので、集計
結果のグループ数が多い場合に効率の良い処理を行なう
ことができる。
【0111】以下では、入出力・集計サーバおよび中間
集計サーバのフローチャートを更に詳しく説明する。
【0112】図22は入出力・集計サーバにおける分類
集計処理のフローチャートを示す。入出力・集計サーバ
18は、問い合わせ処理サーバ5からの指示にしたがっ
て、まずデータバッファ8、部分集計結果格納領域2
5、送信バッファ10の初期化を行なう(2700)。
次に二次記憶装置1に格納されているレコードをブロッ
ク単位でデータバッファ8に転送する(2701)。次
いで入出力・集計サーバは、データバッファ8からレコ
ードを順次取り出し(2702)、レコードの分類され
るべきグループ識別子を決定する(2703)。入出力
・集計サーバは、レコードの値を参照して集計処理を行
い(2704)、グループ識別子に基づいて集計結果格
納領域上の集計結果格納領域を決定し、集計結果を書き
込む(2705)。このときもし集計結果が集計格納領
域に収まらない場合は(2706)、集計途中の部分集
計結果の中間集計サーバへの転送処理を行なう(270
7)。読み出したすべてのブロック・レコードについて
集計処理を終えた時点で(2708、2709)、最後
の集計結果の転送を行なった後(2710)、終了通知
を中間集計サーバに対して送信し(2711)、終了す
る(2712)。
【0113】図23に中間集計サーバにおける分類集計
処理のフローチャートを示す。中間集計サーバ19は、
問い合わせ処理サーバ5からの指示にしたがって、まず
集計結果格納領域13、受信バッファ11の初期化を行
う(2800)。中間集計サーバは、入出力・集計サー
バから受信バッファ11に転送された(2801)部分
集計結果から集計結果を一つずつ取り出し(280
3)、対応するグループ化識別子の値に関して分類処理
を行う(2804)。
【0114】次いで分類された集計結果ごとに集計値の
再集計処理を行ない(2805)、その結果を集計結果
格納領域13に書き込む(2806)。集計結果が集計
結果格納領域に収まらない場合は(2807)、途中の
集計結果を対応するグループ化識別子の値に関してソー
トし、補助二次記憶装置に格納する(2808)。各中
間集計サーバは、受信した集計結果分だけ集計結果を繰
り返す(2809)。中間集計サーバは、すべての入出
力・集計サーバから終了通知を受信した時点で(281
0)、もし集計結果が補助二次記憶装置に待避されてい
た場合には(2811)、待避された集計結果の間でマ
ージソート処理を行い、中間集計結果を作成する(28
12)。中間集計サーバは中間集計結果は問い合わせ処
理サーバに対して転送し(2813)、終了通知を送信
した後(2814)、終了する(2815)。
【0115】以下では、本実施例の入出力・集計サーバ
18において集計結果が主記憶上の予約領域に収まらな
くなった場合の対処方法について述べる。入出力・集計
サーバ18において集計結果が主記憶上の予約領域に収
まりきれなくなるのは、集計結果格納方式としてハッシ
ュ方式あるいはハッシュ・配列併用方式を利用してい
て、ハッシュエントリに予約領域以上の配列格納領域を
追加しようとした場合である。以下では、集計結果が主
記憶上の予約領域に収まらなくなった時点で、入出力・
集計サーバ上に蓄積されている集計途中の集計結果を部
分集計結果と呼ぶ。
【0116】図15および図17に本実施例における中
間集計結果が主記憶上の予約領域に収まらなくなった場
合の処理方法及びフローチャートを示す。
【0117】本実施例では、入出力・集計サーバ18に
おいて集計結果が主記憶上の予約領域に収まらなくなっ
た場合、部分集計結果に含まれるそれぞれの集計結果
を、同じグループに関する集計結果は同じ中間集計サー
バ19に転送されるように分類し、転送する(16
0)。部分集計結果を待避した後は、主記憶上の集計結
果格納領域は再利用することが可能となる。中間集計サ
ーバは部分集計結果を主記憶上でソートしたのち補助二
次記憶装置17に待避する(161)。中間集計サーバ
19は、すべての集計結果が転送された時点で(18
0)、補助二次記憶装置内に待避された複数の部分集計
結果の間でNウェイマージ処理を行ない(162、18
1)、処理結果を問い合わせ処理サーバ5に転送する。
この方式では、補助二次記憶装置に対するランダムI/O
が発生しないので、効率の良い集計結果の作成が可能に
なっている。
【0118】ただし本実施例において、入出力・集計サ
ーバにおいて集計結果が主記憶上の予約領域に収まらな
くなった場合、実施例1における集計処理サーバの場合
と同様に、部分集計結果の一部を補助二次記憶装置に待
避する、あふれたレコードだけ補助二次記憶装置に待避
する、主記憶上での集計成功率により部分集計結果を補
助二次記憶装置に待避する等により、効率的な集計処理
を図ることも可能である。
【0119】図19に本実施例における分類集計処理の
例を示す。本例では2つの入出力・出力サーバ、2つの
中間集計サーバ、1つの問い合わせ処理サーバを使っ
て、前述の分類集計処理を本実施例に基づいて実行した
場合を示す。まずそれぞれ2つの入出力・集計サーバに
分割格納されているレコードに関して(200)各入出
力・集計サーバにおいて集計処理をした後、商品コード
がHT44966であるレコードに関する集計結果は中間集計
サーバ1へ、商品コードがPC15550であるレコードに関
する集計結果は集計処理サーバ2へ分配される(20
1)。次いでそれぞれの中間集計サーバにおいて、それ
ぞれの同じグループに関する集計結果ごとに部分集計結
果の再分類集計処理が行なわれる(202)。それぞれ
の中間集計サーバは分配されたすべての部分集計結果に
関して分類集計処理を終えた時点で、マージ後の中間集
計結果を問い合わせ処理サーバに転送する(203)。
問い合わせ処理サーバは転送された中間集計結果を結合
して最終集計結果を作成する(204)。
【0120】ただし上記実施例において、それぞれのサ
ーバは、物理的に同じ計算機上で動作しても、あるいは
またネットワークで接続された別々の計算機上で動作し
てもよい。
【0121】また上記実記例の入出力サーバの分類手段
において、グループ化識別子の値に応じて分類先を決定
するのではなく、分配レコード数が各集計サーバごとに
均等になるような分配を行い負荷分散を図り、問い合わ
せ処理ノードでもう一度中間集計結果の分類集計処理を
行なうことで全体の分類集計処理を完成させてもよい。
【0122】さらに上記実施例においては、集計処理サ
ーバをネットワークを介して2段以上接続し、大規模な
数のレコードに関しては分類集計処理を階層的に行なっ
てもよい。
【0123】本発明では、分類集計処理対象データの特
性に応じて上記2つの実施例のうちから最も効率のよい
方式を採用することができる。例えば、集計処理サーバ
数を十分確保できる場合は実施例1を採用し、二次記憶
装置に格納されたレコードをなるべく多くの集計処理サ
ーバに分配することで、短時間で分類集計処理を終える
ことができる。また、集計結果のデー多量が集計対象レ
コードのデー多量に対して十分小さくなる場合は実施例
2を採用することによって、ネットワーク上のデータ転
送量を削減することができる。
【0124】
【発明の効果】本発明による並列データベース処理シス
テムでは、分類処理と集計処理とをレコード単位で並行
実行し、集計結果が主記憶上の予約領域に収まらなかっ
た場合のランダムI/Oの発生を防止することにより効率
の良いグループ化集計処理が可能となる。
【図面の簡単な説明】
【図1】本発明による並列データベース処理システムの
実施例1のブロック図である。
【図2】データベースの論理構造を示す図である。
【図3】分類集計処理の概略を示す図である。
【図4】マージソート方式のフローチャートを示す図で
ある。
【図5】単純ハッシュ方式のフローチャートを示す図で
ある。
【図6】実施例1における分類集計処理全体の処理フロ
ーの概略を示す図である。
【図7】実施例1における入出力サーバの処理のフロー
チャートを示す図である。
【図8】実施例1における集計処理サーバの処理のフロ
ーチャートを示す図である。
【図9】問い合わせ処理サーバの処理のフローチャート
を示す図である。
【図10】端末装置の処理のフローチャートを示す図で
ある。
【図11】配列方式に基づく集計結果格納形式を示す図
である。
【図12】ハッシュ方式に基づく集計結果格納形式を示
す図である。
【図13】ハッシュ・配列併用方式に基づく集計結果格
納形式を示す図である。
【図14】実施例1において集計結果が予約領域に収ま
らなかった場合の対処法を示す図である。
【図15】実施例2において集計結果が予約領域に収ま
らなかった場合の対処法を示す図である。
【図16】実施例1において集計結果が予約領域に収ま
らなかった場合の処理のフローチャートを示す図であ
る。
【図17】実施例2において集計結果が予約領域に収ま
らなかった場合の処理のフローチャートを示す図であ
る。
【図18】実施例1で分類集計処理を行なった場合の実
施例を示す図である。
【図19】実施例2で分類集計処理を行なった場合の実
施例を示す図である。
【図20】本発明による並列データベース処理システム
の実施例2のブロック図である。
【図21】実施例2における分類集計処理全体の処理フ
ローの概略を示す図である。
【図22】実施例2における入出力・集計サーバの処理
のフローチャートを示す図である。
【図23】実施例2における中間集計サーバの処理のフ
ローチャートを示す図である。
【符号の説明】
1:二次記憶装置、2:入出力サーバ、3:ネットワー
ク、4:集計処理サーバ、5:問い合わせ処理サーバ、
6:端末装置、7:部分テーブル、8:データバッフ
ァ、9:レコード分配手段、10:送信バッファ、1
1:受信バッファ、12:集計処理手段、13:集計結
果格納領域、14:受信バッファ、15:集計結果統合
手段、16:最終集計結果格納領域、17:補助二次記
憶装置、18:入出力・集計サーバ、19:中間集計ノ
ード。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 山平 耕作 神奈川県横浜市戸塚区戸塚町5030番地 株 式会社日立製作所ソフトウェア開発本部内 (72)発明者 前田 章 神奈川県川崎市麻生区王禅寺1099番地 株 式会社日立製作所システム開発研究所内 (72)発明者 芦田 仁史 神奈川県川崎市麻生区王禅寺1099番地 株 式会社日立製作所システム開発研究所内

Claims (21)

    【特許請求の範囲】
  1. 【請求項1】データベースに対する問い合わせ処理要求
    を処理する問い合わせ処理サーバと、データベースのレ
    コードの読み出しを行なう入出力サーバと、レコードの
    集計処理を行なう集計処理サーバとを備え、前記レコー
    ドの一つ以上のカラムをグループ化カラムとして指定
    し、当該グループ化カラム値に対してグループ識別子を
    対応させ、当該グループ識別子の値が同じである複数の
    レコードを1つのグループに分類し、当該レコードの一
    つ以上のカラムを集計対象カラムとして指定し、各々の
    グループに分類されたレコード毎に集計処理を行なうデ
    ータベース処理システムであって、 前記入出力サーバは、各レコードのグループ化カラムの
    値に応じて当該レコードの集計処理を行なう集計処理サ
    ーバに転送する手段を有し、 前記集計処理サーバは、集計結果格納領域を集計処理サ
    ーバが備える主記憶上に確保する手段と、入出力サーバ
    から受信したレコードのグループ化カラムの値からグル
    ープ識別子を生成する手段と、グループ識別子の値から
    当該グループ識別子に対応する集計結果の格納場所を一
    意に決定する分類手段と、当該格納場所に納められてい
    る集計結果を当該レコードの集計対象カラムの値に基づ
    き更新する集計手段と、当該中間集計結果を前記問い合
    わせ処理サーバに転送する手段とを有し、 前記問い合わせ処理サーバは、前記集計処理サーバから
    受信した中間集計結果を統合する手段を有することを特
    徴とするデータベース処理システム。
  2. 【請求項2】請求項1記載のデータベース処理システム
    において、 集計処理サーバの主記憶上に確保された集計結果格納領
    域に集計結果が収まらなくなった場合に、集計途中の集
    計結果を当該集計結果に対応するグループ化識別子の値
    に関して主記憶上でソートした後、集計処理サーバの備
    える補助二次記憶装置に中間集計結果として待避し、 集計処理を終えた時点で、主記憶上の集計結果と補助二
    次記憶装置に待避した前記0個以上のソート済みの中間
    集計結果との間でマージ処理を行なうことによって、そ
    れぞれの集計処理サーバに分配されたレコードに関する
    集計処理を行うことを特徴とする分類集計処理方法。
  3. 【請求項3】請求項1記載のデータベース処理システム
    において、 集計処理サーバの主記憶上に確保された集計結果格納領
    域に集計結果が収まらなくなった場合に、集計途中の集
    計結果のうち、最も最近に参照された集計結果の一部を
    残し、残りの集計結果を当該集計結果に対応するグルー
    プ化識別子の値に関して主記憶上でソートした後、集計
    処理サーバの備える補助二次記憶装置に中間集計結果と
    して待避し、 集計処理を終えた時点で、主記憶上の集計結果と補助二
    次記憶装置に待避した前記0個以上のソート済みの中間
    集計結果との間でマージ処理を行なうことによって、そ
    れぞれの集計処理サーバに分配されたレコードに関する
    集計処理を行うことを特徴とする分類集計処理方法。
  4. 【請求項4】請求項1記載のデータベース処理システム
    において、 集計処理サーバの主記憶上に確保された集計結果格納領
    域に集計結果が収まらなくなった場合に、あふれて集計
    することのできなかったレコードを集計処理サーバの備
    える補助二次記憶装置に待避し、 集計処理を終えた時点で、主記憶上の集計結果と補助二
    次記憶装置に待避した前記0個以上のレコードの集計結
    果との間でマージ処理を行なうことによって、それぞれ
    の集計処理サーバに分配されたレコードに関する集計処
    理を行うことを特徴とする分類集計処理方法。
  5. 【請求項5】請求項1記載のデータベース処理システム
    において、 集計処理サーバの主記憶上に確保された集計結果格納領
    域に集計結果が収まらなくなった場合に、あふれて集計
    することのできなかったレコードを集計処理サーバの備
    える補助二次記憶装置に待避し、かつ、主記憶上で集計
    することのできたレコードの比率が一定の値を下回った
    時点で、集計途中の集計結果を当該集計結果に対応する
    グループ化識別子の値に関して主記憶上でソートした
    後、集計処理サーバの備える補助二次記憶装置に中間集
    計結果として待避し、 集計処理を終えた時点で、主記憶上の集計結果と補助二
    次記憶装置に待避した前記0個以上のレコードの集計結
    果と補助二次記憶装置に待避した前記0個以上のソート
    済みの中間集計結果との間でマージ処理を行なうことに
    よって、それぞれの集計処理サーバに分配されたレコー
    ドに関する集計処理を行うことを特徴とする分類集計処
    理方法。
  6. 【請求項6】データベースに対する問い合わせ処理要求
    を処理する問い合わせ処理サーバと、データベースのレ
    コードの読み出しと集計処理を行なう入出力・集計サー
    バと、中間集計結果の集計処理を行なう中間集計処理サ
    ーバと、前記問い合わせ処理サーバと前記入出力・集計
    サーバと中間集計処理サーバとを備え、前記レコードの
    一つ以上のカラムをグループ化カラムとして指定し、当
    該グループ化カラム値に対してグループ識別子を対応さ
    せ、当該グループ識別子の値が同じである複数のレコー
    ドを1つのグループに分類し、当該レコードの一つ以上
    のカラムを集計対象カラムとして指定し、各々のグルー
    プに分類されたレコード毎に集計処理を行なうデータベ
    ース処理システムにおいて、 前記入出力・集計サーバは、集計結果格納領域を入出力・
    集計サーバが備える主記憶上に確保する手段と、各レコ
    ードのグループ化カラムの値からグループ識別子を生成
    する手段と、グループ識別子の値から当該グループ識別
    子に対応する集計結果の格納場所を一意に決定する分類
    手段と、当該格納領域に納められている集計結果を当該
    レコードの集計対象カラムの値に基づき更新する集計手
    段と、当該部分集計結果に対応するグループ化識別子の
    値に応じて当該部分集計結果の統合処理を行なう中間集
    計サーバに転送する手段とを有し、 前記中間集計サーバは、入出力・集計サーバから受信し
    た部分集計結果を統合し、中間結果を生成する手段と、
    当該中間集計結果を前記問い合わせ処理サーバに転送す
    る手段を有し、 前記問い合わせ処理サーバは、前記中間集計処理サーバ
    から受信した中間集計結果を統合する手段を有すること
    を特徴とするデータベース処理システム。
  7. 【請求項7】請求項6記載のデータベース処理システム
    において、 入出力・集計サーバの主記憶上に確保された集計結果格
    納領域に集計結果が収まらなくなった場合に、主記憶上
    の集計途中の集計結果を前記入出力・集計サーバの備え
    る対応規則に従って中間集計サーバに部分集計結果とし
    て転送し、 中間集計サーバにおいて部分集計結果の分類集計処理を
    行なうことによって、それぞれの入出力・集計サーバに
    格納されたレコードに関する集計処理を行うことを特徴
    とする分類集計処理方法。
  8. 【請求項8】請求項6記載のデータベース処理システム
    において、 入出力・集計サーバの主記憶上に確保された集計結果格
    納領域に集計結果が収まらなくなった場合に、集計途中
    の集計結果を当該集計結果に対応するグループ化識別子
    の値に関して主記憶上でソートした後、入出力集計サー
    バの備える補助二次記憶装置に中間集計結果として待避
    し、 集計処理を終えた時点で、主記憶上の集計結果と補助二
    次記憶装置に待避した前記0個以上のソート済みの中間
    集計結果との間でマージ処理を行なうことによって、そ
    れぞれの入出力・集計サーバに分配されたレコードに関
    する集計処理を行うことを特徴とする分類集計処理方
    法。
  9. 【請求項9】請求項6記載のデータベース処理システム
    において、 入出力・集計サーバの主記憶上に確保された集計結果格
    納領域に集計結果が収まらなくなった場合に、集計途中
    の集計結果のうち、最も最近に参照された集計結果の一
    部を残し、残りの集計結果を当該集計結果に対応するグ
    ループ化識別子の値に関して主記憶上でソートした後、
    入出力・集計サーバの備える補助二次記憶装置に中間集
    計結果として待避し、 集計処理を終えた時点で、主記憶上の集計結果と補助二
    次記憶装置に待避した前記0個以上のソート済みの中間
    集計結果の間でマージ処理を行なうことによって、それ
    ぞれの入出力・集計サーバに分配されたレコードに関す
    る集計処理を行うことを特徴とする分類集計処理方法。
  10. 【請求項10】請求項6記載のデータベース処理システ
    ムにおいて、 入出力・集計サーバの主記憶上に確保された集計結果格
    納領域に集計結果が収まらなくなった場合に、あふれて
    集計することのできなかったレコードを入出力・集計サ
    ーバの備える補助二次記憶装置に待避し、 集計処理を終えた時点で、主記憶上の集計結果と補助二
    次記憶装置に待避した前記0個以上のレコードの集計結
    果との間でマージ処理を行なうことによって、それぞれ
    の入出力・集計サーバに分配されたレコードに関する集
    計処理を行うことを特徴とする分類集計処理方法。
  11. 【請求項11】請求項6記載のデータベース処理システ
    ムにおいて、 入出力・集計サーバの主記憶上に確保された集計結果格
    納領域に集計結果が収まらなくなった場合に、あふれて
    集計することのできなかったレコードを入出力・集計サ
    ーバの備える補助二次記憶装置に待避し、かつ、主記憶
    上で集計することのできたレコードの比率が一定の値を
    下回った時点で、集計途中の集計結果を当該集計結果に
    対応するグループ化識別子の値に関して主記憶上でソー
    トした後、入出力・集計サーバの備える補助二次記憶装
    置に中間集計結果として待避し、 集計処理を終えた時点で、主記憶上の集計結果と補助二
    次記憶装置に待避した前記0個以上のレコードの集計結
    果と補助二次記憶装置に待避した前記0個以上のソート
    済みの中間集計結果との間でマージ処理を行なうことに
    よって、それぞれの入出力・集計サーバに分配されたレ
    コードに関する集計処理を行うことを特徴とする分類集
    計処理方法。
  12. 【請求項12】請求項7記載の分類集計方法において、 中間集計サーバにおいて部分集計結果の分類集計処理を
    行なう際に、中間集計サーバの主記憶上に確保された集
    計結果格納領域に集計結果が収まらなくなった場合に、
    集計途中の集計結果を当該集計結果に対応するグループ
    化識別子の値に関して主記憶上でソートした後、中間集
    計サーバの備える補助二次記憶装置に中間集計処理とし
    て待避し、 集計処理を終えた時点で、主記憶上の集計結果と補助二
    次記憶装置に待避した前記0個以上のソート済みの中間
    集計結果との間でマージ処理を行なうことによって、そ
    れぞれの中間集計サーバに分配された部分集計結果に関
    する集計処理を行うことを特徴とする分類集計処理方
    法。
  13. 【請求項13】請求項7記載の分類集計処理方法におい
    て、 中間集計サーバにおいて部分集計結果の分類集計処理を
    行なう際に、中間集計サーバの主記憶上に確保された集
    計結果格納領域に集計結果が収まらなくなった場合に、
    集計途中の集計結果のうち、最も最近に参照された集計
    結果の一部を残し、残りの集計結果を当該集計結果に対
    応するグループ化識別子の値に関して主記憶上でソート
    した後、中間集計サーバの備える補助二次記憶装置に中
    間集計結果として待避し、 集計処理を終えた時点で、主記憶上の集計結果と補助二
    次記憶装置に待避した前記0個以上のソート済みの中間
    集計結果との間でマージ処理を行なうことによって、そ
    れぞれの中間集計サーバに分配された部分集計結果に関
    する集計処理を行うことを特徴とする分類集計処理方
    法。
  14. 【請求項14】請求項7記載の分類集計処理方法におい
    て、 中間集計サーバにおいて部分集計結果の分類集計処理を
    行なう際に、中間集計サーバの主記憶上に確保された集
    計結果格納領域に集計結果が収まらなくなった場合に、
    あふれて集計することのできなかったレコードを中間集
    計サーバの備える補助二次記憶装置に待避し、 集計処理を終えた時点で、主記憶上の集計結果と補助二
    次記憶装置に待避した前記0個以上のレコードの集計結
    果との間でマージ処理を行なうことによって、それぞれ
    の中間集計サーバに分配された部分集計結果に関する集
    計処理を行うことを特徴とする分類集計処理方法
  15. 【請求項15】請求項7記載の分類集計処理方法におい
    て、 中間集計サーバにおいて部分集計結果の分類集計処理を
    行なう際に、中間集計サーバの主記憶上に確保された集
    計結果格納領域に集計結果が収まらなくなった場合に、
    あふれて集計することのできなかったレコードを中間集
    計サーバの備える補助二次記憶装置に待避し、かつ、主
    記憶上で集計することのできたレコードの比率が一定の
    値を下回った時点で、集計途中の集計結果を当該集計結
    果に対応するグループ化識別子の値に関して主記憶上で
    ソートした後、中間集計サーバの備える補助二次記憶装
    置に中間集計結果として待避し、 集計処理を終えた時点で、主記憶上の集計結果と補助二
    次記憶装置に待避した前記0個以上のレコードの集計結
    果と補助二次記憶装置に待避した前記0個以上のソート
    済みの中間集計結果との間でマージ処理を行なうことに
    よって、それぞれの中間集計サーバに分配された部分集
    計結果に関する集計処理を行うことを特徴とする分類集
    計処理方法。
  16. 【請求項16】データベース処理システムに格納されて
    いるテーブルを構成するレコードの一つ以上のカラムを
    グループ化カラムとして指定し、当該指定されたグルー
    プ化カラム値に対してグループ識別子を一対一あるいは
    多対一に対応させ、当該グループ識別子の値が同じであ
    る複数のレコードを1つのグループに分類し、当該分類
    された各々のグループに属するレコードの一つ以上のカ
    ラムを集計対象カラムとして指定し、当該指定されたカ
    ラムの値に関する集計処理を行なうデータベース処理シ
    ステムにおいて、 分類集計処理のグループ化カラムの指定に、グループ識
    別子の値の範囲を指定するための書式を有することを特
    徴とするデータベース処理システム。
  17. 【請求項17】データベース処理システムに格納されて
    いるテーブルを構成するレコードの一つ以上のカラムを
    グループ化カラムとして指定し、当該指定されたグルー
    プ化カラム値に対してグループ識別子を一対一あるいは
    多対一に対応させ、当該グループ識別子の値が同じであ
    る複数のレコードを1つのグループに分類し、当該分類
    された各々のグループに属するレコードの一つ以上のカ
    ラムを集計対象カラムとして指定し、当該指定されたカ
    ラムの値に関する集計処理を行なうデータベース処理シ
    ステムにおいて、 分類集計処理のグループ化カラムの指定に、グループ化
    の結果得られるグループ数の上限を指定するための書式
    を有することを特徴とするデータベース処理システム。
  18. 【請求項18】データベース処理システムに格納されて
    いるテーブルを構成するレコードの一つ以上のカラムを
    グループ化カラムとして指定し、当該指定されたグルー
    プ化カラム値に対してグループ識別子を一対一あるいは
    多対一に対応させ、当該グループ識別子の値が同じであ
    る複数のレコードを1つのグループに分類し、当該分類
    された各々のグループに属するレコードの一つ以上のカ
    ラムを集計対象カラムとして指定し、当該指定されたカ
    ラムの値に関する集計処理を行なうデータベース処理シ
    ステムにおいて、 分類集計処理のグループ化カラムの指定に、グループ化
    カラム値とグループ識別子との対応を定義するためのユ
    ーザ定義関数を指定するための書式を有することを特徴
    とするデータベース処理システム。
  19. 【請求項19】請求項1あるいは請求項6記載のデータ
    ベース処理システムにおいて、 分類集計処理のグループ化カラムの指定に、グループ識
    別子の値の範囲を指定するための書式を有し、 グループ化カラムごとのグループ識別子の値の範囲の指
    定の有無に対応して、集計結果格納位置をグループ化識
    別子の値から計算によって直接決定する配列方式と、グ
    ループ化識別子の比較によって決定するハッシュ方式と
    をそれぞれグループ化カラムごとに使い分けることを特
    徴とする分類集計処理方法。
  20. 【請求項20】請求項1あるいは請求項6記載のデータ
    ベース処理システムにおいて、 分類集計処理のグループ化カラムの指定に、グループ化
    の結果得られるグループ数の上限を指定するための書式
    を有し、 グループ化カラムごとのグループ識別子の値の範囲の指
    定を参照して、指定された範囲の上限あるいは下限を逸
    脱した値を持つグループ識別子のためのグループを用意
    し、当該グループに分類されるレコードに関しても集計
    処理を行なうことを特徴とする分類集計処理方法。
  21. 【請求項21】請求項1あるいは請求項6記載のデータ
    ベース処理システムにおいて分類集計処理のグループ化
    カラムの指定に、グループ化カラム値とグループ識別子
    との対応を定義するためのユーザ定義関数を指定するた
    めの書式を有し、 グループ化カラム値とグループ識別子との対応を定義す
    るためのユーザ定義関数を利用して、グループ識別子の
    値の範囲を狭く限定して集計処理を行なうことを特徴と
    する分類集計処理方法。
JP24958996A 1996-09-20 1996-09-20 データベース処理システムにおける分類集計処理方法 Expired - Fee Related JP3584630B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP24958996A JP3584630B2 (ja) 1996-09-20 1996-09-20 データベース処理システムにおける分類集計処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP24958996A JP3584630B2 (ja) 1996-09-20 1996-09-20 データベース処理システムにおける分類集計処理方法

Publications (2)

Publication Number Publication Date
JPH1097544A true JPH1097544A (ja) 1998-04-14
JP3584630B2 JP3584630B2 (ja) 2004-11-04

Family

ID=17195271

Family Applications (1)

Application Number Title Priority Date Filing Date
JP24958996A Expired - Fee Related JP3584630B2 (ja) 1996-09-20 1996-09-20 データベース処理システムにおける分類集計処理方法

Country Status (1)

Country Link
JP (1) JP3584630B2 (ja)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11306186A (ja) * 1998-04-16 1999-11-05 Hitachi Ltd 組合せ分析情報作成装置及び組合せ分析情報作成プログラムを記録した記録媒体
JPH11306200A (ja) * 1998-04-27 1999-11-05 Fujitsu Ltd グループバイ処理装置および方法
JP2001155028A (ja) * 1999-11-29 2001-06-08 Hitachi Ltd リレーショナルデータベースにおける集約演算処理方法、その装置及び集約演算処理プログラムを記録したコンピュータ読み取り可能な記録媒体
JP2006268688A (ja) * 2005-03-25 2006-10-05 Nec Corp 複数系列データ配置方法及び複数系列データ配置装置
JP2007011548A (ja) * 2005-06-29 2007-01-18 Fujitsu Ltd データ集合分割プログラム、データ集合分割装置、およびデータ集合分割方法
JP2010512563A (ja) * 2006-11-30 2010-04-22 アリババ グループ ホールディング リミテッド 分散型コンピュータネットワークに基づくログファイル分析方法およびシステム
JP2010186391A (ja) * 2009-02-13 2010-08-26 Hitachi Ltd データベース処理システム、計算機及びデータベース処理方法
JP2012113373A (ja) * 2010-11-20 2012-06-14 Nomura Research Institute Ltd プログラム開発支援システム及びデータ利用システム
WO2012131927A1 (ja) * 2011-03-30 2012-10-04 株式会社日立製作所 計算機システム及びデータ管理方法
WO2013051131A1 (ja) * 2011-10-06 2013-04-11 富士通株式会社 データ処理方法、分散処理システムおよびプログラム
JP2013092945A (ja) * 2011-10-26 2013-05-16 Nomura Research Institute Ltd データ利用システム
JP2013131011A (ja) * 2011-12-21 2013-07-04 Nomura Research Institute Ltd データ利用システム
WO2013136442A1 (ja) * 2012-03-13 2013-09-19 株式会社野村総合研究所 データ利用システム、時限データの履歴管理システム及びデータ処理システム
JP2015069518A (ja) * 2013-09-30 2015-04-13 日本電気株式会社 処理の並列化装置、処理の並列化方法及びプログラム
JP2015172823A (ja) * 2014-03-11 2015-10-01 株式会社電通国際情報サービス 情報処理装置、情報処理方法及びプログラム
US9170851B2 (en) 2010-11-22 2015-10-27 International Business Machines Corporation Connection distribution for load balancing in a distributed database
JP2016516246A (ja) * 2013-03-15 2016-06-02 インフォマティカ エルエルシー 個別のデータ値に対する効率よい演算を行うための方法、装置、並びにコンピュータ可読媒体
JP2016130929A (ja) * 2015-01-14 2016-07-21 日本電気株式会社 集約装置、集約システム、集約方法、および、プログラム

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11306186A (ja) * 1998-04-16 1999-11-05 Hitachi Ltd 組合せ分析情報作成装置及び組合せ分析情報作成プログラムを記録した記録媒体
JPH11306200A (ja) * 1998-04-27 1999-11-05 Fujitsu Ltd グループバイ処理装置および方法
JP2001155028A (ja) * 1999-11-29 2001-06-08 Hitachi Ltd リレーショナルデータベースにおける集約演算処理方法、その装置及び集約演算処理プログラムを記録したコンピュータ読み取り可能な記録媒体
JP2006268688A (ja) * 2005-03-25 2006-10-05 Nec Corp 複数系列データ配置方法及び複数系列データ配置装置
JP2007011548A (ja) * 2005-06-29 2007-01-18 Fujitsu Ltd データ集合分割プログラム、データ集合分割装置、およびデータ集合分割方法
JP2010512563A (ja) * 2006-11-30 2010-04-22 アリババ グループ ホールディング リミテッド 分散型コンピュータネットワークに基づくログファイル分析方法およびシステム
US8671097B2 (en) 2006-11-30 2014-03-11 Alibaba Group Holdings Limited Method and system for log file analysis based on distributed computing network
JP2010186391A (ja) * 2009-02-13 2010-08-26 Hitachi Ltd データベース処理システム、計算機及びデータベース処理方法
JP2012113373A (ja) * 2010-11-20 2012-06-14 Nomura Research Institute Ltd プログラム開発支援システム及びデータ利用システム
US9170851B2 (en) 2010-11-22 2015-10-27 International Business Machines Corporation Connection distribution for load balancing in a distributed database
WO2012131927A1 (ja) * 2011-03-30 2012-10-04 株式会社日立製作所 計算機システム及びデータ管理方法
JP5342087B2 (ja) * 2011-03-30 2013-11-13 株式会社日立製作所 計算機システム及びデータ管理方法
JPWO2012131927A1 (ja) * 2011-03-30 2014-07-24 株式会社日立製作所 計算機システム及びデータ管理方法
WO2013051131A1 (ja) * 2011-10-06 2013-04-11 富士通株式会社 データ処理方法、分散処理システムおよびプログラム
JPWO2013051131A1 (ja) * 2011-10-06 2015-03-30 富士通株式会社 データ処理方法、分散処理システムおよびプログラム
US9910821B2 (en) 2011-10-06 2018-03-06 Fujitsu Limited Data processing method, distributed processing system, and program
EP2765510A4 (en) * 2011-10-06 2016-07-06 Fujitsu Ltd DATA PROCESSING, DISTRIBUTED PROCESSING SYSTEM AND PROGRAM
JP2013092945A (ja) * 2011-10-26 2013-05-16 Nomura Research Institute Ltd データ利用システム
JP2013131011A (ja) * 2011-12-21 2013-07-04 Nomura Research Institute Ltd データ利用システム
WO2013136442A1 (ja) * 2012-03-13 2013-09-19 株式会社野村総合研究所 データ利用システム、時限データの履歴管理システム及びデータ処理システム
JP2016516246A (ja) * 2013-03-15 2016-06-02 インフォマティカ エルエルシー 個別のデータ値に対する効率よい演算を行うための方法、装置、並びにコンピュータ可読媒体
JP2017224331A (ja) * 2013-03-15 2017-12-21 インフォマティカ エルエルシー 個別のデータ値に対する効率よい演算を行うための方法、装置、並びにコンピュータ可読媒体
JP2015069518A (ja) * 2013-09-30 2015-04-13 日本電気株式会社 処理の並列化装置、処理の並列化方法及びプログラム
JP2015172823A (ja) * 2014-03-11 2015-10-01 株式会社電通国際情報サービス 情報処理装置、情報処理方法及びプログラム
JP2016130929A (ja) * 2015-01-14 2016-07-21 日本電気株式会社 集約装置、集約システム、集約方法、および、プログラム

Also Published As

Publication number Publication date
JP3584630B2 (ja) 2004-11-04

Similar Documents

Publication Publication Date Title
JP3584630B2 (ja) データベース処理システムにおける分類集計処理方法
JP3155991B2 (ja) 集約演算実行方法及びコンピュータ・システム
JP2000187668A (ja) グループ化方法と重複排除方法
CN104685498B (zh) 聚合/分组操作的硬件实现方式:散列表方法
JP3952518B2 (ja) 多次元データ処理方法
US8219564B1 (en) Two-dimensional indexes for quick multiple attribute search in a catalog system
US8868484B2 (en) Efficiently updating rows in a data warehouse
US20160350302A1 (en) Dynamically splitting a range of a node in a distributed hash table
US20070239673A1 (en) Removing nodes from a query tree based on a result set
CN101916261A (zh) 一种分布式并行数据库系统的数据分区方法
US20080320244A1 (en) Moving records between partitions
US11455323B2 (en) Data processing method and system
JP6269140B2 (ja) アクセス制御プログラム、アクセス制御方法、およびアクセス制御装置
JP2009146350A (ja) サービス管理装置及びデータアクセス制御装置及びデータ検索方法
US8560560B2 (en) Device and method for distributed processing
JP4511469B2 (ja) 情報処理方法及び情報処理システム
WO2005106713A1 (ja) 情報処理方法及び情報処理システム
JPH06314299A (ja) データベース管理方法
US8700822B2 (en) Parallel aggregation system
JPH06309284A (ja) 問合せ処理負荷分散方法
JPH06259308A (ja) 分散型データベースの管理方法、及びシステム
US7162505B2 (en) Classification of data for insertion into a database
JP2022014633A (ja) 分散処理システム、分散処理装置、データベース管理装置及び方法
US20020032685A1 (en) Database dividing system, method and program
JPH06251067A (ja) 並列データ検索装置

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040713

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040726

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

Free format text: PAYMENT UNTIL: 20070813

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20080813

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20080813

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090813

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100813

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100813

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110813

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees