JPH09265479A - 多次元データ処理方法 - Google Patents

多次元データ処理方法

Info

Publication number
JPH09265479A
JPH09265479A JP8075864A JP7586496A JPH09265479A JP H09265479 A JPH09265479 A JP H09265479A JP 8075864 A JP8075864 A JP 8075864A JP 7586496 A JP7586496 A JP 7586496A JP H09265479 A JPH09265479 A JP H09265479A
Authority
JP
Japan
Prior art keywords
data
dimension
page
coordinate
cell
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
JP8075864A
Other languages
English (en)
Other versions
JP3952518B2 (ja
Inventor
Hideo Ohata
秀雄 大畑
Kiyotaka Kibo
清隆 木保
Ikuyo Ibe
育世 井辺
Tomoko Kimura
智子 木村
Tetsuya Masuishi
哲也 増石
Shigeru Yoneda
茂 米田
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 JP07586496A priority Critical patent/JP3952518B2/ja
Priority to US08/835,026 priority patent/US5864857A/en
Publication of JPH09265479A publication Critical patent/JPH09265479A/ja
Application granted granted Critical
Publication of JP3952518B2 publication Critical patent/JP3952518B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2264Multidimensional index structures
    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2237Vectors, bitmaps or matrices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【課題】 多次元データベース管理システムにおいて多
次元データを高速に検索、集約する。 【解決手段】 多次元問合せ要求処理は、クライアント
101からの問合せを各プロセサの多次元スキャン処理
に実行指示する。各多次元スキャン処理の検索結果セル
データはプロセサ103のデータ併合処理に集められ、
クライアントへ返却する。集約データ最適実体化処理
は、集約セルデータを得るために各プロセサの各多次元
スキャン処理に実行指示する。各スキャン処理はデータ
併合を経由して集約計算処理にスキャン結果を転送す
る。集約計算処理はスキャン結果を集約計算して集約セ
ルデータを作り、適切なプロセサのキューブデータに集
約結果を格納するために、データ分配を経由して任意プ
ロセサへデータ分配する。各プロセサの多次元インサー
ト処理はデータ併合を経由して集約結果を集め、キュー
ブデータに格納する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、データベース管理
システムに係り、とくに多次元データを高速に検索、集
約するのに好適な多次元データ処理方法に関する。
【0002】
【従来の技術】多次元データの分析の効率化を目標とす
る多次元データベース管理システムは、次元のメンバの
自由な組合せで指定されたデータを検索する機能(スラ
イス機能)と、さまざまな次元方向についてさまざまな
詳細レベルでデータを集約する機能を、データ演算の基
本機能として提供する。これら機能の高速処理のため
に、従来、以下のような技術が用いられてきた。
【0003】多次元データ検索に向いたデータの格納方
法として、計算機言語の配列データのメモリ配置方法に
ならって、データを次元座標の入れ子順に線形配置する
方法、多次元のデータ空間を有効な値をもつデータが粗
に分布する部分空間と密に分布する空間の直積に分けら
れると仮定して、後者の部分空間のうち空でないものに
ついてのみ記憶域を割当て、前者の部分空間に対応する
ポインタ配列で前記記憶域をポイントする方法(米国特
許番号05359724)、リレーショナルモデルのレ
コードデータの各属性を次元と考え、この次元で構成さ
れるデータ空間を直方体状のブロックに分割し、同一ブ
ロックに属するレコードを格納するページを割当て、ブ
ロックの座標とページの対応を記録するインデックスを
作成するグリッドファイル方式(Nievergelt, J., et a
l., *The Grid File: An Adaptable, Symmetric Multik
ey File Structure*, ACM Transactions on Database S
ystems, vol.9, no.1, pp.38-71, 1984.)がある。
【0004】データ検索は、並列処理の適用によっても
高速化できる。この場合、並列読出し可能な複数の記憶
装置に、データをどう割振って格納するかということが
問題になる。リレーショナルデータベース管理システム
では、ラウンドロビン分割、ハッシュ分割、レンジ分割
等の方法が用いられている(DeWitt, D., et al., *The
Gamma Database Machine Project*, IEEE Transaction
s on Knowledge and Data Engineering, vol.2, no.1,
pp.44-63, 1990.)。
【0005】多次元データベース管理システムにおける
データ集約の代表的な高速化手法は、データベースにデ
ータを読込む際に集約計算を済ませ結果を保存(実体
化)するという方法である(Pendse, N., and Creeth,
R.F., *The OLAP Report*, pp.69-77, Business Intell
igence, 1995.)。集約要求があったときは、実体化し
てある集約データを読み出すだけでよい。しかし、多次
元の素データをさまざまに集約して得られる集約データ
の総量は、次元の増大や集約の詳細レベルを決める次元
階層の増大とともに組合せ爆発を起こすことが知られて
おり(前掲書)、考えられる集約データをすべて実体化
することは、大規模なデータベースでは不可能になる。
この問題に対処するため、性能劣化を最小限に抑えなが
ら、実体化対象とする集約データを制限する方法(Hari
narayan, V., et al., *Implementing Data Cubes Effi
ciently*, Submitted for publication, also availabl
e from http://www-db.stanford.edu/pub/harinarayan/
1995/cube.ps.)も提案されている。
【0006】リレーショナルデータベース管理システム
で集約計算を行うときの代表的な手順は、集約するテー
ブルのレコードをデータベースから読出し、集約計算の
演算対象となる一連のレコードが連続した並びとなるよ
うソートし、ソートしたレコードに対し逐次、集約計算
を行うというものである。この方法は、データ読出し、
ソート、集約計算という処理の流れに、並列処理を適用
することで高速化が可能である。
【0007】
【発明が解決しようとする課題】多次元データの検索の
高速化は、検索対象データの格納位置の決定の高速化
と、データの見かけ上の読出し速度の高速化、並列処理
の適用による高速化とに分けて考えることができる。デ
ータ読出し速度の高速化には、ページ当りのデータ読出
し効率やページバッファリングの効率が影響し、これら
はさらに、関連データがどれだけかたまって同一ページ
に格納されるかというクラスタリングの影響や、多次元
のデータ空間に粗に分布する有効データを圧縮してペー
ジに割当てる際の圧縮率の影響を受ける。また、多次元
データの集約の高速化の問題は、実体化する集約データ
の範囲を適切に管理する問題と、実体化されていない集
約データが要求された時に集約計算を高速に処理する問
題とに分けて考えることができる。
【0008】多次元データを単純に線形配置するデータ
格納方法は、データを格納したページを決定するページ
アドレシングをデータの多次元座標の計算で処理できる
という利点がある反面、粗データの圧縮が効果がない、
データ空間で隣接するデータどうしの物理的な配置距離
が次元方向によって大きく偏る、すなわちクラスタリン
グに偏りがある等の問題がある。米国特許番号0535
9724のデータ格納方法は、アドレシングの容易性と
粗データの圧縮格納を両立するという利点があるが、次
元の粗密への分類が明瞭でないと圧縮の効果がない、次
元の粗密の識別は一般に困難等の問題がある。グリッド
ファイルによるデータ格納方法は、アドレシングの容易
性、粗データの圧縮格納、クラスタリングに次元の偏り
がない等の利点があるが、多次元データモデルを前提に
考案されたものでないことから、次元情報を含むレコー
ド全体を格納単位とするため、ページのデータ格納効率
を悪くするという問題がある。
【0009】ラウンドロビン分割、ハッシュ分割、レン
ジ分割等の並列処理向けのデータ分割格納方法は、単純
な巡回割当て、または単一のキー値を使った割当てを行
うものであり、多次元データの特性を生かしたものとな
っていない。
【0010】データ読出し・ソート・集約計算手順によ
るデータ集約方法は、データ量が多い場合、ソート処理
でディスク等2次記憶装置を使うため、これが性能向上
の阻害要因となっている。
【0011】集約データの最適実体化方式は、実体化に
よる集約要求処理の高速化と、集約データ総量の組合せ
爆発の抑制をうまく両立させているが、集約データごと
の要求頻度の違いや、頻度の時間的な変化については十
分配慮されていない。
【0012】本発明の目的は、以上指摘した従来技術の
欠点、弱点を解消することにより、多次元データ分析向
けデータベース管理システムの基本機能である多次元デ
ータの検索機能(スライス機能)と集約機能を高速化す
る多次元データ処理方法を提供することにある。
【0013】
【課題を解決するための手段】上記目的は、以下の手順
により達成される。 1)複数の次元のメンバの組合せで識別されるデータを
記憶し、該データに関する問合せ要求を処理するデータ
ベース管理システムにおいて、記憶装置にデータを格納
する方法であって、各次元に属する複数のメンバをそれ
ぞれグループ分けし、前記記憶装置にインデクスを格納
する領域と複数のページを格納する領域を割当て、前記
複数のページには、データと、該データに対応する次元
メンバの組をコード表現した数値とを対にして格納し、
前記インデクスは、次元のメンバグループの各組合せに
それぞれ対応するエントリで構成し、前記エントリは、
ページを識別するページIDの格納域を含み、前記各エ
ントリに前記ページIDで関連付けられた各ページに
は、データに対応する次元メンバの組中の各メンバを、
前記グループ分けで対応づけられた次元メンバグループ
で置き換えた組が、該エントリに対応する次元メンバグ
ループの組と一致するデータを格納する過程。
【0014】2)複数の次元のメンバの組合せで識別さ
れるデータを記憶し、該データに関する問合せ要求を処
理するデータベース管理システムにおいて、記憶装置に
データを格納する方法であって、各次元のメンバにそれ
ぞれ一連の座標値を割当て、各データに対応する次元メ
ンバの座標値の組を該データのセル座標とし、各次元に
属する複数のメンバをそれぞれグループ分けし、該メン
バグループにそれぞれ一連の座標値を割当て、各データ
のセル座標中の各次元メンバ座標値を、前記グループ分
けで対応づけられた次元メンバグループの座標値で置き
換えた組を、該データのブロック座標とし、前記記憶装
置にインデクスを格納する領域と複数のページを格納す
る領域を割当て、前記複数のページには、データと、該
データのセル座標を数値コード化したセルIDとを対に
して格納し、前記インデクスは、次元のメンバグループ
の各組合せにそれぞれ対応するエントリで構成し、か
つ、エントリは対応するブロック座標について入れ子順
になるよう線形配置し、前記エントリは、ページを識別
するページIDの格納域を含み、前記各エントリに前記
ページIDで関連付けられた各ページには、該エントリ
に対応するブロック座標と同一のブロック座標をもつデ
ータを格納する過程。
【0015】3)複数の次元のメンバの組合せで識別さ
れるデータを記憶し、該データに関する問合せ要求を処
理するデータベース管理システムにおいて、記憶装置に
データを格納する方法であって、各次元のメンバにそれ
ぞれ一連の座標値を割当て、各データに対応する次元メ
ンバの座標値の組を該データのセル座標とし、各次元に
属する複数のメンバをそれぞれグループ分けし、該メン
バグループにそれぞれ一連の座標値を割当て、各データ
のセル座標中の各次元メンバ座標値を、前記グループ分
けで対応づけられた次元メンバグループの座標値で置き
換えた組を、該データのブロック座標とし、前記記憶装
置にインデクスを格納する領域と複数のページを格納す
る領域を割当て、前記複数のページには、データと、該
データのセル座標を数値コード化したセルIDとを対に
して格納し、前記インデクスは、次元のメンバグループ
の各組合せにそれぞれ対応するエントリで構成し、か
つ、エントリは対応するブロック座標について入れ子順
になるよう線形配置し、前記エントリは、ページを識別
するページIDの格納域を含み、前記各エントリに前記
ページIDで関連付けられた各ページには、該エントリ
に対応するブロック座標と同一のブロック座標をもつデ
ータを格納し、かつ、該データのページ中の格納位置
は、セルIDでソートした順に連続配置する過程。
【0016】4)複数の次元のメンバの組合せで識別さ
れるデータを記憶し、該データに関する問合せ要求を処
理するデータベース管理システムにおいて、記憶装置に
データを格納する方法であって、各次元のメンバにそれ
ぞれ一連の座標値を割当て、各データに対応する次元メ
ンバの座標値の組を該データのセル座標とし、各次元に
属する複数のメンバを座標値が連続する単位でそれぞれ
グループ分けし、該メンバグループにそれぞれ一連の座
標値を割当て、各データのセル座標中の各次元メンバ座
標値を、前記グループ分けで対応づけられた次元メンバ
グループの座標値で置き換えた組を、該データのブロッ
ク座標とし、各データのセル座標中の各次元メンバ座標
値を、該値から、該座標値のメンバと同じグループに属
するメンバの座標値のうちの最小値を差し引いた値で置
き換えた組を、該データの相対セル座標とし、各データ
に、該データのブロック座標を数値コード化した値が上
位桁部分、該データの相対セル座標を数値コード化した
値が下位桁部分となるセルIDを割当て、前記記憶装置
にインデクスを格納する領域と複数のページを格納する
領域を割当て、前記複数のページの本体部には、データ
と、該データのセルIDの下位桁部分とを対にして格納
し、前記複数のページのヘッダ部には、該ページの本体
部に格納されたデータのセルIDの上位桁部分を格納
し、前記インデクスは、次元のメンバグループの各組合
せにそれぞれ対応するエントリで構成し、かつ、エント
リは対応するブロック座標について入れ子順になるよう
線形配置し、前記エントリは、ページを識別するページ
IDの格納域を含み、前記各エントリに前記ページID
で関連付けられた各ページには、該エントリに対応する
ブロック座標と同一のブロック座標をもつデータを格納
し、かつ、該データのページ中の格納位置は、セルID
でソートした順に連続配置する過程。
【0017】5)複数の次元のメンバの組合せで識別さ
れるデータを記憶し、該データに関する問合せ要求を処
理するデータベース管理システムにおいて、記憶装置に
データを格納する方法であって、各次元のメンバにそれ
ぞれ一連の座標値を割当て、各データに対応する次元メ
ンバの座標値の組を該データのセル座標とし、各次元に
属する複数のメンバを座標値が連続する単位でそれぞれ
グループ分けし、該メンバグループにそれぞれ一連の座
標値を割当て、各データのセル座標中の各次元メンバ座
標値を、前記グループ分けで対応づけられた次元メンバ
グループの座標値で置き換えた組を、該データのブロッ
ク座標とし、各データのセル座標中の各次元メンバ座標
値を、該値から、該座標値のメンバと同じグループに属
するメンバの座標値のうちの最小値を差し引いた値で置
き換えた組を、該データの相対セル座標とし、前記記憶
装置にインデクスを格納する領域と複数の第1種のペー
ジと複数の第2種のページを格納する領域を割当て、前
記複数の第1種のページには、データと、該データのセ
ル座標を数値コード化したセルIDとを対にして格納
し、前記複数の第2種のページには、データを格納し、
前記インデクスは、次元のメンバグループの各組合せに
それぞれ対応するエントリで構成し、かつ、エントリは
対応するブロック座標について入れ子順になるよう線形
配置し、前記エントリは、ページを識別するページID
の格納域を含み、前記各エントリに前記ページIDで関
連付けられた第1種の各ページには、該エントリに対応
するブロック座標と同一のブロック座標をもつデータを
格納し、かつ、該データのページ中の格納位置は、セル
IDでソートした順に連続配置し、前記各エントリに前
記ページIDで関連付けられた第2種の各ページには、
該エントリに対応するブロック座標と同一のブロック座
標をもつデータを格納し、かつ、該データのページ中の
格納位置は、相対セル座標について入れ子順に線形配置
する過程。
【0018】6)複数の次元のメンバの組合せで識別さ
れるデータを記憶し、該データに関する問合せ要求を処
理するデータベース管理システムにおいて、データ検索
要求を処理する方法であって、各次元のメンバにそれぞ
れ一連の座標値を割当て、各データに対応する次元メン
バの座標値の組を該データのセル座標とし、各次元に属
する複数のメンバを座標値が連続する単位でそれぞれグ
ループ分けし、該メンバグループにそれぞれ一連の座標
値を割当て、各データのセル座標中の各次元メンバ座標
値を、前記グループ分けで対応づけられた次元メンバグ
ループの座標値で置き換えた組を、該データのブロック
座標とし、前記記憶装置にインデクスを格納する領域と
複数のページを格納する領域を割当て、前記複数のペー
ジには、データと、該データのセル座標を数値コード化
したセルIDとを対にして格納し、前記インデクスは、
次元のメンバグループの各組合せにそれぞれ対応するエ
ントリで構成し、かつ、エントリは対応するブロック座
標について入れ子順になるよう線形配置し、前記エント
リは、ページを識別するページIDの格納域を含み、前
記各エントリに前記ページIDで関連付けられた各ペー
ジには、該エントリに対応するブロック座標と同一のブ
ロック座標をもつデータを格納し、かつ、該データのペ
ージ中の格納位置は、セルIDでソートした順に連続配
置し、データ検索要求があった場合、データ検索要求に
指定された各次元のメンバ範囲に対応する座標範囲を割
当て、前記各次元のメンバ範囲に対応する座標範囲に対
応するメンバグループの一連の座標範囲を割当て、各次
元のメンバ範囲に対応する座標範囲に対応する各次元メ
ンバ範囲座標値を前記グループ分けで対応づけられた次
元メンバグループの座標範囲に対応する範囲座標値に置
き換えたブロック座標の組を検索要求の検索範囲とし、
検索要求で指定された多次元の参照順序に基づいてブロ
ック座標の組を参照し、参照したブロック座標の組に対
応する前記インデクスのエントリを計算しエントリに格
納されているページIDに対応するページからブロック
座標の組に対応する各次元のメンバ範囲に対応する座標
範囲と前記データ検索要求に指定された各次元のメンバ
範囲に対応する座標範囲に対応するセルIDを持ったデ
ータを検索し、かつ、前記データ検索要求に指定された
各次元のメンバ範囲に対応する座標範囲によって決まる
セルIDを用いて検索の開始位置をソートされたデータ
の連続配置位置から決める過程。
【0019】7)複数の次元のメンバの組合せで識別さ
れるデータを記憶し、該データに関する問合せ要求を処
理するデータベース管理システムにおいて、データ検索
要求を処理する方法であって、各次元のメンバにそれぞ
れ一連の座標値を割当て、各データに対応する次元メン
バの座標値の組を該データのセル座標とし、各次元に属
する複数のメンバを座標値が連続する単位でそれぞれグ
ループ分けし、該メンバグループにそれぞれ一連の座標
値を割当て、各データのセル座標中の各次元メンバ座標
値を、前記グループ分けで対応づけられた次元メンバグ
ループの座標値で置き換えた組を、該データのブロック
座標とし、各データのセル座標中の各次元メンバ座標値
を、該値から、該座標値のメンバと同じグループに属す
るメンバの座標値のうちの最小値を差し引いた値で置き
換えた組を、該データの相対セル座標とし、前記記憶装
置にインデクスを格納する領域と複数の第1種のページ
と複数の第2種のページを格納する領域を割当て、前記
複数の第1種のページには、データと、該データのセル
座標を数値コード化したセルIDとを対にして格納し、
前記複数の第2種のページには、データを格納し、前記
インデクスは、次元のメンバグループの各組合せにそれ
ぞれ対応するエントリで構成し、かつ、エントリは対応
するブロック座標について入れ子順になるよう線形配置
し、前記エントリは、ページを識別するページIDの格
納域を含み、前記各エントリに前記ページIDで関連付
けられた第1種の各ページには、該エントリに対応する
ブロック座標と同一のブロック座標をもつデータを格納
し、かつ、該データのページ中の格納位置は、セルID
でソートした順に連続配置し、前記各エントリに前記ペ
ージIDで関連付けられた第2種の各ページには、該エ
ントリに対応するブロック座標と同一のブロック座標を
もつデータを格納し、かつ、該データのページ中の格納
位置は、相対セル座標について入れ子順に線形配置し、
データ検索要求があった場合、データ検索要求に指定さ
れた各次元のメンバ範囲に対応する座標範囲を割当て、
前記各次元のメンバ範囲に対応する座標範囲に対応する
メンバグループの一連の座標範囲を割当て、各次元のメ
ンバ範囲に対応する座標範囲に対応する各次元メンバ範
囲座標値を前記グループ分けで対応づけられた次元メン
バグループの座標範囲に対応する範囲座標値に置き換え
たブロック座標の組を検索要求の検索範囲とし、検索要
求で指定された多次元の参照順序に基づいてブロック座
標の組を参照し参照したブロック座標の組に対応する前
記インデクスのエントリを計算しエントリに格納されて
いるページIDに対応するページから前記第1種のペー
ジに関してブロック座標の組に対応する各次元のメンバ
範囲に対応する座標範囲と前記データ検索要求に指定さ
れた各次元のメンバ範囲に対応する座標範囲に対応する
セルIDを持ったデータを検索し、かつ、前記データ検
索要求に指定された各次元のメンバ範囲に対応する座標
範囲によって決まるセルIDを用いて検索の開始位置を
ソートされたデータの連続配置位置から決める前記第2
種のページに関してブロック座標の組に対応する各次元
のメンバ範囲に対応する座標範囲と前記データ検索要求
に指定された各次元のメンバ範囲に対応する座標範囲に
内包されるセルIDを持ったデータを検索し、かつ、前
記ブロック座標の組に対応する各次元のメンバ範囲に対
応する座標範囲に対応して決まるセルIDを用いて入れ
子順に線形配置したデータの検索開始位置を決める過
程。
【0020】8)1つまたは複数のCPUと、1つまた
は複数の並列読出し可能な複数の記憶装置を含む処理ノ
ードを有し、複数の次元のメンバの組合せで識別される
データを記憶し、該データに関する問合せ要求を処理す
るデータベース管理システムにおいて、前記複数の記憶
装置にデータを格納する方法であって、各次元のメンバ
にそれぞれ一連の座標値を割当て、各データに対応する
次元メンバの座標値の組を該データのセル座標とし、各
次元に属する複数のメンバをそれぞれグループ分けし、
該メンバグループにそれぞれ一連の座標値を割当て、各
データのセル座標中の各次元メンバ座標値を、前記グル
ープ分けで対応づけられた次元メンバグループの座標値
で置き換えた組を、該データのブロック座標とし、前記
各処理ノードに含まれる各記憶装置に複数のページを格
納する領域をそれぞれ割当て、ブロック座標空間で次元
のある対角面に並行で、かつ、隣合う超平面上に位置す
る2つのデータが互いに異なる記憶装置のページに割当
てられるようにデータを格納する過程。
【0021】9)複数の次元のメンバの組合せで識別さ
れるデータを記憶し、該データに関する問合せ要求を処
理するデータベース管理システムにおいて、記憶装置に
任意の元データを格納する方法であって、複数の元デー
タの複数のフィールドに対応する複数の次元の個々のメ
ンバの元データ件数を数え上げ、各次元のメンバにそれ
ぞれ一連の座標値を割当て、各次元に属する複数のメン
バを座標値が連続する単位でそれぞれグループ分けし、
前記グループ分けにおいてある次元に属する複数のメン
バの持つ元データ件数の総和が同じになるようにそれぞ
れグループ分けし、該メンバグループにそれぞれ一連の
座標値を割当て、前記記憶装置にインデクスを格納する
領域と複数のページを格納する領域を割当て、元データ
を読み、元データの複数のフィールドに対応する複数の
次元の個々のメンバに対応するセル座標を数値コード化
したセルIDと元データの上記複数次元に対応しないフ
ィールドを対にしてデータを構成し、前記データを作業
記憶領域に格納し、全ての元データに前記を適用し、前
記インデクスは、次元のメンバグループの各組合せにそ
れぞれ対応するエントリで構成し、かつ、エントリは対
応するブロック座標について入れ子順になるよう線形配
置し、前記エントリは、ページを識別するページIDの
格納域を含み、前記作業記憶領域中のデータに対してデ
ータをセルIDをキーとしてソートし、作業領域のデー
タのセルIDに対応する複数の次元の座標値に対応する
前記グループ分けで対応づけられた次元メンバグループ
の座標値で置き換えた組に対応する前記インデクスのエ
ントリを計算し、前記各エントリに前記ページIDで関
連付けられた各ページに作業領域から取り出したデータ
を格納し、該エントリに対応するブロック座標と同一の
ブロック座標をもつデータを格納する過程。
【0022】10)複数の次元のメンバの組合せで識別
されるデータを記憶し、該データに関する問合せ要求を
処理するデータベース管理システムにおいて、各次元が
もつメンバの階層構造をもとに規定されるデータ集約要
求を処理する方法であって、各次元のメンバに、同一の
上位メンバをもつものどうしで値が連続するように、そ
れぞれ一連の座標値を割当て、各データに対応する次元
メンバの座標値の組を該データのセル座標とし、各次元
に属する複数のメンバをそれぞれグループ分けし、該メ
ンバグループにそれぞれ一連の座標値を割当て、各デー
タのセル座標中の各次元メンバ座標値を、前記グループ
分けで対応づけられた次元メンバグループの座標値で置
き換えた組を、該データのブロック座標とし、2次記憶
装置にインデクスを格納する領域と複数のページを格納
する領域を割当て、前記複数のページには、データと、
該データのセル座標を数値コード化したセルIDとを対
にして格納し、前記インデクスは、次元のメンバグルー
プの各組合せにそれぞれ対応するエントリで構成し、か
つ、エントリは対応するブロック座標について入れ子順
になるよう線形配置し、前記エントリは、ページを識別
するページIDの格納域を含み、前記各エントリに前記
ページIDで関連付けられた各ページには、該エントリ
に対応するブロック座標と同一のブロック座標をもつデ
ータを格納し、データ集約要求があった場合、1次記憶
装置に集約計算の中間結果を格納する領域を割当て、集
約計算の演算対象となる一連のデータを格納するページ
を順次、1次記憶装置に読込ながら、前記中間結果格納
領域のデータに集約することにより、集約計算の最終結
果を得る過程。
【0023】11)複数の次元のメンバの組合せで識別
されるデータを記憶し、該データに関する問合せ要求を
処理するデータベース管理システムにおいて、各次元が
もつメンバの階層構造をもとに規定されるデータ集約要
求を処理する方法であって、各次元のメンバに、同一の
上位メンバをもつものどうしで値が連続するように、そ
れぞれ一連の座標値を割当て、各データに対応する次元
メンバの座標値の組を該データのセル座標とし、各次元
に属する複数のメンバをそれぞれグループ分けし、該メ
ンバグループにそれぞれ一連の座標値を割当て、各デー
タのセル座標中の各次元メンバ座標値を、前記グループ
分けで対応づけられた次元メンバグループの座標値で置
き換えた組を、該データのブロック座標とし、2次記憶
装置にインデックスを格納する領域と複数のページを格
納する領域を割当て、前記複数のページには、データ
と、該データのセル座標を数値コード化したセルIDと
を対にして格納し、前記インデックスは、次元のメンバ
グループの各組合せにそれぞれ対応するエントリで構成
し、かつ、エントリは対応するブロック座標について入
れ子順になるよう線形配置し、前記エントリは、ページ
を識別するページIDの格納域を含み、前記各エントリ
に前記ページIDで関連付けられた各ページには、該エ
ントリに対応するブロック座標と同一のブロック座標を
もつデータを格納し、データ集約要求があった場合、1
次記憶装置に集約計算の中間結果を格納する領域を割当
て、集約する1つまたは複数の次元のメンバグループの
座標値を任意の次元について優先的に順次変化させ、集
約計算の演算対象となるデータのメンバグループの組合
せを決定し、前記インデクスの前記メンバグループの組
合せに対応するエントリのページIDで識別されるペー
ジを順次、1次記憶装置に読込みながら、前記中間結果
格納領域のデータに集約することにより、集約計算の最
終結果を得る過程。
【0024】12)1つまたは複数のCPUと、1つま
たは複数の並列読出し可能な複数の記憶装置を含む処理
ノードを有し、複数の次元のメンバの組合せで識別され
るデータを記憶し、該データに関する問合せ要求を処理
するデータベース管理システムにおいて、各次元がもつ
メンバの階層構造をもとに規定されるデータ集約要求を
処理する方法であって、各次元のメンバにそれぞれ一連
の座標値を割当て、各データに対応する次元メンバの座
標値の組を該データのセル座標とし、各次元に属する複
数のメンバをそれぞれグループ分けし、該メンバグルー
プにそれぞれ一連の座標値を割当て、各データのセル座
標中の各次元メンバ座標値を、前記グループ分けで対応
づけられた次元メンバグループの座標値で置き換えた組
を、該データのブロック座標とし、前記各処理ノードに
含まれる2次記憶装置にインデクスを格納する領域と複
数のページを格納する領域をそれぞれ割当て、前記複数
のページには、データと、該データのセル座標を数値コ
ード化したセルIDとを対にして格納し、前記インデッ
クスは、次元のメンバグループの各組合せにそれぞれ対
応するエントリで構成し、かつ、エントリは対応するブ
ロック座標について入れ子順になるよう線形配置し、前
記エントリは、ページを識別するページIDの格納域を
含み、前記各エントリに前記ページIDで関連付けられ
た各ページには、該エントリに対応するブロック座標と
同一のブロック座標をもつデータを格納し、データ集約
要求があった場合、前記各処理ノードに含まれる1次記
憶装置に集約計算の中間結果を格納する領域を割当て、
前記各処理ノードに含まれる各記憶装置から集約計算の
演算対象となる一連のデータを格納するページを順次、
該処理ノードに含まれる1次記憶装置に読込みながら、
前記中間結果格納領域のデータに集約し、前記各中間結
果格納領域のデータを併合することで、集約計算の最終
結果を得る過程。
【0025】13)1つまたは複数のCPUと、1つま
たは並列読出し可能な複数の記憶装置を含む複数の処理
ノードを有し、複数の次元のメンバの組合せで識別され
るデータを記憶し、該データに関する問合せ要求を処理
するデータベース管理システムにおいて、各次元がもつ
メンバの階層構造をもとに規定されるデータ集約要求を
処理する方法であって、各次元のメンバにそれぞれ一連
の座標値を割当て、各データに対応する次元メンバの座
標値の組を該データのセル座標とし、各次元に属する複
数のメンバをそれぞれグループ分けし、該メンバグルー
プにそれぞれ一連の座標値を割当て、各データのセル座
標中の各次元メンバ座標値を、前記グループ分けで対応
づけられた次元メンバグループの座標値で置き換えた組
を、該データのブロック座標とし、前記各処理ノードに
含まれる2次記憶装置にインデクスを格納する領域と複
数のページを格納する領域をそれぞれ割当て、前記複数
のページには、データと、該データのセル座標を数値コ
ード化したセルIDとを対にして格納し、前記インデッ
クスは、次元のメンバグループの各組合せにそれぞれ対
応するエントリで構成し、かつ、エントリは対応するブ
ロック座標について入れ子順になるよう線形配置し、前
記エントリは、ページを識別するページIDの格納域を
含み、前記各エントリに前記ページIDで関連付けられ
た各ページには、該エントリに対応するブロック座標と
同一のブロック座標をもつデータを格納し、データ集約
要求があった場合、前記各処理ノードに含まれる1次記
憶装置に集約計算の中間結果を格納する領域を割当て、
集約する1つまたは複数の次元のメンバグループの座標
値を任意の次元について優先的に順次変化させ、集約計
算の演算対象となるデータのメンバグループの組合せを
決定し、前記各処理ノードに含まれる各記憶装置から前
記インデクスの前記メンバグループの組合せに対応する
エントリのページIDで識別されるページを順次、1次
記憶装置に読込みながら、前記中間結果格納領域のデー
タに集約し、前記各中間結果格納領域のデータを併合す
ることで、集約計算の最終結果を得る過程。
【0026】14)1つまたは複数のCPUと、1つま
たは複数の並列読出し可能な複数の記憶装置を含む処理
ノードを有し、複数の次元のメンバの組合せで識別され
るデータを記憶し、該データに関する問合せ要求を処理
するデータベース管理システムにおいて、各次元がもつ
メンバの階層構造をもとに規定されるデータ集約要求を
処理する方法であって、各次元のメンバにそれぞれ一連
の座標値を割当て、各データに対応する次元メンバの座
標値の組を該データのセル座標とし、各次元に属する複
数のメンバをそれぞれグループ分けし、該メンバグルー
プにそれぞれ一連の座標値を割当て、各データのセル座
標中の各次元メンバ座標値を、前記グループ分けで対応
づけられた次元メンバグループの座標値で置き換えた組
を、該データのブロック座標とし、前記各処理ノードに
含まれる2次記憶装置にインデクスを格納する領域と複
数のページを格納する領域をそれぞれ割当て、ブロック
座標空間で次元のある対角面に平行で、かつ、隣合う超
平面上に位置する2つのデータを互いに異なる記憶装置
のページに割当て、同一記憶装置に割当てられる対角面
上の一連のデータが記憶装置の連続するページに割当て
られるようにデータを格納し、前記複数のページには、
データと、該データのセル座標を数値コード化したセル
IDとを対にして格納し、前記インデックスは、次元の
メンバグループの各組合せにそれぞれ対応するエントリ
で構成し、かつ、エントリは対応するブロック座標につ
いて入れ子順になるよう線形配置し、前記エントリは、
ページを識別するページIDの格納域を含み、前記各エ
ントリに前記ページIDで関連付けられた各ページに
は、該エントリに対応するブロック座標と同一のブロッ
ク座標をもつデータを格納し、データ集約要求があった
場合、前記各処理ノードに含まれる1次記憶装置に集約
計算の中間結果を格納する領域を割当て、前記1次記憶
装置の領域に同時に格納できる集約計算結果のブロック
座標空間内の範囲を決定し、ブロック座標空間の対角面
上の一連のデータを連続的に読み出す順にメンバグルー
プの組合せを求め、前記各処理ノードに含まれる各記憶
装置から前記インデクスの前記メンバグループの組合せ
に対応するエントリのページIDで識別されるページを
順次、1次記憶装置に読込みながら、前記中間結果格納
領域のデータに集約し、前記各中間結果格納領域のデー
タを併合することで、集約計算の最終結果を得る過程。
【0027】15)複数の次元のメンバの組合せで識別
されるデータを記憶し、該データに関する問合せ要求を
処理するデータベース管理システムにおいて、事前に集
約計算を実行して格納する対象のデータを決定し、格納
する方法であって、一部分の集約計算処理を事前に実行
し、前記集約計算処理によって生成されるデータの集合
を記憶装置に格納し、前記格納したデータ、または、各
次元がもつメンバの階層構造をもとに規定されるデータ
の集約要求を受けて生成するデータの参照頻度を監視
し、前記参照頻度の分布から記憶装置に格納するデータ
の集合を更新する契機を判定し、前記参照頻度を各次元
がもつメンバの階層構造をもとに規定されるデータの重
みとして事前に集約計算を実行して格納する対象のデー
タを決定し、前記決定したデータを生成するためのデー
タ集約要求が発行された場合にデータ集約処理を実行
し、前記決定したデータを記憶装置に格納する過程。
【0028】
【発明の実施の形態】図1は、本発明の一実施例である
多次元データベース管理システムの処理ブロック構成を
示す図である。
【0029】多次元問合せ処理は、クライアントからの
問合せを各プロセサに対して実行指示し、各プロセサか
らの結果を記録、クライアントからの要求により検索結
果を返却する。集約データ最適実体処理は、最適な集約
データの実体化対象を選択すると共に、実体化されてい
ない集約データ生成の生成指示を行う。多次元スキャン
処理はキューブデータを検索する。多次元インサート処
理はキューブデータにセルデータを追加する。集約計算
処理は複数のセルデータを集約し集約セルデータ化す
る。データ併合は複数のプロセサの任意処理から転送さ
れるセルデータを任意の順序に基づいて併合する処理で
ある。データ分配はセルデータ内容に基づいて、セルデ
ータを任意のプロセサの任意処理へ転送する。
【0030】クライアント101はWAN/LAN10
2を経由して多次元データベース管理システムと接続す
る。プロセサ103及び106から111は相互結合ネ
ットワーク115で接続する。104は多次元データベ
ース管理情報である。105及び112から114は多
次元ブロックインデクスである。
【0031】クライアント101から要求される問合せ
は多次元問合せ要求処理で処理される。多次元問合せ要
求処理は問合せを各プロセサ(プロセサ106から11
1)に存在する多次元スキャン処理に転送する。多次元
スキャン処理は問合せを満足するセルデータをキューブ
データから検索する。個々のプロセサに存在する多次元
スキャン処理の結果はデータ分配を経由せず、プロセサ
103に存在するデータ併合によって併合し、併合結果
を検索結果データとして記録する。検索結果データはク
ライアント101の参照要求によりWAN/LAN10
2を経由してクライアント101に返却する。集約デー
タ最適実体化処理は最適な集約キューブデータを選択、
要求時実体化処理を制御する。要求時実体化処理が要求
されると、多次元スキャン処理は集約対象セルデータを
検索して、集約計算処理を行う各プロセサ(プロセサ1
06から111)へデータ分配する。集約計算処理は各
多次元スキャン処理から転送されるセルデータに対して
集約計算を行い集約結果としてのセルデータを生成す
る。集約結果セルデータは適切なプロセサのキューブデ
ータに格納するためにデータ分配を経由して任意プロセ
サへ集約結果セルデータを分配する。各プロセサ(プロ
セサ106から111)は各集約計算処理からデータ分
配されたセルデータをデータ併合し、多次元インサート
処理を経由してキューブデータに記録する。
【0032】図2は、多次元データベースにおけるデー
タモデル定義形式を示す図である。多次元データベース
を定義するには、モデル名201、次元名202、次元
メンバ名203、変数名204、及び集約関数名205
を定義する。
【0033】201は、モデルの名称を定義する文であ
る。モデルは多次元データベースの論理的な構造を表現
したものである。202は、モデルの次元を定義する文
である。モデルの次元はデータの集まりを分類する観点
を表現したものであり、その次元を構成するメンバ(次
元メンバ)から構成される。データの集まりはセル単位
で分類される。203は、次元メンバの階層関係を定義
する文である。この定義文は、<親メンバ名>で指定さ
れた次元メンバの下位のメンバが、<子メンバ名>のリ
ストで指定された次元メンバで構成される事を意味す
る。
【0034】204は変数を定義する文である。変数は
複数のデータから構成され、前記セルは、変数からな
り、<変数名>で指定された変数のデータ型が<データ
型名>であることを意味する。205はデータモデルで
用いる集約計算の関数を定義する文である。下位メンバ
のセル値を集約して上位メンバの値を求める際、<集約
関数名>で指定された関数を使って集約値を計算するこ
とを意味する。
【0035】図3は、多次元データベースの具体的なデ
ータモデル定義例を示す図である。この例はある会社の
プロセサ売り上げ分析301を想定したものであり、
「商品」、「マーケット」、「期間」の3次元302を
持つ。変数は売上予算319及び売上実算320であ
る。データの集約計算321は、各次元毎に売り上げデ
ータを合計することにより行う。各次元の次元階層は図
4(「商品」の次元階層)、図5(「マーケット」の次
元階層)、図6(「期間」の次元階層)に示す。
【0036】次元「商品」の下には、商品の分類である
「PC」、「WS」が階層として定義されている(30
3)。
【0037】「PC」の下にはPCの分類である「デス
クトップ」、「ノートPC」、「PCサーバ」が階層と
して定義されている(304)。「WS」の下にはWS
の機種である「3050」、「3500」が階層として
定義されている(308)。
【0038】「デスクトップ」の下にはデスクトップ機
種である「DM1」、「DS1」が階層として定義され
ている(305)。「ノートPC」の下にはノートPC
機種である「ND1」、「NS1」が階層として定義さ
れている(306)。「PCサーバ」の下にはPCサー
バ機種である「3100LP」、「3100SP」が階
層として定義されている(307)。
【0039】次元「マーケット」の下には、マーケット
の分類である「関東」、「関西」が階層として定義され
ている(309)。「関東」の下には「東京」、「千
葉」、「神奈川」が階層として定義されている(31
0)。「関西」の下には「大阪」、「兵庫」、「京都」
が階層として定義されている(311)。
【0040】次元「期間」の下には、「94年度」、
「95年度」が階層として定義されている(312)。
「94年度」の下には「94年度上期」、「94年度下
期」が階層として定義されている(313)。「94年
度上期」の下には上期の各月である「94年4月」から
「94年9月」が階層として定義されている(31
4)。「94年度下期」の下には下期の各月である「9
4年10月」から「95年3月」が階層として定義され
ている(315)。
【0041】同様に「95年度」の下には「95年度上
期」、「95年度下期」が階層として定義されている
(316)。「95年度上期」の下には「95年4月」
から「95年9月」が階層として定義されている(31
7)。「95年度下期」の下には「95年10月」から
「96年3月」が階層として定義されている(31
8)。
【0042】図7は、図3の多次元データベースの素デ
ータを論理的な空間として表した図である。元データを
多次元データベースに格納したものが素データキューブ
である。この図では左右軸が「期間」、上下軸が「マー
ケット」、奥行き軸が「商品」である。特定の次元のあ
るメンバを選択すると、素データを、選択された軸に沿
って取り出すことができる。データベースの次元毎にメ
ンバを一つ選択すると、選択された各次元のメンバ値が
交差する箇所のデータを取り出すことができる。
【0043】図8は、図7の素データと各次元の集約デ
ータを論理的な空間として表した図である。この図では
801が素データである。集約データは、集約する次元
軸に沿って、集約される。
【0044】このデータを「期間」の次元で集約してい
くと、805が「94年度上期」、「94年度下期」、
「95年度上期」、「95年度下期」で集約したデー
タ、809が「94年度」、「95年度」で集約したデ
ータ、813が「期間」で集約したデータである。
【0045】素データを「商品」の次元で集約していく
と、802が「デスクトップ」、「ノートPC」、「P
Cサーバ」で集約したデータ、803が「PC」、「W
S」で集約したデータ、804が「商品」で集約したデ
ータである。
【0046】805の集約データを「商品」の次元で集
約していくと、806が素データを「94年度上期」、
「94年度下期」、「95年度上期」、「95年度下
期」と「デスクトップ」、「ノートPC」、「PCサー
バ」で集約したデータ、807が素データを「94年度
上期」、「94年度下期」、「95年度上期」、「95
年度下期」と「PC」、「WS」で集約したデータ、8
08が素データを「94年度上期」、「94年度下
期」、「95年度上期」、「95年度下期」と「商品」
で集約したデータである。
【0047】809の集約データを「商品」の次元で集
約していくと、810が素データを「94年度」、「9
5年度」と「デスクトップ」、「ノートPC」、「PC
サーバ」で集約したデータ、811が素データを「94
年度」、「95年度」と「PC」、「WS」で集約した
データ、812が素データを「期間」と「商品」で集約
したデータである。
【0048】813の集約データを「商品」の次元で集
約していくと、814が素データを「期間」と「デスク
トップ」、「ノートPC」、「PCサーバ」で集約した
データ、815が素データを「期間」と「PC」、「W
S」で集約したデータ、816が素データを「期間」と
「商品」で集約したデータである。
【0049】804の集約データを「マーケット」の次
元で集約していくと、817が「商品」と「関東」、
「関西」で集約したデータ、818が「商品」と「マー
ケット」で集約したデータである。
【0050】808の集約データを「マーケット」の次
元で集約していくと、819が「94年度上期」、「9
4年度下期」、「95年度上期」、「95年度下期」、
「商品」と「関東」、「関西」で集約したデータ、82
0が「94年度上期」、「94年度下期」、「95年度
上期」、「95年度下期」、「商品」と「マーケット」
で集約したデータである。
【0051】812の集約データを「マーケット」の次
元で集約していくと、821が「94年度」、「95年
度」、「商品」と「関東」、「関西」で集約したデー
タ、822が「94年度」、「95年度」、「商品」と
「マーケット」で集約したデータである。
【0052】813の集約データを「マーケット」の次
元で集約していくと、825が「期間」、「商品」と
「関東」、「関西」で集約したデータ、826が「期
間」、「商品」と「マーケット」で集約したデータであ
る。
【0053】814の集約データを「マーケット」の次
元で集約していくと、827が「期間」、「デスクトッ
プ」、「ノートPC」、「PCサーバ」と「関東」、
「関西」で集約したデータ、828が「期間」、「デス
クトップ」、「ノートPC」、「PCサーバ」と「マー
ケット」で集約したデータである。
【0054】815の集約データを「マーケット」の次
元で集約していくと、829が「期間」、「PC」、
「WS」と「関東」、「関西」で集約したデータ、83
0が「期間」、「PC」、「WS」と「マーケット」で
集約したデータである。
【0055】816の集約データを「マーケット」の次
元で集約していくと、823が「期間」、「商品」と
「関東」、「関西」で集約したデータ、824が「期
間」、「商品」と「マーケット」の全次元で集約したデ
ータである。
【0056】図9は、本発明が適用されるハードウェア
構成の一例を示すものである。具体的には、図9は、多
次元データベース管理システムでの適用例である。クラ
イアント901から904は、WAN/LANである9
05で接続される。プロセサ906、ハードディスク装
置907、プロセサ909から911及びハードディス
ク装置912から920は相互結合ネットワーク908
で接続される。ハードディスク装置907にはシステム
管理情報が格納されている。
【0057】クライアント901から904は、多次元
データベースの検索要求を、WAN/LAN905を経
由してプロセサ906に送信する。プロセサ906は問
合せの検索要求を解析し、問合せの実行内容を決定後、
相互結合ネットワーク908を経由してプロセサ909
から911に処理を振り分ける。プロセサ909から9
11の処理結果を併合した結果は、ハードディスク装置
907に格納され、クライアント901から904に返
される。
【0058】図10は、図1の多次元データベース管理
システムを、異なる構成で構築した多次元データベース
管理システムの処理ブロック構成を示す図である。クラ
イアント1001は、WAN/LAN1002によって
多次元データベース管理システムに接続される。FES
(フロント・エンド・サ−バ)1003、BES(バッ
ク・エンド・サ−バ)1006から1008は相互結合
ネットワーク1012で接続されている。1005及び
1009から1011は多次元ブロックインデクスであ
る。1004は多次元データベース管理情報である。
【0059】FES1003は、クライアントからの問
合せを解析し、その問合せの実行を各BESに要求す
る。その後、各BESからの問合せの結果を併合してク
ライアントに返却する。また集約データ最適実体化処理
を行い、最適な集約キューブデータの選択と要求時集約
計算の実行指示並びに集約計算を行う。BES(100
6から1008)は多次元ブロックインデクス、キュー
ブデータを保持し、FES1003から実行を要求され
た問合せの実行を行う。
【0060】多次元データベース管理システムで集約計
算を行う場合は、取り出しフェーズ(多次元スキャン処
理、データ分配)、集約フェーズ(データ併合、集約計
算処理、データ分配処理)、格納フェーズ(データ併
合、多次元インサート処理)がパイプライン的に実行さ
れる。図1の構成では、これらの処理フェーズがそれぞ
れ異なるプロセサで実行され、図10の構成では、これ
らの処理フェーズが同じプロセサで実行される。
【0061】図11は多次元データベース格納構造を示
す図である。FES1101は、クライアントからの問
合せを解析し、その問合せの実行を各BESに要求す
る。その後、各BESからの問合せの結果を併合してク
ライアントに返却する。また集約データ最適実体化処理
を行い、最適な集約キューブデータの選択と要求時集約
計算の実行指示並びに集約計算を行う。
【0062】BES1からBES4(1102から11
05)は多次元ブロックインデクス、キューブデータを
保持し、FESから実行を要求された問合せの実行を行
う。HD1からHD4(1111から1114)はハー
ドディスクと呼ばれる記録媒体の一例であり、多次元ブ
ロックインデクス、キューブデータを格納する。
【0063】FES多次元ブロック化メンバ範囲テーブ
ル1120はFES多次元ブロックインデクス1130
のブロック化メンバ範囲情報を保持する。ブロック化メ
ンバ範囲はあるメンバIDからあるメンバIDのことで
ある。ブロック化メンバ範囲情報はあるメンバIDから
あるメンバIDまでがどのブロックIDに対応するかの
対応情報である。BES多次元ブロック化メンバ範囲テ
ーブル1121はBES多次元ブロックインデクス11
31の各次元のブロック化メンバ範囲を保持する。
【0064】キューブデータ1140はセルデータ群を
ブロック化して記録媒体に格納する。ブロック化とは各
次元のブロック化メンバ範囲情報により決まる多次元論
理データ空間を任意の物理領域に対応させ、その物理領
域にブロック化メンバ範囲内のセルデータのみを存在さ
せることである。オーバフローファイル1150はキュ
ーブデータ上の物理領域に格納できなかったセルデータ
を格納する。
【0065】図12は本発明におけるセルデータ格納ペ
ージの対角割当て方法を示す図である。
【0066】以下の説明では「商品」、「マーケッ
ト」、「期間」の3つの次元から構成された多次元デー
タベースモデルを想定する。各次元のブロック化メンバ
範囲の個数はそれぞれ3つあるとする。
【0067】ある多次元の各次元のメンバの直積空間を
多次元論理データ空間と呼ぶ。多次元論理データ空間を
構成する各次元のメンバ範囲テーブルに従い空間のひと
つ以上のセルをブロックにまとめたものを、多次元論理
ブロック空間と呼ぶ。 この時、多次元論理ブロック空
間は立方体1201の構成になる。立方体は3×3×3
=27個のブロックIDを持つ。
【0068】セルデータを格納する資源を上記各ブロッ
クIDに対応して割当てる。この時、ある次元軸に隣接
するブロックID値の割当て資源がそれぞれ異なる資源
に割当てられるように資源を割当てる。
【0069】本例では以下のように資源を割当てる。
(尚、資源の番号はBES1のHD1を1、BES1の
HD2を2、BES2のHD1を3、BES2のHD2
を4とする。また商品次元を資源割当て次元と仮定す
る。資源割当て次元はその次元に沿って資源を割当てる
次元である。) 初期資源割当てを以下とする。 商品次元の初期資源割当て ブロックID(1、1、1)→資源番号 1 ブロックID(2、1、1)→資源番号 2 ブロックID(3、1、1)→資源番号 3 マーケット次元の初期資源割当て ブロックID(1、1、1)→資源番号 1 ブロックID(1、2、1)→資源番号 2 ブロックID(1、3、1)→資源番号 3 期間次元の初期資源割当て ブロックID(1、1、1)→資源番号 1 ブロックID(1、1、2)→資源番号 2 ブロックID(1、1、3)→資源番号 3 開始ブロックID(1、1、1)から各次元のメンバ範
囲の昇順方向に順番に資源番号を割当てる。割当てる資
源番号がなくなった場合、最初の資源番号から再度、割
当てる。
【0070】上記初期資源割当てを行い、初期資源割当
てを行ったブロックIDの対角ブロックIDに対して同
一資源番号を割当てる。たとえば、ブロックID(1、
1、1)は資源番号1が割当てる。その対角ブロックI
D(2、2、2)と(3、3、3)に対しても同様に資
源番号1が割当てる。
【0071】対角ブロックID(2、2、2)の資源番
号1が割当てられると、資源割当て次元に沿って資源番
号を割当てる。割当て次元の隣接ブロックが異なる資源
となるように1つ上の軸のブロックには現ブロック資源
番号ー1を、1つ下の軸のブロックには現ブロック資源
番号+1を割当てる。ブロックID(2、2、2)場
合、資源割当て次元に沿った割当ては以下となる。
【0072】ブロックID(2、2、2) 資源番号1 「商品」次元の上位次元座標ブロックID(1、2、
2)→割当て資源番号4(1ー1=0となり最後の4か
ら再度割当て) 「商品」次元の下位次元座標ブロックID(3、2、
2)→割当て資源番号2 上記資源割当てを初期資源割当てされたブロックIDか
ら対角方向のブロックIDに対して適用したのが、12
02から1205に示す分解した3つの3×3平面(破
線で記述)の実線で囲まれたブロックIDである。その
ブロックIDを同一資源番号に割当てる。
【0073】次に対角上のブロックIDに連続的に資源
を割当てるような資源割当てを行う。例えば資源番号1
に割当てられたブロックID(1、1、1)(2、2、
2)(3、3、3)をBES1のHD1上の物理領域配
置において連続的に読み出すことが可能なような資源割
当てを行う。連続的に読み出すとは、ハードディスクの
場合、読み出し用ヘッドがシリンダ上の位置を移動する
ことなく連続的にデータを読む状態を言う。上記資源割
当てによりブロックIDにページIDを付与した結果が
1210から1241に示すページIDとページの並び
の構成である。
【0074】上記方法を適用することにより「商品」、
「マーケット」、「期間」の多次元論理データ空間12
01は異なるBES上のあるハードディスク1210か
ら1241に示す各資源に対角にブロックIDが割当て
られ、かつ対角上のブロックIDが資源上の領域として
連続的に割当てられる。
【0075】図13は、多次元データベーステーブル1
300の構成を示す図である。このテーブルは、多次元
データベースのモデル定義を参照する場合や、データキ
ューブの情報を参照する場合等に参照される。データキ
ューブとは、多次元データベースのモデル定義に従って
生成されるデータの集まりである。このテーブルは、図
10の多次元データベース管理情報1004に格納され
ている。
【0076】多次元データベーステーブル1300は、
多次元データベース名1301と、多次元データモデル
テーブルエントリへのポインタ1302と、データキュ
ーブテーブルエントリへのポインタ1303と、集約デ
ータキューブテーブルへのポインタ1304からなる。
テーブルに登録された各エントリが、ひとつの多次元デ
ータベースに対応する。
【0077】多次元データベース名1301には、多次
元データベースの名称を表す文字列を格納する。多次元
データモデルテーブルエントリへのポインタ1302に
は、多次元データモデルテーブルのエントリへのポイン
タを格納する。データキューブテーブルエントリへのポ
インタ1303には、データキューブテーブルのエント
リへのポインタを格納する。集約データキューブテーブ
ルへのポインタ1304には、集約データキューブテー
ブルへのポインタを格納する。
【0078】図14は、多次元データモデル定義情報の
格納形式を示す図である。多次元データモデル定義情報
は、多次元データモデルテーブル、次元テーブル、変数
テーブル、および次元メンバテーブルから構成される。
多次元データモデルテーブルはモデル名1401、集約
関数識別コード1402、次元テーブルへのポインタ1
403、変数テーブルへのポインタ1404から構成さ
れる。モデル名1401には、多次元データモデルの名
称を格納する。集約関数1402には、多次元データを
集約する際に利用する関数の識別コードを格納する。次
元テーブルの次元ID列1411には次元IDを格納す
る。次元名列1412には次元名を格納する。次元メン
バテーブルへのポインタ列1413には次元メンバテー
ブルへのポインタを格納する。変数テーブルの変数名列
1421には変数名を格納する。データ型識別コード列
1422には、その変数のデータ型識別コードを格納す
る。
【0079】次元メンバテーブルは次元の数だけ生成す
る。この例では次元「商品」、「マーケット」、「期
間」それぞれに次元メンバテーブルを生成する。次元メ
ンバテーブルは、メンバ名1431、親ID1432、
次の兄弟ID1433、メンバID1434、レベルI
D1435より構成される。本次元メンバテーブルは、
ハッシュ構造に格納する。メンバ名をハッシュすること
で、メンバの格納エントリを決定する。
【0080】メンバID列1431、1441、145
1には、次元メンバのメンバ名を格納する。親ID列1
432、1442、1452には、次元メンバの親メン
バのIDを格納する。次の兄弟のID列1433、14
43、1453には、同じ親を持つ、次の兄弟メンバの
IDを格納する。メンバID列1434、1444、1
454には次元メンバのIDが格納する。レベルID列
1435、1445、1455には、次元メンバの階層
レベルを表すIDを格納する。階層レベルの定義は次の
とおりである。図4を例にとると、次元「商品」のレベ
ルは0である。「商品」の直下である「PC」のレベル
は1であり、「PC」の直下である「デスクトップ」の
レベルは2である。
【0081】図15は、データキューブテーブル150
0の構成を示す図である。このテーブルは、素データキ
ューブ、または、集約データキューブの格納位置を特定
する場合に参照される。このテーブルは、図10の多次
元データベース管理情報1004に格納されている。
【0082】データキューブテーブル1500は、FE
S多次元ブロック化メンバ範囲テーブルへのポインタ1
501と、格納形式識別コード1502と、FES多次
元ブロックインデクスまたはキューブデータへのポイン
タ1503からなる。テーブルに登録された各エントリ
が、ひとつの素データキューブ、または集約データキュ
ーブに対応する。
【0083】FES多次元ブロック化メンバ範囲テーブ
ルへのポインタ1501には、多次元ブロック化メンバ
範囲テーブルへのポインタを格納する。格納形式識別コ
ード1502には、素データキューブ、または、集約デ
ータキューブの格納形式を表すコードを格納する。この
例では、格納形式が圧縮配置型の場合には1、線形配置
型の場合には0を格納する。
【0084】FES多次元ブロックインデクスまたはキ
ューブデータへのポインタ1503には、格納形式が圧
縮配置型の場合にはFES多次元ブロックインデクスへ
のポインタ、線形配置型の場合にはキューブデータへの
ポインタを格納する。
【0085】図16は、集約データキューブテーブル1
600の構成を示す図である。このテーブルは、集約デ
ータキューブの格納位置を特定する場合や、集約データ
キューブが実体化されているか否かを特定する場合等に
参照される。このテーブルは、図10の多次元データベ
ース管理情報1004に格納されている。
【0086】集約データキューブテーブル1600は、
集約データID1601と、集約データキューブテーブ
ルエントリへのポインタ1602と、有効セル数160
3と、生成要求状態識別コード1604と、参照頻度1
605と、実体化状態識別コード1606と、データキ
ューブテーブルエントリへのポインタ1607からな
る。テーブルに登録された各エントリが、ひとつの集約
データキューブに対応する。
【0087】集約データID1601には、集約データ
キューブを構成する各次元のレベルIDを格納する。こ
の例では、次元「商品」、「マーケット」、「期間」の
それぞれのレベルIDを格納する。これらのレベルID
の組合せが集約データIDとなる。
【0088】集約データキューブテーブルエントリへの
ポインタ1602には、要求時に集約計算を実行して集
約データキューブを生成する場合の、要求時集約計算対
象となるデータキューブに対応する集約データキューブ
テーブルのエントリへのポインタを格納する。要求時集
約計算対象となるデータキューブは、集約データキュー
ブ生成時の計算コストが最小であるデータキューブを選
択するための任意のアルゴリズムによって決定される。
要求時集約計算対象となるデータキューブとして素デー
タキューブを選択した場合は、集約データキューブテー
ブルエントリへのポインタ1602には、素データキュ
ーブを表すコードを格納する。有効セル数1603に
は、集約データキューブ内の、有効なデータを格納して
いるセルの数を格納する。
【0089】生成要求状態識別コード1604には、集
約データキューブの要求時生成を実行する要求の有無を
識別するコードを格納する。この例では、要求有りの場
合には1、要求無しの場合には0を格納する。
【0090】参照頻度1605には、集約データキュー
ブの参照回数を格納する。参照回数は、実体化する集約
データキューブの最適集合決定処理の実行が終了した時
点で0にセットされる。参照頻度1605の前回列に
は、前回0にセットする直前の参照回数を格納し、現在
列には、前回0にセットしてから現在までの参照回数を
格納する。
【0091】実体化状態種別コード1606には、集約
データキューブの実体化状態を識別するコードを格納す
る。集約データキューブの実体化状態は、以下に示す4
種類である。
【0092】(1) 実体化されておらず実体化する候補に
もなっていない「非実体化状態」 (2) 実体化されていて削除する候補になっていない「実
体化状態」 (3) 実体化する候補になっている「実体化待ち状態」 (4) 削除する候補になっている「削除待ち状態」 この例では、「非実体化状態」の場合0、「実体化状
態」の場合1、「実体化待ち状態」の場合2、「削除待
ち状態」の場合3を格納する。
【0093】データキューブテーブルエントリへのポイ
ンタ1607には、データキューブテーブルの集約デー
タキューブに対応するエントリへのポインタを格納す
る。
【0094】図17は多次元ブロック化メンバ範囲テー
ブルの構成を示す図である。多次元ブロック化メンバ範
囲テーブルは多次元データベースまたは集約データキュ
ーブを構成している次元に関する情報と多次元ブロック
インデクスの座標計算によりブロック座標を決定するた
めの次元メンバ範囲テーブルを持つ。次元に関する情報
は次元ID1701と次元メンバ範囲テーブルへのポイ
ンタ1702からなる。次元ID1701は多次元デー
タベースまたは集約データベースキューブを構成する次
元の次元メンバテーブルで付与された次元ID1411
をいれる。次元メンバ範囲テーブル1705は各次元毎
の開始メンバID1703とその開始位置に対応するブ
ロック座標1704を持つ。ブロック座標は任意メンバ
範囲に付与された値である。各次元の任意順序の計算で
決定される多次元論理ブロック空間の1つの空間を識別
する識別子をブロックIDと呼ぶ。
【0095】もし多次元論理データ空間に全てのセルデ
ータが存在する、または非常に密に有効なセルデータが
存在し、格納構造として線形配置型が選択される場合に
は多次元ブロック化メンバ範囲テーブルを作成または参
照する必要はない。
【0096】図18はFES多次元ブロックインデクス
のデータページの構成を示す図である。データページに
はページを管理するヘッダ情報1801とBESID格
納領域群を格納している領域から構成される。
【0097】BESID格納領域1810はFESにお
いて、多次元のメンバIDをブロックIDに変換した
時、そのブロックIDに格納されるセルデータが、どの
BESに格納されているかを示すBESID1811を
持つ。
【0098】図19はBES多次元ブロックインデクス
のデータページの構成を示す図である。データページに
はページを管理するヘッダ情報格納部1901とページ
ID格納域群を格納している部分から構成される。
【0099】ページID格納域1910はBESにおい
て多次元のメンバIDをブロックID化した時、そのブ
ロックIDに格納されるセルデータがどのページに格納
されているかを示す。ページID1911はキューブデ
ータ上のページアドレスを示す。
【0100】図20はキューブデータにおける圧縮配置
型セルデータページの構成を示す図である。線形配置型
セルデータページは多次元論理データ空間に存在する全
ての座標のうち、有効な座標、即ち値を持った座標が少
ない場合に選択されるページ形式である。
【0101】圧縮配置型セルデータページはヘッダ情報
2001とセルデータ格納部2002から構成される。
ヘッダ情報2001はページを管理する情報を持つ。ペ
ージ管理情報には以下がある。
【0102】格納セル数2020はページ内に格納され
たセル数を持つ。オーバフローページへのページID2
021はこのページに収まりきらなかったセルデータを
保持するオーバフローページへのページIDである。ペ
ージ内セル上位値2022とページ内共通セル下位値2
023はページ内に存在するセルに共通なセルIDの値
の上位部分、下位部分を保持する。セルデータ格納部2
002はセルID2010とセルレコード2011の組
で構成されるセルデータを格納する領域である。セルI
D2010はそのセルデータを多次元論理データ空間上
で一意に識別する座標値に相当する値である。ただし実
際のセルIDは(ページ内セル上位値、セルデータに付
与されるセルID、ページ内共通セル下位値)の連結で
示す。セルIDの復元は上記を組み立てることをいう。
尚、本実施例では特に断らない限り復元されたものをセ
ルIDと呼ぶ。セルレコードはセルIDに対応するセル
データが持つ値であり、データモデル定義で定義した変
数204が入る。
【0103】図21はキューブデータ内における線形配
置型セルデータページの構成を示す図である。線形配置
型セルデータページは多次元論理データ空間に存在する
ほとんどの座標が有効な場合、即ち全ての座標の値が設
定されている場合に選択されるページ形式である。線形
配置型セルデータページはヘッダ情報2101とセルデ
ータ格納部2102から構成される。
【0104】ヘッダ情報2101はページを管理する情
報を持つ。オーバフローページへのページID2121
はこのページに収まりきらなかったセルデータを保持す
るオーバフローページへのページIDである。セルデー
タ格納部にはセルレコード格納域2110がある。
【0105】図22は多次元データベース問合せ要求処
理手順を示すフローチャートである。 問合せはクライ
アントから送信され、多次元データベース管理システム
が受信した後、FES上の任意の多次元データベース問
合せ要求処理に渡される。多次元データベース問合せ要
求処理は以下を行い検索結果をクライアントに返却す
る。 問合せの構文解析2201はクライアントから送
信されたテキスト形式の問合せを計算機が内部処理可能
な形式に翻訳するために、その構文を解析し、構文解析
木を生成する。
【0106】問合せの意味解析2300は上記構文解析
木を入力として、問合せの各対象に対する意味解析を行
い、次の実行フェーズに必要な実行コードを生成する。
【0107】実行コードはどの処理をどの順番に行い、
誰宛にその結果を送信するか、または誰から結果を受信
し、その結果を併合するか等、問合せを実施するために
必要な指示情報を持つ。意味解析終了後の処理は実行コ
ードの指示に対応した処理手順が起動され、各処理の連
携で行われる。
【0108】多次元データベース問合せでの実行フェー
ズはFESが実行の指示を行う。実行指示内容とFES
の処理内容は以下である。 (1)FESによる実行BESの選択 (2)BESへの多次元データ検索の実行指示 (3)任意場所で行われるデータ併合実行の指示 (4)任意場所で行われるクライアントへの結果返却指
示 実行BESの選択は問合せ条件に対応するBESをFE
Sの多次元ブロックインデクスから決定する。どの多次
元ブロックインデクスを利用するかは問合せの意味解析
から返却される(2203)。
【0109】多次元データ検索処理とデータ併合処理の
並列実行2600は上記(2)(3)(4)に相当し、
多次元データベースを検索、その結果を併合する指示を
FESが行う。
【0110】BESからの検索結果データ併合処理が終
了すると検索結果が完成している。それをクライアント
へ返却することにより多次元データベース問合せ処理が
終了する(2205)。
【0111】図23は問合せの意味解析処理を示すフロ
ーチャートである。問合せの構文解析で得た構文解析木
を入力して処理を行う。問合せ内容の判定2301は図
13から図14で述べた各テーブルを参照して問合せの
内容を意味的に正しいか否か判定する。意味的に誤った
指定の場合はエラーとなり以後の処理が行われない。
【0112】意味解析で参照するテーブルと参照内容は
以下である。 (1)多次元データベーステーブル 問合せ中の多次元データベース名の有無を判定する。 (2)多次元データモデルテーブル 多次元データベーステーブルからモデルテーブルポイン
タ1302を参照し、多次元データモデルテーブルを参
照する。
【0113】(3)次元テーブル 多次元データモデルテーブルの次元テーブルポインタ1
403を参照し、次元テーブルを参照する。次元テーブ
ル参照により問合せ中で指定された次元が実際に存在す
るか否か次元名1411を参照して判定する。
【0114】(4)次元メンバテーブル 次元テーブルの次元メンバテーブルへのポインタ141
3を参照し、次元メンバテーブルを参照する。次元メン
バテーブル参照により、問合せの条件式で指定されてい
るメンバ名が実際に存在するか、メンバの階層レベルの
組合せが正しいか否か、等をメンバ名1431やレベル
ID1435等を利用して判定する。また実行コード内
はメンバIDで処理されるため、メンバ名からメンバI
Dへの変換処理を行う。
【0115】上記の各判定により問合せが意味的に正し
い場合、問合せに指定された次元から集約データキュー
ブテーブルの参照か、多次元データベースモデルの参照
か判定する(2302)。集約データキューブの参照で
あれば、その集約データキューブが実体化されているか
否かを集約データキューブテーブルの実体化状態コード
を参照して判定する(2303)。
【0116】集約データキューブが実体化されていなけ
れば、その集約データキューブを要求時集約計算するた
めに要求時集約計算処理3101を呼び出す。実行コー
ドの生成2305では問合せの内容に応じた実行コード
を生成する。また上記処理以外に問合せを実行するBE
Sを特定化する処理2203のためにFES多次元ブロ
ックインデクスを特定する。多次元データモデルの参照
の場合、多次元データベーステーブルからデータキュー
ブテーブルへのポインタ1303からデータキューブテ
ーブルを参照し、FES多次元ブロックインデクスへの
ポインタ1503を取得する。集約データキューブテー
ブルの参照の場合、現在処理しようとしている集約デー
タキューブに対応する集約データキューブテーブルのエ
ントリ上のデータ格納位置ポインタ1607からデータ
キューブテーブルを参照し、FES多次元ブロックイン
デクスへのポインタを取得する。
【0117】図24は多次元データ検索実行手順を示す
フローチャートである。多次元データ検索実行手順はB
ES上の多次元ブロックインデクスとキューブデータを
参照し、問合せ条件を満たすセルデータを検索し、その
結果をデータ併合処理に渡す処理を行う。
【0118】多次元データ検索実行はFESがBESに
その実行を要求した時点で起動する。FESからは多次
元データ検索実行を行うために必要な問合せ情報(実行
コード)が転送される。また結果をどこで併合するかも
同時に転送される。
【0119】上記が転送されると、検索結果をデータ併
合処理に転送するためのセルデータ転送用バッファを確
保しバッファ情報(バッファの現ポインタ等)を初期化
する(2401)。
【0120】次に問合せに記述された多次元データモデ
ルまたは集約キューブデータの多次元ブロック化範囲テ
ーブルをデータキューブテーブルから取得する(240
2)。 FESから送信する問合せの条件には各次元毎
の検索条件がある。検索条件から各次元毎にどのブロッ
クIDを検索するかを決める。その決定は実行コード中
の検索条件に保持されたメンバIDによって行われ、多
次元ブロック化範囲テーブルの次元メンバ範囲テーブル
1705のメンバID1703(メンバID値を保持)
からブロック座標1704を決める。上記処理を各次元
の検索条件に適用し、各次元毎に検索範囲の開始ブロッ
ク座標、終了ブロック座標の組みが複数個決まる。開始
ブロック座標と終了ブロック座標が検索時のある次元の
ブロック参照範囲となる(2403)。
【0121】各次元のブロック参照範囲が決定される
と、検索方向に沿って多次元データ検索が行われる。検
索方向とは検索結果を取得する時の次元のメンバの昇
順、降順および次元の並びである。この順序関係で検索
方向が決まる。またこの並びはデータ併合する時のトー
ナメント併合の選択優先条件にもなる。上記検索方向に
従い、次に読み出す次元の参照ブロックを移動する(2
404)。
【0122】移動した各次元の現ブロック座標をパラメ
タとしてBES多次元ブロックインデクス位置計算25
00を呼び出す。多次元インデクス位置計算は各次元の
現ブロックIDに対応する多次元ブロックインデクスの
ページIDとページ上のオフセットを返却する。
【0123】返却されたページIDから多次元ブロック
インデクスの対応ページを取得し、同オフセットから多
次元ブロックインデクスのページID格納域1910を
参照してページIDを取得する(2406)。
【0124】ページIDに対応するキューブデータのペ
ージを取得する(2407)。上記の結果取得されたペ
ージ内に問合せを満たすセルデータがある。
【0125】次にページ内のセルデータの検索について
述べる。取得ページ内に未参照セルデータがあるか無い
かを圧縮配置型セルデータページの場合は格納セル数、
線形配置型データページの場合はページ内セル数と参照
セル数カウンタの比較により行う。参照セル数カウンタ
はページ内セル参照開始時に初期化する(2408)。
【0126】参照セル数カウンタに対応するセルデータ
が問合せ条件を満足するか否かの判定を行う。問合せ条
件を満足するか否かの処理は最初にセルIDを各次元の
メンバIDに戻すことから行う。メンバIDへの逆変換
は以下である (1)圧縮配置型セルデータページの場合 セルデータのセルIDを復元し、セルIDから各次元の
メンバID値に戻す。メンバID値はメンバIDと同値
である。
【0127】(2)線形配置型データページの場合 線形配置型データページ上のセルデータの場合、ブロッ
クIDに対応するメンバIDからそのページの開始セル
IDが決まるので、そこから処理しようとするセルデー
タのセルIDを計算する。(セルID=開始セルID+
参照セル数カウンタ)同セルIDから各次元のメンバI
D値、即ちメンバIDに戻す。
【0128】メンバIDに戻し、そのメンバIDが問合
せの条件を満足するか否か判定し、セルレコードの値の
条件が問合せに指定されていればそれを判定する(24
09)。
【0129】2409においてそのセルデータが問合せ
条件を満足する場合、対象セルデータを併合処理用セル
データ転送バッファへ複写、バッファ情報を更新する
(2410)。併合処理用セルデータ転送バッファが満
杯になったか否かバッファ情報から判定する。
【0130】2411においてセルデータ転送バッファ
が満杯になった場合、データ併合処理へ同バッファを転
送し、バッファ情報を初期化状態にした後、参照セル数
カウンタを1増分し、2408の処理へ戻る。2411
においてセルデータ転送バッファがまだ満杯でない場
合、参照セル数カウンタを1増分し、2408の処理へ
戻る。
【0131】2409でセルデータが問合せ条件を満足
しない場合、次のセルデータを読むために参照セル数カ
ウンタを1増分し、2408の処理へ戻る。2408の
処理でページ内の全セルの条件判定を終了したならば、
オーバフローページID2021または2121を参照
し、オーバフローページが存在するか否か判定する(2
413)。
【0132】オーバフローページがある場合、そのオー
バフローページIDからページを取得し、参照セル数カ
ウンタを初期化し、再度2408の未判定セルの有無処
理を行う。オーバフローページが無い場合、そのブロッ
クIDの参照は終了したのでブロック参照範囲を全て検
索したか否か判定する(2415)。
【0133】ブロック参照範囲を全て検索していない場
合、2404の処理に戻り、次のブロックの参照を行
う。すべてのブロック参照範囲の検索が終了した場合、
セルデータ転送用バッファに残っているセルデータ群と
多次元データ検索実行が終了したことを示す終了コード
をデータ併合処理へ転送後、セルデータ転送用バッファ
を解放し、多次元データ検索実行処理を終了する。
【0134】図25は多次元ブロックインデクス位置計
算処理を示すフローチャートである。 各次元のブロッ
ク範囲の個数と各次元のブロック座標から多次元ブロッ
クインデクスのセルIDを計算する(2501)。
【0135】対象多次元ブロックインデクスのセルレコ
ード長と多次元ブロックインデクスの先頭ページID、
ページ長からセルIDに対応するページID、ページ上
のオフセットを計算する。結果を要求者に返却する(2
502)。
【0136】図26は検索結果データ併合処理手順を示
すフローチャートである。検索結果データ併合処理手順
は図24で説明した多次元データ検索実行の処理の一貫
として検索セルデータを参照順序に従い、クライアント
へ返却する。
【0137】検索結果データ併合はFESが任意BES
にその実行を要求した時に起動する。FESからはどの
BESからデータが転送され、どの順序で結果をクライ
アントに返却するかの情報が転送される。
【0138】検索結果データ併合処理では最初に併合対
象BES数分の多次元スキャン結果受信領域とユーザ返
却データ領域を確保する(2601)。BESからのデ
ータ受信待ちに入る(2602)。全BESが多次元デ
ータ検索処理を終了したか判定する(2603)。全B
ESが多次元データ検索処理を終了していない場合、終
了コードを受信していない全てのBESからの多次元デ
ータ検索の結果が受信されているか否か判定する(26
04)。
【0139】もし未終了のBESの多次元データ検索が
終了している場合、各BESの参照順序に従いバッファ
からユーザ返却領域に受信結果を複写する(260
5)。ユーザ返却データ領域が満杯か否か判定する(2
606)。
【0140】返却データ領域が満杯の場合、同作業領域
の結果を一時的に作業領域へ保持する。作業領域は返却
データ領域に比べ十分な記憶容量を持った記憶媒体であ
る。ユーザ返却データ領域が満杯でないか、作業領域へ
の保持が終了した場合、まだ終了していない任意のBE
Sの多次元データ検索結果受信領域が空になったか否か
判定する(2608)。
【0141】空になった場合、そのBESのデータを受
信するためにBESからのデータ受信待ち(2602)
に入る。全てのBESからの多次元データ検索が終了
し、全データを作業領域に保持した場合、多次元データ
検索結果受信領域を解放する(2609)。
【0142】図27は、要求時集約計算処理の中間結果
をFESメモリ上に格納するためのデータ構造を示す図
である。要求時集約計算で求める集約データキューブ
を、以後、要求時生成集約データキューブと呼ぶ。
【0143】要求時生成集約データキューブは、FES
の主メモリ上に格納ページ形式で保持される。主メモリ
領域に制限がある場合、確保できるページ数が限られ、
主メモリ上で同時に集計できる集約データの範囲も限ら
れる。この範囲を、以後、同時集計範囲と呼ぶ。
【0144】集計メンバ範囲リスト2700は、同時集
計範囲を特定する際や、集約計算中間結果を保持する主
メモリ上の領域を特定する場合に参照される。集計メン
バ範囲リスト2700は、集計メンバ範囲2701と、
集計結果格納領域へのポインタ2702からなる。この
リストのひとつのエントリは、集計で求める集約データ
キューブのひとつのブロックに対応する。
【0145】集計メンバ範囲2701には、同時集計範
囲に含まれる要求時生成集約データキューブの各次元の
メンバ範囲の開始メンバIDと終了メンバIDを格納す
る。開始メンバIDと終了メンバIDの決定方法は、後
述するブロック検索範囲決定処理手順3401において
説明する。集計メンバ範囲2701は、同時集計範囲の
集約データを生成し終えた時点で、未処理の範囲に更新
される。集計結果格納領域へのポインタ2702には、
集約計算中間結果を保持するための主メモリ上の領域へ
のポインタを格納する。
【0146】主メモリ上ページ領域2703から270
4は、FESで集計するデータを格納するための、主メ
モリ上のページ領域である。要求時集約計算処理では、
集計メンバ範囲リスト2700を作成した後、同リスト
のエントリ数だけのページ領域を主メモリ上に確保す
る。この例では、2つのページ領域を主メモリ上に確保
している。主メモリ上ページ領域2703から2704
に格納する内容については、後述する。
【0147】図28は、要求時集約計算処理におけるブ
ロック読み出し順を説明する図である。要求時集約計算
処理の集約元データキューブを集約計算対象データキュ
ーブと呼ぶ。説明を具体化するため、例として、図3の
多次元データベースモデル定義例で定義した多次元デー
タベースにおいて、図8の多次元論理空間801に対す
る集約計算を実行し、804を生成する処理を下記に示
す。
【0148】多次元論理ブロック空間2801Aから2
801Dは、集約計算対象データキューブの多次元論理
ブロック部分空間であり、「商品」次元のメンバ範囲が、
それぞれ、メンバID1〜3、4〜5、6、7〜8の空
間に対応する。多次元論理ブロック空間2801Aから
2801Dの左右軸には「期間」次元のメンバ範囲、上
下軸には「マーケット」次元のメンバ範囲を、メンバI
Dで記述している。次元のメンバ範囲の組合せに対応す
るひとつの四角形が、ひとつの多次元ブロックに対応す
る。各ブロックは、後述する図50の対角割当て処理に
従って、対角線上に並ぶブロックがBESの同一ハード
ディスクに割当てられている。四角形の中に記述してい
る数字は、任意のひとつのハードディスクに格納してい
るブロックを読み出す順番を表している。
【0149】ここで、図28の例により、ひとつのハー
ドディスク上に格納しているブロックの読みだし手順を
説明する。この説明では、ブロックの位置を表すメンバ
範囲を、(「商品」のメンバIDの範囲、「マーケッ
ト」のメンバIDの範囲、「期間」のメンバIDの範
囲)という形式で記述する。まず、最初に読み出す対角
線上の列を決め、先頭のブロックのメンバ範囲、(1〜
3、1、1〜8)を取得する。次に、この範囲が、FE
Sから受信した集計メンバ範囲2701に、全次元にお
いて一部分でも重なっているかどうかを判定する。この
例では重なっていると判定されるので、(1〜3、1、
1〜8)のブロックを読み出す。次に、多次元論理ブロ
ック空間の対角線上に並ぶブロックを読み出すために、
全次元のメンバ範囲をひとつ進めて、メンバ範囲(4〜
5、2、9〜11)を取得する。ここで再び、取得した
範囲が集計メンバ範囲2701に、全次元において一部
分でも重なっているかどうかを判定し、重なっていると
判定されるので、ブロックを読み出す。同様にして、メ
ンバ範囲(6、3、12〜16)のブロックを読み出
す。次に、全次元のメンバ範囲をひとつ進めた範囲(7
〜8、4〜6、17〜21)を取得し、集計メンバ範囲
2701と比較すると、「マーケット」「期間」の2つ
の次元についてメンバ範囲が重なっていないため、ブロ
ックは読み出さない。ここで、集計メンバ範囲2701
の範囲外の空間に入ったことがわかる。そこで、同一の
ハードディスク上に格納している次の対角線上の列を決
め、この列の先頭ブロックのメンバ範囲(1〜3、2、
12〜16)を取得する。以後、集計するブロックがな
くなるまで、前述の処理を繰り返す。
【0150】図29は、要求時集約計算処理の中間結果
をBESメモリ上に格納するためのデータ構造を示す図
である。各BESでは、FESから、要求時生成集約デ
ータキューブと集計対象データキューブの各次元のレベ
ルIDを受け取る。両データキューブの同一次元につい
て、レベルIDを比較し、要求時生成集約データキュー
ブのレベルIDの方が小さい値である次元を集約次元、
そのレベルIDを集約レベルとする。この例では、「商
品」、「マーケット」、「期間」のそれぞれの次元につい
て、要求時生成集約データキューブのレベルIDは0、
2、3、集計対象データキューブのレベルIDは3、
2、3である。これらを比較すると、「商品」次元のレベ
ルについて要求時生成集約データキューブの方が小さい
ので、「商品」次元を集約次元とする。また、集約レベル
は0である。
【0151】BES集約計算中間結果リスト2900A
から2900Cは、各BESにおいて、図28で説明し
た規則に従って読み出したブロックに格納しているデー
タについて、集約レベルに集約した結果を格納するリス
トである。このリストは、セルID2901Aから29
01Cと、セルレコード集約計算中間結果2902Aか
ら2902Cからなる。セルID2901Aから290
1Cには、各次元のメンバIDから算出した、要求時生
成集約データキューブのセルIDを格納する。セルレコ
ード集約計算中間結果2902Aから2902Cには、
読み出したデータを集約計算した結果を格納する。BE
S集約計算中間結果リスト2900Aから2900Cの
ひとつのエントリは、要求時生成集約データキューブの
ひとつのセルデータに対応する。
【0152】集約計算によって生成されたセルID29
01Aから2901Cと、このIDに対応するセルレコ
ード集約計算中間結果2902Aから2902Cは、生
成された順番でリストに追加され、読み出したブロック
のすべてのデータについて処理を終了した時点で、FE
Sに返却される。
【0153】データキューブに対応する格納形式識別コ
ード1502に格納されている格納形式コードが、圧縮
配置型の場合には図20の圧縮配置型セルデータページ
の構成、線形配置型の場合には図21の線形配置型セル
データページの構成に従って生成される。
【0154】BESから返却されたBES集約計算中間
結果リスト2900Aから2900Cのセルレコード
は、FESで同一セルIDのレコードを集めて集約計算
される。主メモリ上ページ領域2703から2704の
セルレコードには、FESで計算した集約計算中間結果
に対応するセルIDを持つセルレコードを格納する。
【0155】図27の主メモリ上ページ領域2703か
ら2704内のデータ構造は、要求時生成集約データキ
ューブに対応する格納形式識別コード1502に格納さ
れている格納形式コードが、圧縮配置型の場合には図2
0の圧縮配置型セルデータページの構成、線形配置型の
場合には図21の線形配置型セルデータページの構成に
従って生成される。
【0156】BESから返却されたBES集約計算中間
結果リスト2900Aから2900Cのセルレコード
は、FESで同一セルIDのレコードを集めて集約計算
される。主メモリ上ページ領域2703から2704の
セルレコードには、FESで計算した集約計算中間結果
に対応するセルIDを持つセルレコードを格納する。
【0157】図30は、要求時集約計算処理の最終結果
の格納構造を示す図である。FES1101には、集約
計算結果格納用データ構造作成処理において作成したF
ES多次元ブロックインデクス1130がある。BES
1102、1103には、それぞれ、集約計算結果格納
用データ構造作成処理において作成したBES多次元ブ
ロックインデクス1131、3004がある。バッファ
機能付きメモリ領域3600Aから3600Bは、集約
計算の最終結果を一時的に格納するための、バッファ機
能を備えたメモリ領域である。
【0158】ページ3005Aから3005Bは、集約
計算最終結果を一時的に格納するためのページである。
メモリをオーバーフローしたページは、ハードディスク
上の作業用領域に一時的に格納される。
【0159】FES1101では、FES多次元ブロッ
クインデクス1130が、主メモリ上ページ領域270
3から2704に格納しているページ形式の集約計算中
間結果のBESへの割当てを決める。FES1101
は、各集約計算中間結果を割当てるBESに、それらの
集約計算中間結果に対応する集計メンバ範囲2701を
転送する。BES1102、1103では、FES11
01から受信した集計メンバ範囲2701を入力として
多次元ブロックインデクス位置決定処理を呼び出し、B
ES多次元ブロックインデクス1131、3004の位
置を求める。BES1102、1103では、割当てら
れたページ形式の集約計算中間結果を格納するページ3
005Aから3005Bを、バッファ機能付きメモリ領
域3006Aから3006Bに確保する。BES多次元
ブロックインデクス1131、3004の求めた位置
に、確保したページのページIDを格納する。FES1
101は、メモリ上ページ領域2703から2704に
格納しているページ形式の集約計算中間結果を、割当て
たBESに転送する。FES1101から受信したペー
ジ形式の集約中間結果を、確保したページ3005Aか
ら3005Bに格納する。
【0160】図31は、要求時集約計算処理3101の
手順を示すフローチャートであり、図23のステップ3
101での処理の詳細を具体化したものである。まずス
テップ3102で、集約データキューブテーブル160
0から要求時生成集約データキューブの集約データID
に対応するエントリを検索して、集約データキューブテ
ーブルエントリへのポインタ1602を取得し、ステッ
プ3103へ進む。
【0161】ステップ3103では、取得したポインタ
が素データキューブ用の値かどうかを判定し、素データ
キューブ用の値であればステップ3110へ進み、素デ
ータキューブ用の値でなければ取得したポインタが指し
ているエントリの集約データID1601を集計対象デ
ータID変数に格納し、ステップ3201へ進む。
【0162】ステップ3110では、図14の多次元デ
ータモデル定義情報の次元メンバテーブルのレベルID
を検索して、各次元のレベルIDの最大値を集計対象デ
ータID変数に格納し、ステップ3201へ進む。
【0163】ステップ3201では、集約計算結果を格
納するためのデータ構造を作成し、ステップ3301へ
進む。ステップ3301では、並列集約計算処理を実行
し、ステップ3106へ進む。 ステップ3106で
は、生成した集約計算結果をユーザに返却し、ステップ
3107へ進む。
【0164】ステップ3107では、集約データキュー
ブテーブル1600から、要求時生成集約データキュー
ブの集約データIDと集約データID1601が一致す
るエントリを検索して、実体化状態識別コード1606
が実体化待ち状態(図16の例では2)であるかどうか
を判定し、実体化待ち状態であればステップ3810へ
進み、実体化待ち状態でなければステップ3108へ進
む。
【0165】ステップ3801では、実体化集約データ
キューブの入替えを実行し、本手順を終了する。ステッ
プ3108では、要求時集約計算で求めた集約データキ
ューブの格納のために確保した領域を解放し、本手順を
終了する。
【0166】図32は、集約計算結果格納用データ構造
作成処理3201の手順を示すフローチャートであり、
図31のステップ3201での処理の詳細を具体化した
ものである。
【0167】まずステップ4800で、要求時生成集約
データキューブの集約データIDを入力して、要求時生
成集約データキューブ用の多次元ブロック化メンバ範囲
テーブル、具体的には、図11のFES多次元ブロック
化メンバ範囲テーブル1120とBES多次元ブロック
化メンバ範囲テーブル1121を生成し、ステップ49
00へ進む。
【0168】ステップ4900では、要求時生成集約デ
ータキューブの集約データIDを入力して、要求時生成
集約データキューブ用の多次元ブロックインデクス、具
体的には、図30のFES多次元ブロックインデクス1
130とBES多次元ブロックインデクス1131、3
004を生成し、本手順を終了する。
【0169】図33は、並列集約計算処理の制御330
1の手順を示すフローチャートであり、図31のステッ
プ3301での処理の詳細を具体化したものである。ま
ずステップ3401で、FESの主メモリ上で同時に集
約計算するブロック範囲を決定し、ステップ3501へ
進む。ステップ3501では、各BESにおいて集約計
算処理を実行し、ステップ3601へ進む。
【0170】ステップ3601では、各BESの集約計
算中間結果を集約計算して、ページ形式の集約計算中間
結果を生成し、ステップ3305へ進む。ステップ33
05では、FESで生成したページ形式の集約計算中間
結果をBESに転送し、ステップ3701へ進む。ステ
ップ3701では、FESから転送されたページ形式の
集約計算中間結果を、最終集約計算結果として格納し、
ステップ3307へ進む。
【0171】ステップ3307では、FES多次元ブロ
ック化メンバ範囲テーブル1120の各次元のメンバ範
囲の組合せを処理したかどうかを判定し、すべて実行し
た場合には本手順を終了し、まだ実行していないメンバ
範囲の組合せがある場合にはステップ3401に戻っ
て、以後上述の手順を繰り返す。
【0172】図34は、ブロック検索範囲決定処理34
01の手順を示すフローチャートであり、図33のステ
ップ3401での処理の詳細を具体化したものである。
まずステップ3402で、多次元データベースシステム
管理者が設定したFESの集計用ページ数の上限を取得
して、FES多次元ブロック化メンバ範囲テーブル11
20からこのページ数上限以下の個数のメンバ範囲組合
せ(図27の例では、「商品」、「マーケット」、「期間」
の各次元メンバ範囲の開始メンバIDと終了メンバID
が、それぞれ、1と8、1と3、1と7の組合せと、1
と8、1と3、8と15の組合せ)を選択し、ステップ
3403へ進む。
【0173】ステップ3403では、集計メンバ範囲リ
スト2700の領域を確保して、集計メンバ範囲270
1に選択したメンバ範囲を登録し、ステップ3404へ
進む。 ステップ3404では、集計メンバ範囲リスト
2700のエントリ数だけの集約計算用の主メモリ上ペ
ージ領域2703から2704を確保し、ステップ34
05へ進む。
【0174】ステップ3405では、集計メンバ範囲リ
スト2700の集約計算結果格納領域へのポインタ27
02に、確保した主メモリ上ページ領域2703から2
704の各先頭アドレスを格納し、本手順を終了する。
【0175】図35は、BES側での集約計算処理35
01の手順を示すフローチャートであり、図33のステ
ップ3501での処理の詳細を具体化したものである。
【0176】まずステップ3502で、FESに置かれ
ている集計メンバ範囲リスト2700から集計メンバ範
囲2701のメンバIDを取得し、ステップ3503へ
進む。 ステップ3503では、図28で説明したブロ
ック読み出し手順により、集計する範囲内のブロックを
対角線上に並ぶ順に読み出す。
【0177】ステップ3504では、読み出したデータ
を集約計算して、BES集約計算結果リスト2900A
から2900Cに登録し、ステップ3505へ進む。ス
テップ3505では、BES集約結果リスト2900A
から2900CをFESに転送し、本手順を終了する。
【0178】図36は、FES側での集約計算処理36
01の手順を示すフローチャートであり、図33のステ
ップ3601での処理の詳細を具体化したものである。
まずステップ3602で、各BESの集約計算中間結果
を受信し、ステップ3603へ進む。
【0179】ステップ3603では、BESから受信し
た集約計算中間結果のセルIDに対応するメンバを計算
で求め、集計メンバ範囲リスト2700から、求めたメ
ンバを範囲に含む集計メンバ範囲2701を持つエント
リを検索し、ステップ3604へ進む。
【0180】ステップ3604では、検索したエントリ
の集約計算結果格納領域へのポインタ2702に主メモ
リ上ページ領域のアドレスが格納されているかどうかを
判定し、格納されていればステップ3605へ進み、格
納されていなければステップ3606へ進む。
【0181】ステップ3605では、集約計算結果格納
領域へのポインタ2702に格納されているアドレスを
先頭とするページ領域に、BESより受信した集約計算
中間結果と同一のセルIDを持つセルレコードがあるか
どうかを判定し、あればBESより受信した集約計算中
間結果のセルレコードとページ領域の同セルIDのセル
レコードの集約計算結果を格納し、なければページ領域
にBESより受信した集約計算中間結果を格納する。次
にステップ3606へ進む。
【0182】ステップ3606では、BESから受信す
る集約計算中間結果がまだあるかどうかを判定し、あれ
ばステップ3602に戻って、以後上述の手順を繰返
し、なければ本手順を終了する。
【0183】図37は、BES側での最終集約計算結果
の格納処理3701の手順を示すフローチャートであ
り、図33のステップ3701での処理の詳細を具体化
したものである。
【0184】まずステップ3702で、FESからBE
Sに格納するページ形式の集約計算結果2703から2
704と、各ページ形式の集約結果に対応する集計メン
バ範囲2701を受信し、ステップ3703へ進む。ス
テップ3703では、受信した集計メンバ範囲から、多
次元ブロック位置取得関数によってBES多次元ブロッ
クインデクス1131、3004の該当位置を取得し、
ステップ3704へ進む。
【0185】ステップ3704では、各BESのバッフ
ァ機能付き一時メモリ領域3006Aから3006Bに
集約計算最終結果格納ページ3005Aから3005B
を確保し、ステップ3705へ進む。ステップ3705
では、該当するBES多次元ブロックインデクスに、確
保した集約計算最終結果格納ページ3005Aから30
05BのページIDを登録し、ステップ3706へ進
む。
【0186】ステップ3706では、確保した集約計算
最終結果格納ページ3005Aから3005Bに、FE
Sから受信したページ形式の集約計算結果データ270
3から2704の内容を格納し、ステップ3707へ進
む。ステップ3707では、FESから受け取るページ
形式の集約計算結果データがまだあるかどうかを判定
し、あればステップ3702に戻って、以後上述の手順
を繰返し、なければ本手順を終了する。
【0187】図38は、実体化集約データキューブの入
替え処理の手順を示すフローチャートであり、図31の
ステップ3801での処理の詳細を具体化したものであ
る。まずステップ3802で、集約データキューブテー
ブル1600から、集約データID1601が要求時生
成集約データキューブの集約データIDに一致するエン
トリを検索して、このエントリの有効セル数1603に
格納している有効セル数(図16の例では144)を取
得し、ステップ3803へ進む。
【0188】ステップ3803では、集約データキュー
ブテーブル1600から、実体化状態識別コード160
6が削除待ち状態(図16の例では3)であるエントリ
を検索し、ステップ3804へ進む。ステップ3804
では、検索で取得した削除待ち状態の集約データキュー
ブテーブル1600のエントリの有効セル数1603に
格納している有効セル数を、削除データ件数合計に加
え、ステップ3805へ進む。
【0189】ステップ3805では、検索で取得した削
除待ち状態の集約データキューブテーブル1600のエ
ントリから、データキューブテーブルエントリへのポイ
ンタ1607に格納しているポインタを取得して、この
ポインタが指すデータキューブテーブル1500のエン
トリを参照し、FES多次元ブロックインデクスまたは
キューブデータへのポインタ1503に格納しているF
ES多次元ブロックインデクスへのポインタを取得す
る。このポインタが指している先FES多次元ブロック
インデクス1101と、各BESの削除する集約データ
に対応するBES多次元ブロックインデクス1102
と、集約データを格納しているページを削除し、削除が
終了した時点で集約データキューブテーブル1600の
該当するエントリの実体化状態識別コードを非実体化
(図16の例では0)に変更し、ステップ3806へ進
む。
【0190】ステップ3806では、ステップ3802
で取得した、実体化する集約データキューブの有効セル
数が、削除データ件数合計以下かどうかを判定し、削除
データ件数合計以下であればステップ3807へ進み、
削除データ件数合計より大きければステップ3803に
戻って以後上述の処理を繰り返す。
【0191】ステップ3807では、BESのバッファ
付き一時メモリ領域3006Aから3006Bに格納し
ている集約計算最終結果格納ページ3005Aから30
05Bを、これらが格納されている各BESのハードデ
ィスクに書き出し、ステップ3808へ進む。ステップ
3808では、集約データキューブテーブル1600か
ら、本処理でハードディスクに書き出した集約データキ
ューブに対応するエントリを検索し、このエントリの実
体化状態識別コードを実体化状態(図16の例では1)
に変更し、本手順を終了する。
【0192】図39は、実体化集約データキューブの最
適集合再計算処理3901の手順を示すフローチャート
である。この処理では、更新契機を示すフラグを使用す
る。以後、このフラグを更新契機フラグと呼ぶ。更新契
機フラグは、任意の判定基準によって、実体化集約デー
タキューブ集合を更新する時期と判定した場合に立てる
フラグである。ここで、判定基準の一例を説明する。集
約データキューブテーブル1600の参照頻度1605
の前回と現在の参照頻度について、全エントリの参照頻
度の合計に対する各エントリの参照頻度の比率を求め
る。次に、各エントリについて、参照頻度の比率の現在
と前回との差を求め、全エントリの差の合計が、任意の
しきい値を超えたときに更新契機と判定する。
【0193】ここから、実体化集約データキューブの最
適集合再計算処理3901の手順を説明する。まずステ
ップ3902で、更新契機フラグが立っているかどうか
を判定し、立っていればステップ3903へ進み、立っ
ていなければ本手順を終了する。
【0194】ステップ3903では、集約データキュー
ブテーブル1600の全エントリの参照頻度1605と
有効セル数1603を取得し、ステップ3904へ進
む。ステップ3904では、参照頻度と有効セル数を使
った任意のアルゴリズムにより、最適実体化集約データ
キューブ集合を決定し、ステップ3905へ進む。アル
ゴリズムの一例として、参照頻度1605の現在の参照
頻度を有効セル数の重みとし、要求時に生成する集約デ
ータキューブを最小の計算コストで生成できるように実
体化する集約データキューブを決定する方法がある。
【0195】ステップ3905では、最適実体化集約デ
ータキューブ集合を決定した結果、集約データキューブ
テーブル1600の実体化状態識別コードを、以下に示
す規則で更新する。
【0196】(1) 非実体化状態であったが実体化するこ
とが決まった集約データキューブの実体化識別コード→
実体化待ち状態 (2) 実体化状態であったが実体化しないことが決まった
集約データキューブの実体化識別コード→削除待ち状態 (3) 実体化待ち状態であったが実体化しないことが決ま
った集約データキューブの実体化識別コード→非実体化
状態 (4) 削除待ち状態であったが実体化することが決まった
集約データキューブの実体化識別コード→実体化状態 更新を終えた時点で、本手順を終了する。
【0197】図40は元データ解析とデータベース管理
情報初期化に関する処理ブロック構成を示す。元データ
ファイル4030は、多次元データベース管理システム
に格納される元データを保持する。元データはセルデー
タに変換される前のデータである。データ解析4001
は元データのデータ分布を解析し、多次元データベース
テーブル1300、次元メンバテーブル1431、ブロ
ック化メンバ範囲テーブル1700、集約データキュー
ブテーブル1600、データキューブテーブル1500
等を作成する。
【0198】データベース初期化4002はデータ解析
が解析した上記の解析情報とデータモデル定義に従い、
BES側にあるBESデータベース初期化4010から
4012と連携してあらかじめ多次元ブロックインデク
ス(1131、4041、4042)やキューブデータ
(1140、4043、4044)、オーバフローファ
イル等のデータベース構造を作成する。
【0199】辞書4021はデータ解析時に作成された
テーブル群を格納、保持する。DDS4020は辞書を
管理するデータ辞書サーバであり、データ解析で作成し
たテーブル群の辞書への格納やデータベース初期化やデ
ータロード処理で必要とするテーブルの検索を行う。
【0200】図41は元データのロードに関する構成で
ある。ローダ4101はデータモデル定義とデータ解析
で作成した多次元データベーステーブル1300、ブロ
ック化メンバ範囲テーブル1700、集約データキュー
ブテーブル1600、データキューブテーブル1500
に基づいて、元データファイル4001を読み込み、B
ES側に存在するBESローダ(4110、4111、
4112)と連携して多次元ブロックインデクス(11
30、1131、4043、4044)にBESID、
ページIDを格納し、キューブデータ(1131、40
41、4042)にセルデータを格納する。
【0201】図42は多次元データベース管理システム
が管理する物理記憶構成を格納するテーブル構成であ
る。物理記憶構成テーブル4200は辞書に格納され
る。サーバID4201はFES、BESのIDであ
る。デバイス名称4202は各物理記憶媒体の識別名で
ある。空き容量4203はデバイス名称で識別される記
憶媒体の使用可能な空き領域容量である。空き領域への
ポインタ4204はその空き領域の最初のページIDを
持つ。
【0202】データロード処理は以下の3つのフェーズ
からなる。 (1)データ解析 元データのデータ分布、データ件数、各次元のメンバの
数、メンバの値等を元データから解析する。 (2)データベース初期化 データ解析の解析結果を利用して多次元データベースや
集約キューブデータを格納する格納構造を事前に作成す
る。 (3)データロード 元データをキューブデータに格納する。
【0203】以下各フェーズの内容をフローチャートを
用いて説明する。図43は元データ解析処理手順を示す
フローチャートである。元データ解析4300はユーザ
パラメタを読み込む(4301)。ユーザパラメタは、
どの多次元データベースモデルの元データを解析する
か、どの元データファイルを解析の対象とするか、解析
対象元データ数等を指示する。尚、本実施例ではすべて
の元データを解析対象とする。
【0204】ユーザパラメタから処理対象の多次元デー
タモデルテーブルとそれに関連する次元テーブルと次元
メンバテーブルを辞書から取得する(4302)。次元
メンバテーブルは多次元データベースモデルを定義した
段階でユーザが定義する場合とデータ解析により次元メ
ンバテーブルを自動的に生成する場合がある。定義され
ている場合は、その内容に基づいて処理を行う。未定義
の場合はメンバ情報を取得するために、一度元データを
解析し、次元メンバテーブルを作成、辞書に格納する。
【0205】次元メンバテーブルから、各次元、階層レ
ベルが持つメンバ数を調べ、元データの統計情報を取得
するために各次元の組合せについて多次元論理データ空
間ビットマップ記憶領域を割当てる。多次元論理データ
空間ビットマップ記憶領域は1ビットで多次元論理デー
タ空間の座標を示すビットマップであり、その多次元論
理データ空間の疎密率(=有効な(実在する)座標の個
数÷多次元論理データ空間の座標の個数)を得るために
生成する。各次元の組合せにおいて、メンバ数が大量で
あったり次元組合せ数が大きく任意の記憶容量を超える
場合、生成可能な次元組合せの多次元論理データ空間ビ
ットマップ記憶領域のみを作成する(4303)。
【0206】元データ統計情報取得処理4400は上記
生成された各多次元の多次元論理データ空間ビットマッ
プを渡され、ビット設定された多次元論理データ空間ビ
ットマップと解析データ件数を返す。また多次元論理デ
ータ空間ビットマップからそれに対応する集約キューブ
データの疎密率を計算される(4400)。
【0207】集約データキューブテーブルとデータキュ
ーブテーブルを作成し、集約データキューブの各エント
リ毎に疎密率を計算する。その疎密率を評価基準として
最適な実体化対象を選択し、集約データキューブの実体
化状態識別コードに実体化の設定を行う(4305)。
【0208】上記決定後、格納構造の決定を呼び出し、
集約データキューブテーブルの各対象に対して格納構造
の決定を行い、データキューブテーブルに格納する(4
500)。集約データキューブテーブル、データキュー
ブテーブルを辞書へ格納し(4306)、データ解析を
終了する。
【0209】図44は元データの統計情報を取得手順を
示すフローチャートである。元データ件数をカウントす
るためのカウンタを初期化する(4401)。元データ
ファイルから一件元データを読む(4402)。元デー
タが終了か否か判定する(4403)。元データがある
ならば、元データの持つフィールドに対応する次元の各
メンバ値に対応するメンバIDをそれぞれ決定し、セル
IDを計算し、生成している多次元論理データ空間ビッ
トマップの対応する座標上のビットを設定する(440
4)。
【0210】元データ件数を1件増分し次の元データを
読む(4405)。元データが終了した場合、元データ
件数を元データ統計情報取得を呼び出した要求者に返却
する(4406)。
【0211】生成された多次元論理データ空間ビットマ
ップに関してその有効件数をカウントし各集約データキ
ューブ毎に疎密率を一時記憶領域に記憶する。カウント
されなかった集約データキューブに関しては実在する集
約データキューブから予測疎密率を計算し上記同様に一
時記憶領域に記憶し、本処理ユニット要求者に返却する
(4407)。
【0212】図45は格納構造の決定処理手順を示すフ
ローチャートである。集約データキューブと多次元論理
データ空間ビットマップを入力として以下の処理を集約
データキューブ数分繰り返す。
【0213】対象集約キューブデータの実/予測疎密率
が任意敷居値を超えるか否かを判定する。ここで任意敷
居値はその多次元論理データ空間における有効な座標の
数が多次元論理データ空間の座標の数に近い場合、ほと
んどの座標にデータが存在すると判定し、格納形式を選
択することを判定するための値であり、データ容量や生
成時間等を考慮して決定する(4501)。
【0214】多次元論理データ空間の座標数に対して任
意敷居値を超える有効座標がある場合、データキューブ
テーブルの格納形式コードを線形配置型とする(450
2)。 多次元論理データ空間の座標数に対して有効座
標が任意敷居値を超えない場合、データキューブテーブ
ルの格納形式コードを圧縮配置型とする(4503)。
上記を素キューブデータならびに集約キューブデータに
適用する。
【0215】図46、図47を用いてデータロード処理
手順について述べる。実体化対象集約キューブデータの
要約計算は先に述べた要求時集約計算処理と同様の処理
で行われる。物理記憶構成テーブル、多次元データベー
ステーブル、次元メンバテーブルを辞書より取得する
(4601)。
【0216】データ解析で求めた元データ件数から各B
ESへの平均分割件数を決定する(4602)。BES
平均分割件数をパラメタとしてFES次元メンバ範囲生
成を呼び出し、FES用ブロック化メンバ範囲テーブル
を生成する(4800)。上記で生成したFES用ブロ
ック化メンバ範囲テーブルを辞書に記憶する(460
4)。
【0217】各BES毎のページ当たり平均データ件数
を決定する(4605)。ページ当たり平均データ件数
をパラメタとしてBES次元メンバ範囲生成を呼び出
し、BES用ブロック化メンバ範囲テーブルを生成する
(4800)。上記で生成したBES用ブロック化メン
バ範囲テーブルを辞書に記憶する(4604)。
【0218】FES、BES用のブロックインデクスを
割当て、初期化するために上記で作成したブロック化メ
ンバ範囲テーブルを各FES、BESで稼動するデータ
ベース初期化処理に転送し、FES、BES用多次元ブ
ロックインデクスを作成する。(4701) 上記により、FES、BESの多次元ブロックインデク
スとキューブデータの格納構造を初期化する。データロ
ードは格納構造が初期化した後に元データを格納する。
【0219】最初にBES用作業領域を確保する。本領
域はFES側で各BESに元データを分配する時の元デ
ータの一時的なバッファとして用意し、BES個数分確
保される(4704)。
【0220】元データファイルから元データを読む(4
705)。元データ読み込みが終了したか否か判定する
(4706)。
【0221】元データ読み込みが終了していなければ読
み込んだ元データ上の次元に対応するフィールドの値を
次元メンバテーブルを参照してメンバIDに変換する。
元データ上に存在する各次元について上記処理を適用す
る。各次元のメンバIDが決定したならば、各次元のメ
ンバIDについてFESのブロック化メンバ範囲テーブ
ルを参照してブロック座標を決定し、FES多次元ブロ
ックインデクスを参照して、元データの格納場所を決定
する(4707)。
【0222】上記で決定したメンバIDからセルIDを
計算する(4708)。元データ上に存在する次元に対
応するフィールドを削除し、上記で決定したセルIDを
付与してセルデータ化する(4709)。セルデータを
格納BESに対応するBES用作業領域へ複写する(4
710)。
【0223】上記作業領域が満杯か否か判定する(47
11)。満杯でなければ次の元データを読む(470
5)。満杯であれば、対応するBESへ同作業領域デー
タを転送し、BESキューブデータの生成を行い(51
00)、次の元データを読み出す(4705)。元デー
タ終了判定(4706)において、元データが終了した
と判断された場合、各BES用の作業領域上に残ってい
るセルデータを転送し、残りのセルデータによるBES
キューブデータ生成を行う(5100)。上記終了後、
各BES用作業領域を解放し(4714)、データロー
ド処理を終了する。
【0224】図48はブロック化範囲テーブル生成を示
すフローチャートである。ブロック化範囲テーブルを作
成する次元の個数をカウントする次元カウンタを初期化
する(4801)。ある次元のブロック化範囲個数をカ
ウントする範囲カウンタを初期化する(4802)。処
理対象次元の範囲当たりデータ件数を計算する(480
3)。元データ次元メンバテーブルを参照し、範囲当た
りデータ件数まで各メンバ毎の件数をカウントする(4
804)。
【0225】上記範囲を範囲カウンタのブロック化範囲
としてブロック化メンバ範囲テーブルに記憶し、範囲カ
ウンタを1増分する(4805)。範囲カウンタが最大
範囲数を超えるか否か判定する(4806)。もし超え
ない場合、次のブロック化メンバ範囲の件数をカウント
する(4807)。超えた場合、次元カウンタを1増分
する。次元カウンタが多次元数を超えるか否か判定する
(4808)。もし超えない場合、次の次元のブロック
化メンバ範囲を決定する。超えた場合、次元メンバ範囲
テーブル生成を終了する。
【0226】図49は多次元ブロックインデクスの生成
処理手順を示すフローチャートである。多次元ブロック
インデクスは各次元のブロック範囲値の積で決定された
多次元ブロックインデクスの任意座標から参照されるB
ESIDやページIDからセルデータ集合を決定するイ
ンデクス機能として利用する。また多次元ブロックイン
デクス生成はFES多次元ブロックインデクス、BES
多次元ブロックインデクスの生成に利用され、FES、
BESで稼動する処理である。
【0227】多次元ブロックインデクスの生成では、ブ
ロック化メンバ範囲テーブルと、FES、BESの処理
サーバ種別を入力パラメタとする。ブロック化メンバ範
囲テーブルの各次元の範囲の個数の積とページ長、ペー
ジヘッダ長、BESID長またはページID長から、多
次元ブロックインデクスの容量を計算する(490
1)。上記で決定した容量分、多次元ブロックインデク
スを記憶媒体に割当てる(4902)。
【0228】生成サーバ種別を判定する(4903)。
生成サーバ種別がFESの場合、多次元ブロックインデ
クスのセルにBESIDを対角割当てし(5000)、
処理を終了する。
【0229】生成サーバ種別がBESの場合、ブロック
化メンバ範囲テーブルの各次元の範囲の個数の積からキ
ューブデータ、オーバフローデータの容量を計算する。
BES用多次元ブロックインデクスのセル数とキューブ
データのページ数は1対1になるように範囲を選択す
る。よってBES用多次元ブロックインデクスのセル数
×キューブデータページ長をキューブデータ容量とする
(4905)。キューブデータ、オーバフローデータを
記憶媒体の記憶領域に上記容量分割当てる(490
6)。割当てた多次元ブロックインデクスのセルにキュ
ーブデータのページIDが対角上に割当てられるようペ
ージIDを設定し(5000)処理を終了する。
【0230】図50は対角割当て手順を示すフローチャ
ートである。対角割当てについて述べる。本処理の例を
図12で示した。以下詳細を述べる。 資源割当て次元
を決定する(5001)。本例では単純に次元IDの最
も若いものを資源割当て次元と仮定する。資源割当て次
元の機能は線形性を持つ資源との対応関係を割当てるこ
とで、次元メンバの追加の少ない次元を選択するのが望
ましい。
【0231】資源の初期割当てを行う(5002)。図
12では以下のように割当てた。 商品次元の初期資源割当て ブロックID(1、1、1)→資源番号 1 ブロックID(2、1、1)→資源番号 2 ブロックID(3、1、1)→資源番号 3 マーケット次元の初期資源割当て ブロックID(1、1、1)→資源番号 1 ブロックID(1、2、1)→資源番号 2 ブロックID(1、3、1)→資源番号 3 期間次元の初期資源割当て ブロックID(1、1、1)→資源番号 1 ブロックID(1、1、2)→資源番号 2 ブロックID(1、1、3)→資源番号 3 この例の場合、ブロックID(1、1、1)から各次元
のブロックID方向に順番に資源を割当てる。割当てる
資源がなくなった場合、最初の資源番号から割当て直
す。
【0232】次に次元IDカウンタiを初期化する(5
003)。次元IDカウンタiのブロックカウンタjを
初期化する。ブロックカウンタは多次元ブロック化メン
バ範囲テーブル1700の次元メンバ範囲テーブル17
05の各エントリを示すカウンタである(5004)。
次元IDi以外の次元のブロックカウンタを初期化す
る。i以外のブロックカウンタは対角座標を決めるため
のカウンタである(5005)。上記により対角割当て
を行うためのブロック初期座標が決められる。
【0233】ブロック初期座標が決まると、その初期座
標に先の初期割当てで割当てた資源番号を現資源番号と
して保持する(5006)。次元IDi以外の全次元の
ブロックカウンタを1増分しブロックIDの対角移動を
行う(5008)。
【0234】各次元のブロックカウンタからブロックI
Dを計算し、同ブロックIDの資源に現資源番号を割当
て、割当て次元に沿った隣接ブロックが異なる資源とな
るように資源を割当てる(5007)。図12では対角
座標(2、2、2)の資源番号1が割当てられると、資
源割当て次元に沿って資源を割当てる。
【0235】本処理ではブロックIDに割当てられた資
源について割当て次元の上位方向については現資源番号
より1つ小さな資源番号を付与し、下位方向については
現資源番号より1つ大きな資源番号を付与する。同資源
番号付与を繰り返すことで割当て次元に沿って資源が割
当てられる。
【0236】次にi以外の次元のブロックカウンタが各
次元のブロック化メンバ範囲の個数より小さいか否か判
定し、対角座標割当て可能な範囲の判定を行う(500
9)。 範囲内でない場合、5008の対角座標移動を
行う。範囲外になった場合、現在割当てを行っている次
元IDiのブロックカウンタjを1増分する(501
0)。
【0237】jが次元IDiのブロック化メンバ範囲個
数以下か否か判定し次元iのブロック化メンバ範囲個数
内か否か判定する(5011)。もし範囲内でなければ
5005の次元IDi以外のブロックカウンタ初期化を
行う。範囲外の場合、次の処理対象次元IDを決めるた
め、次元IDカウンタiを1増分する(5012)。次
元IDカウンタが次元数以下か否か判定し、全次元につ
いての対角割当てが終了したか否か判定する(501
3)。全次元の割当てが終了していなければ、5004
の次元IDiのブロックカウンタ初期化を行い、終了し
ていれば対角割当て処理を終了する。
【0238】上記では単純に資源番号を資源に割当てる
ことで対角割当てを行う処理を説明した。図49の多次
元ブロックインデクスの生成4900ではFES、BE
Sの多次元ブロックインデクスの対角割当てに本処理が
呼び出される。FESの場合、上記の資源番号がBES
IDに対応する。BESの場合、ページIDを対角に割
当てる必要があるため、上記の資源番号は物理記憶構成
テーブルのエントリ番号に相当する。ページIDの取得
は割当てた資源番号から決まる物理記憶構成テーブルの
エントリ番号に対応する空き領域へのポインタ4204
から1ページ分ページIDを取得する。物理記憶構成テ
ーブルの処理対象エントリの空き領域ポインタ更新と空
き容量4203の更新を行うことで次のページ取得時に
異なるページIDを返す。
【0239】また、対角上に並ぶブロックIDを連続し
たページに割当てる場合、対角の割当てを優先的に行
い、上記ページ取得を行ってページIDを付与した後、
割当て次元に沿った資源割当てを行うことで、対角座標
が連続的ページIDに配置されることを保証する。
【0240】図51はBES多次元キューブデータ生成
処理手順を示すフローチャートである。BES多次元キ
ューブデータ生成処理は全セルデータを多次元キューブ
データまたはオーバフローページ中に格納後、セルID
によるソートでセルデータを多次元ブロックインデクス
で示されるページ位置に格納する。FESからのデータ
を受信する(5101)。FESからの最後のデータ登
録か否か判定する(5102)。最後のデータ登録でな
い場合、FESから転送されたセルデータ群をハードデ
ィスク上の作業領域に格納して(5111)、再度FE
Sからのデータ受信を待つ。
【0241】FESからのデータを全て受信した場合、
キューブデータへのデータロードを開始する。最初にハ
ードディスク上の作業領域をn個に分割する(510
3)。n個の作業領域をそれぞれセルIDでソートする
(5104)。n個の作業領域のすべてのセルデータ参
照が終了したか否かの判定を行う(5105)。すべて
の参照が終了した場合、BES多次元キューブデータの
生成は終了する。すべての参照が終了していない場合、
以下を行う。
【0242】ソートされたハードディスク上の作業領域
に対してトーナメントスキャンを行い、最小のセルID
を持ったセルデータを取得する(5106)。取得した
セルデータを持っていたn分割作業領域の次の参照は参
照セルデータの次のセルデータとなる。次にセルIDに
対応するページを多次元ブロックインデクスより取得す
る(5107)。該当ページが満杯か否かの判定を行う
(5108)。この時、オーバフローページ群が既にあ
れば、そのオーバフローページ群に対して満杯か否かの
判定を行う。既に満杯の場合、オーバフローファイルか
らページを取得し、多次元ブロックインデクスから取得
したページにポインタを設定する。既に取得ページにオ
ーバフローページへのポインタが設定されている場合、
新たに取得したオーバフローページから古いオーバフロ
ーページへのポインタを設定する(5109)。
【0243】満杯でなかったページもしくは取得したペ
ージにセルデータを格納する。この時、対象多次元デー
タベースモデルの格納形式に従い、線形配置型データペ
ージ形式または圧縮配置型データページ形式のいづれか
の形式でセルデータをページに格納し、次のセルデータ
が残っているか否かの判定を行う(5110)。
【0244】
【発明の効果】本発明によれば、多次元データ分析向け
のデータベース管理システムにおいて、その基本機能で
ある多次元データの検索機能(スライス機能)と集約機
能を高速化する効果がある。
【図面の簡単な説明】
【図1】本発明による多次元データベース管理システム
の一実施例の処理ブロック構成を示す図である。
【図2】多次元データベースのデータモデル定義形式の
一例を示す図である。
【図3】多次元データベースのデータモデル定義例を示
す図である。
【図4】多次元データベース定義例の商品次元の次元階
層を説明する図である。
【図5】多次元データベース定義例のマーケット次元の
次元階層を説明する図である。
【図6】多次元データベース定義例の期間次元の次元階
層を説明する図である。
【図7】多次元データベース定義例の素データを説明す
る図である。
【図8】多次元データベース定義例の素データと集約デ
ータの関係を説明する図である。
【図9】本発明による多次元データベース管理システム
の一実施例のハードウェア構成を示す図である。
【図10】本発明による多次元データベース管理システ
ムの一実施例の処理ブロック構成を示す図である。
【図11】多次元データベース格納構造を示す図であ
る。
【図12】セルデータ格納ページの対角割当て方法を示
す図である。
【図13】多次元データベーステーブルの構成を示す図
である。
【図14】多次元データモデル定義情報の格納形式を説
明する図である。
【図15】データキューブテーブルの構成を示す図であ
る。
【図16】集約データキューブテーブルの構成を示す図
である。
【図17】多次元ブロック化メンバ範囲テーブルの構成
を示す図である。
【図18】FES多次元ブロックインデクスのデータペ
ージの構成を示す図である。
【図19】BES多次元ブロックインデクスのデータペ
ージの構成を示す図である。
【図20】圧縮配置型セルデータページの構成を示す図
である。
【図21】線形配置型セルデータページの構成を示す図
である。
【図22】多次元データベース問合せ要求処理手順を示
すフローチャートである。
【図23】問合せの意味解析処理を示すフローチャート
である。
【図24】多次元データ検索実行手順を示すフローチャ
ートである。
【図25】多次元ブロックインデクス位置計算処理を示
すフローチャートである。
【図26】検索結果データ併合処理手順を示すフローチ
ャートである。
【図27】要求時集約計算処理の中間結果をFESメモ
リ上に格納するためのデータ構造を示す図である。
【図28】要求時集約計算処理におけるブロック読み出
し順を説明する図である。
【図29】要求時集約計算処理の中間結果をFESメモ
リ上に格納するためのデータ構造を示す図である。
【図30】要求時集約計算処理の最終結果の格納構造を
示す図である。
【図31】要求時集約計算処理手順を示すフローチャー
トである。
【図32】集約計算結果格納用データ構造作成処理手順
を示すフローチャートである。
【図33】並列集約計算処理の制御手順を示すフローチ
ャートである。
【図34】ブロック検索範囲決定処理手順を示すフロー
チャートである。
【図35】BES側での集約計算処理手順を示すフロー
チャートである。
【図36】FES側での集約計算処理手順を示すフロー
チャートである。
【図37】BES側での最終集約計算結果の格納処理手
順を示すフローチャートである。
【図38】実体化集約データキューブの入替え処理手順
を示すフローチャートである。
【図39】実体化集約データキューブの最適集合再計算
処理手順を示すフローチャートである。
【図40】元データ解析とデータベース管理情報初期化
に関する処理ブロック構成を示す図である。
【図41】元データのロードに関する構成を示す図であ
る。
【図42】多次元データベース管理システムが管理する
物理記憶構成を格納するテーブル構成を示す図である。
【図43】元データ解析処理手順を示すフローチャート
である。
【図44】元データの統計情報の取得手順を示すフロー
チャートである。
【図45】格納構造の決定処理手順を示すフローチャー
トである。
【図46】データロード処理手順の第一部分を示すフロ
ーチャートである。
【図47】データロード処理手順の第二部分を示すフロ
ーチャートである。
【図48】ブロック化範囲テーブル生成を示すフローチ
ャートである。
【図49】多次元ブロックインデクスの生成処理手順を
示すフローチャートである。
【図50】対角割当て手順を示すフローチャートであ
る。
【図51】BES多次元キューブデータ生成処理手順を
示すフローチャートである。
【符号の説明】
101…問合せ端末、102…WAN・LAN、103
…多次元問合せ要求処理・集約データ最適実体化処理ノ
ード、104…多次元データベース管理情報、105…
多次元ブロックインデクス、106、107、108…
集約計算処理ノード、109、110、111…多次元
スキャン処理・多次元インサート処理ノード、112、
113、114…多次元ブロックインデクス、115…
相互結合ネットワーク、801…素データ、802、8
03、804、805、806、807、808、80
9、810、811、812、813、814、81
5、816、817、818、819、820、82
1、822、823、824、825、826、82
7、828、829、830…集約データ、901、9
02、903、904…問合せ端末、905… WAN
・LAN、906…プロセサ、907…ハードディスク
装置、908…相互結合ネットワーク、909、91
0、911…プロセサ、912、913、914、91
5、916、917、918、919、920…ハード
ディスク装置、1001…問合せ端末、1002…WA
N・LAN、1003…フロントエンドサーバノード、
1004…多次元データベース管理情報、1005…多
次元ブロックインデクス、1006、1007、100
8…バックエンドサーバノード、1009、1010、
1011…多次元ブロックインデクス、1012…相互
結合ネットワーク、1101…フロントエンドサーバノ
ード、1102 、1103 、1104、1105…バ
ックエンドサーバノード 、1111 、1112 、1
113 、1114…ハードディスク、1120… FE
S多次元ブロック化メンバ範囲テーブル、1121…
BES多次元ブロック化メンバ範囲テーブル、1130
…FES多次元ブロックインデクス、1131… BE
S多次元ブロックインデクス、1140…キューブデー
タ、1150…オーバフローファイル、1201…多次
元論理ブロック空間、1202 、1203 、1204
、1205…ブロックID、1210、1220、1
230、1240…ハードディスク、1300…多次元
データベーステーブル、1500…データキューブテー
ブル、 1600…集約データキューブテーブル、28
01A、2801B、2801C、2801D…多次元
論理ブロック空間、 2900A、2900B、290
0D…BES集約計算中間結果リスト、3005A、3
005B…ページ、3006A、3006B…バッファ
機能付きメモリ領域。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 木村 智子 神奈川県川崎市幸区鹿島田890番地の12 株式会社日立製作所情報・通信開発本部内 (72)発明者 増石 哲也 神奈川県川崎市幸区鹿島田890番地の12 株式会社日立製作所情報・通信開発本部内 (72)発明者 米田 茂 神奈川県川崎市幸区鹿島田890番地の12 株式会社日立製作所情報・通信開発本部内

Claims (15)

    【特許請求の範囲】
  1. 【請求項1】複数の次元のメンバの組合せで識別される
    データを記憶し、該データに関する問合せ要求を処理す
    るデータベース管理システムにおいて、記憶装置にデー
    タを格納する方法であって、 各次元に属する複数のメンバをそれぞれグループ分け
    し、 前記記憶装置にインデクスを格納する領域と複数のペー
    ジを格納する領域を割当て、 前記複数のページには、データと、該データに対応する
    次元メンバの組をコード表現した数値とを対にして格納
    し、 前記インデクスは、次元のメンバグループの各組合せに
    それぞれ対応するエントリで構成し、 前記エントリは、ページを識別するページIDの格納域
    を含み、前記各エントリに前記ページIDで関連付けら
    れた各ページには、データに対応する次元メンバの組中
    の各メンバを、前記グループ分けで対応づけられた次元
    メンバグループで置き換えた組が、該エントリに対応す
    る次元メンバグループの組と一致するデータを格納する
    ことを特徴とする多次元データ処理方法。
  2. 【請求項2】複数の次元のメンバの組合せで識別される
    データを記憶し、該データに関する問合せ要求を処理す
    るデータベース管理システムにおいて、記憶装置にデー
    タを格納する方法であって、 各次元のメンバにそれぞれ一連の座標値を割当て、 各データに対応する次元メンバの座標値の組を該データ
    のセル座標とし、 各次元に属する複数のメンバをそれぞれグループ分け
    し、該メンバグループにそれぞれ一連の座標値を割当
    て、 各データのセル座標中の各次元メンバ座標値を、前記グ
    ループ分けで対応づけられた次元メンバグループの座標
    値で置き換えた組を、該データのブロック座標とし、 前記記憶装置にインデクスを格納する領域と複数のペー
    ジを格納する領域を割当て、 前記複数のページには、データと、該データのセル座標
    を数値コード化したセルIDとを対にして格納し、 前記インデクスは、次元のメンバグループの各組合せに
    それぞれ対応するエントリで構成し、かつ、エントリは
    対応するブロック座標について入れ子順になるよう線形
    配置し、 前記エントリは、ページを識別するページIDの格納域
    を含み、前記各エントリに前記ページIDで関連付けら
    れた各ページには、該エントリに対応するブロック座標
    と同一のブロック座標をもつデータを格納することを特
    徴とする多次元データ処理方法。
  3. 【請求項3】複数の次元のメンバの組合せで識別される
    データを記憶し、該データに関する問合せ要求を処理す
    るデータベース管理システムにおいて、記憶装置にデー
    タを格納する方法であって、 各次元のメンバにそれぞれ一連の座標値を割当て、 各データに対応する次元メンバの座標値の組を該データ
    のセル座標とし、 各次元に属する複数のメンバをそれぞれグループ分け
    し、該メンバグループにそれぞれ一連の座標値を割当
    て、 各データのセル座標中の各次元メンバ座標値を、前記グ
    ループ分けで対応づけられた次元メンバグループの座標
    値で置き換えた組を、該データのブロック座標とし、 前記記憶装置にインデクスを格納する領域と複数のペー
    ジを格納する領域を割当て、 前記複数のページには、データと、該データのセル座標
    を数値コード化したセルIDとを対にして格納し、 前記インデクスは、次元のメンバグループの各組合せに
    それぞれ対応するエントリで構成し、かつ、エントリは
    対応するブロック座標について入れ子順になるよう線形
    配置し、 前記エントリは、ページを識別するページIDの格納域
    を含み、前記各エントリに前記ページIDで関連付けら
    れた各ページには、該エントリに対応するブロック座標
    と同一のブロック座標をもつデータを格納し、かつ、該
    データのページ中の格納位置は、セルIDでソートした
    順に連続配置することを特徴とする多次元データ処理方
    法。
  4. 【請求項4】複数の次元のメンバの組合せで識別される
    データを記憶し、該データに関する問合せ要求を処理す
    るデータベース管理システムにおいて、記憶装置にデー
    タを格納する方法であって、 各次元のメンバにそれぞれ一連の座標値を割当て、 各データに対応する次元メンバの座標値の組を該データ
    のセル座標とし、 各次元に属する複数のメンバを座標値が連続する単位で
    それぞれグループ分けし、該メンバグループにそれぞれ
    一連の座標値を割当て、 各データのセル座標中の各次元メンバ座標値を、前記グ
    ループ分けで対応づけられた次元メンバグループの座標
    値で置き換えた組を、該データのブロック座標とし、 各データのセル座標中の各次元メンバ座標値を、該値か
    ら、該座標値のメンバと同じグループに属するメンバの
    座標値のうちの最小値を差し引いた値で置き換えた組
    を、該データの相対セル座標とし、 各データに、該データのブロック座標を数値コード化し
    た値が上位桁部分、該データの相対セル座標を数値コー
    ド化した値が下位桁部分となるセルIDを割当て、 前記記憶装置にインデクスを格納する領域と複数のペー
    ジを格納する領域を割当て、 前記複数のページの本体部には、データと、該データの
    セルIDの下位桁部分とを対にして格納し、 前記複数のページのヘッダ部には、該ページの本体部に
    格納されたデータのセルIDの上位桁部分を格納し、 前記インデクスは、次元のメンバグループの各組合せに
    それぞれ対応するエントリで構成し、かつ、エントリは
    対応するブロック座標について入れ子順になるよう線形
    配置し、 前記エントリは、ページを識別するページIDの格納域
    を含み、前記各エントリに前記ページIDで関連付けら
    れた各ページには、該エントリに対応するブロック座標
    と同一のブロック座標をもつデータを格納し、かつ、該
    データのページ中の格納位置は、セルIDでソートした
    順に連続配置することを特徴とする多次元データ処理方
    法。
  5. 【請求項5】複数の次元のメンバの組合せで識別される
    データを記憶し、該データに関する問合せ要求を処理す
    るデータベース管理システムにおいて、記憶装置にデー
    タを格納する方法であって、 各次元のメンバにそれぞれ一連の座標値を割当て、 各データに対応する次元メンバの座標値の組を該データ
    のセル座標とし、 各次元に属する複数のメンバを座標値が連続する単位で
    それぞれグループ分けし、該メンバグループにそれぞれ
    一連の座標値を割当て、 各データのセル座標中の各次元メンバ座標値を、前記グ
    ループ分けで対応づけられた次元メンバグループの座標
    値で置き換えた組を、該データのブロック座標とし、 各データのセル座標中の各次元メンバ座標値を、該値か
    ら、該座標値のメンバと同じグループに属するメンバの
    座標値のうちの最小値を差し引いた値で置き換えた組
    を、該データの相対セル座標とし、 前記記憶装置にインデクスを格納する領域と複数の第1
    種のページと複数の第2種のページを格納する領域を割
    当て、 前記複数の第1種のページには、データと、該データの
    セル座標を数値コード化したセルIDとを対にして格納
    し、 前記複数の第2種のページには、データを格納し、 前記インデクスは、次元のメンバグループの各組合せに
    それぞれ対応するエントリで構成し、かつ、エントリは
    対応するブロック座標について入れ子順になるよう線形
    配置し、 前記エントリは、ページを識別するページIDの格納域
    を含み、 前記各エントリに前記ページIDで関連付けられた第1
    種の各ページには、該エントリに対応するブロック座標
    と同一のブロック座標をもつデータを格納し、かつ、該
    データのページ中の格納位置は、セルIDでソートした
    順に連続配置し、 前記各エントリに前記ページIDで
    関連付けられた第2種の各ページには、該エントリに対
    応するブロック座標と同一のブロック座標をもつデータ
    を格納し、かつ、該データのページ中の格納位置は、相
    対セル座標について入れ子順に線形配置することを特徴
    とする多次元データ処理方法。
  6. 【請求項6】複数の次元のメンバの組合せで識別される
    データを記憶し、該データに関する問合せ要求を処理す
    るデータベース管理システムにおいて、データ検索要求
    を処理する方法であって、 各次元のメンバにそれぞれ一連の座標値を割当て、 各データに対応する次元メンバの座標値の組を該データ
    のセル座標とし、 各次元に属する複数のメンバを座標値が連続する単位で
    それぞれグループ分けし、該メンバグループにそれぞれ
    一連の座標値を割当て、 各データのセル座標中の各次元メンバ座標値を、前記グ
    ループ分けで対応づけられた次元メンバグループの座標
    値で置き換えた組を、該データのブロック座標とし、 前記記憶装置にインデクスを格納する領域と複数のペー
    ジを格納する領域を割当て、 前記複数のページには、データと、該データのセル座標
    を数値コード化したセルIDとを対にして格納し、 前記インデクスは、次元のメンバグループの各組合せに
    それぞれ対応するエントリで構成し、かつ、エントリは
    対応するブロック座標について入れ子順になるよう線形
    配置し、 前記エントリは、ページを識別するページIDの格納域
    を含み、 前記各エントリに前記ページIDで関連付けられた各ペ
    ージには、該エントリに対応するブロック座標と同一の
    ブロック座標をもつデータを格納し、かつ、該データの
    ページ中の格納位置は、セルIDでソートした順に連続
    配置し、 データ検索要求があった場合、 データ検索要求に指定された各次元のメンバ範囲に対応
    する座標範囲を割当て、 前記各次元のメンバ範囲に対
    応する座標範囲に対応するメンバグループの一連の座標
    範囲を割当て、 各次元のメンバ範囲に対応する座標範囲に対応する各次
    元メンバ範囲座標値を前記グループ分けで対応づけられ
    た次元メンバグループの座標範囲に対応する範囲座標値
    に置き換えたブロック座標の組を検索要求の検索範囲と
    し、 検索要求で指定された多次元の参照順序に基づいてブロ
    ック座標の組を参照し、 参照したブロック座標の組に
    対応する前記インデクスのエントリを計算しエントリに
    格納されているページIDに対応するページからブロッ
    ク座標の組に対応する各次元のメンバ範囲に対応する座
    標範囲と前記データ検索要求に指定された各次元のメン
    バ範囲に対応する座標範囲に対応するセルIDを持った
    データを検索し、かつ前記データ検索要求に指定された
    各次元のメンバ範囲に対応する座標範囲によって決まる
    セルIDを用いて検索の開始位置をソートされたデータ
    の連続配置位置から決めることを特徴とする多次元デー
    タ処理方法。
  7. 【請求項7】複数の次元のメンバの組合せで識別される
    データを記憶し、該データに関する問合せ要求を処理す
    るデータベース管理システムにおいて、データ検索要求
    を処理する方法であって、 各次元のメンバにそれぞれ一連の座標値を割当て、 各データに対応する次元メンバの座標値の組を該データ
    のセル座標とし、 各次元に属する複数のメンバを座標値が連続する単位で
    それぞれグループ分けし、該メンバグループにそれぞれ
    一連の座標値を割当て、 各データのセル座標中の各次元メンバ座標値を、前記グ
    ループ分けで対応づけられた次元メンバグループの座標
    値で置き換えた組を、該データのブロック座標とし、 各データのセル座標中の各次元メンバ座標値を、該値か
    ら、該座標値のメンバと同じグループに属するメンバの
    座標値のうちの最小値を差し引いた値で置き換えた組
    を、該データの相対セル座標とし、 前記記憶装置にインデクスを格納する領域と複数の第1
    種のページと複数の第2種のページを格納する領域を割
    当て、 前記複数の第1種のページには、データと、該データの
    セル座標を数値コード化したセルIDとを対にして格納
    し、 前記複数の第2種のページには、データを格納し、 前記インデクスは、次元のメンバグループの各組合せに
    それぞれ対応するエントリで構成し、かつ、エントリは
    対応するブロック座標について入れ子順になるよう線形
    配置し、 前記エントリは、ページを識別するページIDの格納域
    を含み、 前記各エントリに前記ページIDで関連付けられた第1
    種の各ページには、該エントリに対応するブロック座標
    と同一のブロック座標をもつデータを格納し、かつ、該
    データのページ中の格納位置は、セルIDでソートした
    順に連続配置し、 前記各エントリに前記ページIDで
    関連付けられた第2種の各ページには、該エントリに対
    応するブロック座標と同一のブロック座標をもつデータ
    を格納し、かつ、該データのページ中の格納位置は、相
    対セル座標について入れ子順に線形配置し、 データ検索要求があった場合、 データ検索要求に指定された各次元のメンバ範囲に対応
    する座標範囲を割当て、 前記各次元のメンバ範囲に対
    応する座標範囲に対応するメンバグループの一連の座標
    範囲を割当て、 各次元のメンバ範囲に対応する座標範囲に対応する各次
    元メンバ範囲座標値を前記グループ分けで対応づけられ
    た次元メンバグループの座標範囲に対応する範囲座標値
    に置き換えたブロック座標の組を検索要求の検索範囲と
    し、 検索要求で指定された多次元の参照順序に基づいてブロ
    ック座標の組を参照し参照したブロック座標の組に対応
    する前記インデクスのエントリを計算しエントリに格納
    されているページIDに対応するページから前記第1種
    のページに関してブロック座標の組に対応する各次元の
    メンバ範囲に対応する座標範囲と前記データ検索要求に
    指定された各次元のメンバ範囲に対応する座標範囲に対
    応するセルIDを持ったデータを検索し、かつ前記デー
    タ検索要求に指定された各次元のメンバ範囲に対応する
    座標範囲によって決まるセルIDを用いて検索の開始位
    置をソートされたデータの連続配置位置から決める前記
    第2種のページに関してブロック座標の組に対応する各
    次元のメンバ範囲に対応する座標範囲と前記データ検索
    要求に指定された各次元のメンバ範囲に対応する座標範
    囲に内包されるセルIDを持ったデータを検索し、かつ
    前記ブロック座標の組に対応する各次元のメンバ範囲に
    対応する座標範囲に対応して決まるセルIDを用いて入
    れ子順に線形配置したデータの検索開始位置を決めるこ
    とを特徴とする多次元データ処理方法。
  8. 【請求項8】1つまたは複数のCPUと、1つまたは複
    数の並列読出し可能な記憶装置を含む複数の処理ノード
    を有し、複数の次元のメンバの組合せで識別されるデー
    タを記憶し、該データに関する問合せ要求を処理するデ
    ータベース管理システムにおいて、前記複数の記憶装置
    にデータを格納する方法であって、 各次元のメンバにそれぞれ一連の座標値を割当て、 各データに対応する次元メンバの座標値の組を該データ
    のセル座標とし、 各次元に属する複数のメンバをそれぞれグループ分け
    し、該メンバグループにそれぞれ一連の座標値を割当
    て、 各データのセル座標中の各次元メンバ座標値を、前記グ
    ループ分けで対応づけられた次元メンバグループの座標
    値で置き換えた組を、該データのブロック座標とし、 前記各処理ノードに含まれる各記憶装置に複数のページ
    を格納する領域をそれぞれ割当て、ブロック座標空間で
    次元のある対角面に並行で、かつ、隣合う超平面上に位
    置する2つのデータが互いに異なる記憶装置のページに
    割当てられるようにデータを格納することを特徴とする
    多次元データ処理方法。
  9. 【請求項9】複数の次元のメンバの組合せで識別される
    データを記憶し、該データに関する問合せ要求を処理す
    るデータベース管理システムにおいて、記憶装置に任意
    の元データを格納する方法であって、 複数の元データの複数のフィールドに対応する複数の次
    元の個々のメンバの元データ件数を数え上げ、 各次元のメンバにそれぞれ一連の座標値を割当て、 各次元に属する複数のメンバを座標値が連続する単位で
    それぞれグループ分けし、前記グループ分けにおいてあ
    る次元に属する複数のメンバの持つ元データ件数の総和
    が同じになるようにそれぞれグループ分けし、該メンバ
    グループにそれぞれ一連の座標値を割当て、 前記記憶装置にインデクスを格納する領域と複数のペー
    ジを格納する領域を割当て、 元データを読み、 元データの複数のフィールドに対応する複数の次元の個
    々のメンバに対応するセル座標を数値コード化したセル
    IDと元データの上記複数次元に対応しないフィールド
    を対にしてデータを構成し、前記データを作業記憶領域
    に格納し、全ての元データに前記を適用し、 前記インデクスは、次元のメンバグループの各組合せに
    それぞれ対応するエントリで構成し、かつ、エントリは
    対応するブロック座標について入れ子順になるよう線形
    配置し、 前記エントリは、ページを識別するページIDの格納域
    を含み、 前記作業記憶領域中のデータに対してデータをセルID
    をキーとしてソートし、 作業領域のデータのセルID
    に対応する複数の次元の座標値に対応する前記グループ
    分けで対応づけられた次元メンバグループの座標値で置
    き換えた組に対応する前記インデクスのエントリを計算
    し、前記各エントリに前記ページIDで関連付けられた
    各ページに作業領域から取り出したデータを格納し、該
    エントリに対応するブロック座標と同一のブロック座標
    をもつデータを格納することを特徴とする多次元データ
    処理方法。
  10. 【請求項10】複数の次元のメンバの組合せで識別され
    るデータを記憶し、該データに関する問合せ要求を処理
    するデータベース管理システムにおいて、各次元がもつ
    メンバの階層構造をもとに規定されるデータ集約要求を
    処理する方法であって、 各次元のメンバに、同一の上位メンバをもつものどうし
    で値が連続するように、それぞれ一連の座標値を割当
    て、 各データに対応する次元メンバの座標値の組を該データ
    のセル座標とし、 各次元に属する複数のメンバをそれぞれグループ分け
    し、該メンバグループにそれぞれ一連の座標値を割当
    て、 各データのセル座標中の各次元メンバ座標値を、前記グ
    ループ分けで対応づけられた次元メンバグループの座標
    値で置き換えた組を、該データのブロック座標とし、 2次記憶装置にインデクスを格納する領域と複数のペー
    ジを格納する領域を割当て、 前記複数のページには、データと、該データのセル座標
    を数値コード化したセルIDとを対にして格納し、 前記インデクスは、次元のメンバグループの各組合せに
    それぞれ対応するエントリで構成し、かつ、エントリは
    対応するブロック座標について入れ子順になるよう線形
    配置し、 前記エントリは、ページを識別するページIDの格納域
    を含み、 前記各エントリに前記ページIDで関連付けられた各ペ
    ージには、該エントリに対応するブロック座標と同一の
    ブロック座標をもつデータを格納し、 データ集約要求があった場合、 1次記憶装置に集約計算の中間結果を格納する領域を割
    当て、集約計算の演算対象となる一連のデータを格納す
    るページを順次、1次記憶装置に読込ながら、前記中間
    結果格納領域のデータに集約することにより、集約計算
    の最終結果を得ることを特徴とする多次元データ処理方
    法。
  11. 【請求項11】複数の次元のメンバの組合せで識別され
    るデータを記憶し、該データに関する問合せ要求を処理
    するデータベース管理システムにおいて、各次元がもつ
    メンバの階層構造をもとに規定されるデータ集約要求を
    処理する方法であって、 各次元のメンバに、同一の上位メンバをもつものどうし
    で値が連続するように、それぞれ一連の座標値を割当
    て、 各データに対応する次元メンバの座標値の組を該データ
    のセル座標とし、 各次元に属する複数のメンバをそれぞれグループ分け
    し、該メンバグループにそれぞれ一連の座標値を割当
    て、 各データのセル座標中の各次元メンバ座標値を、前記グ
    ループ分けで対応づけられた次元メンバグループの座標
    値で置き換えた組を、該データのブロック座標とし、 2次記憶装置にインデックスを格納する領域と複数のペ
    ージを格納する領域を割当て、 前記複数のページには、データと、該データのセル座標
    を数値コード化したセルIDとを対にして格納し、 前記インデックスは、次元のメンバグループの各組合せ
    にそれぞれ対応するエントリで構成し、かつ、エントリ
    は対応するブロック座標について入れ子順になるよう線
    形配置し、 前記エントリは、ページを識別するページIDの格納域
    を含み、 前記各エントリに前記ページIDで関連付けられた各ペ
    ージには、該エントリに対応するブロック座標と同一の
    ブロック座標をもつデータを格納し、 データ集約要求があった場合、 1次記憶装置に集約計算の中間結果を格納する領域を割
    当て、 集約する1つまたは複数の次元のメンバグループの座標
    値を任意の次元について優先的に順次変化させ、集約計
    算の演算対象となるデータのメンバグループの組合せを
    決定し、前記インデクスの前記メンバグループの組合せ
    に対応するエントリのページIDで識別されるページを
    順次、1次記憶装置に読込みながら、前記中間結果格納
    領域のデータに集約することにより、集約計算の最終結
    果を得ることを特徴とする多次元データ処理方法。
  12. 【請求項12】1つまたは複数のCPUと、1つまたは
    複数の並列読出し可能な記憶装置を含む複数の処理ノー
    ドを有し、 複数の次元のメンバの組合せで識別されるデータを記憶
    し、 該データに関する問合せ要求を処理するデータベース管
    理システムにおいて、 各次元がもつメンバの階層構造をもとに規定されるデー
    タ集約要求を処理する方法であって、 各次元のメンバにそれぞれ一連の座標値を割当て、 各データに対応する次元メンバの座標値の組を該データ
    のセル座標とし、 各次元に属する複数のメンバをそれぞれグループ分け
    し、該メンバグループにそれぞれ一連の座標値を割当
    て、 各データのセル座標中の各次元メンバ座標値を、前記グ
    ループ分けで対応づけられた次元メンバグループの座標
    値で置き換えた組を、該データのブロック座標とし、 前記各処理ノードに含まれる2次記憶装置にインデクス
    を格納する領域と複数のページを格納する領域をそれぞ
    れ割当て、 前記複数のページには、データと、該データのセル座標
    を数値コード化したセルIDとを対にして格納し、 前記インデックスは、次元のメンバグループの各組合せ
    にそれぞれ対応するエントリで構成し、かつ、エントリ
    は対応するブロック座標について入れ子順になるよう線
    形配置し、 前記エントリは、ページを識別するページIDの格納域
    を含み、 前記各エントリに前記ページIDで関連付けられた各ペ
    ージには、該エントリに対応するブロック座標と同一の
    ブロック座標をもつデータを格納し、 データ集約要求があった場合、 前記各処理ノードに含まれる1次記憶装置に集約計算の
    中間結果を格納する領域を割当て、 前記各処理ノードに含まれる各記憶装置から集約計算の
    演算対象となる一連のデータを格納するページを順次、
    該処理ノードに含まれる1次記憶装置に読込みながら、
    前記中間結果格納領域のデータに集約し、前記各中間結
    果格納領域のデータを併合することで、集約計算の最終
    結果を得ることを特徴とする多次元データ処理方法。
  13. 【請求項13】1つまたは複数のCPUと、1つまたは
    複数の並列読出し可能な記憶装置を含む複数の処理ノー
    ドを有し、 各次元がもつメンバの階層構造をもとに規定されるデー
    タ集約要求を処理する方法であって、 各次元のメンバにそれぞれ一連の座標値を割当て、 各データに対応する次元メンバの座標値の組を該データ
    のセル座標とし、 各次元に属する複数のメンバをそれぞれグループ分け
    し、該メンバグループにそれぞれ一連の座標値を割当
    て、 各データのセル座標中の各次元メンバ座標値を、前記グ
    ループ分けで対応づけられた次元メンバグループの座標
    値で置き換えた組を、該データのブロック座標とし、 前記各処理ノードに含まれる2次記憶装置にインデクス
    を格納する領域と複数のページを格納する領域をそれぞ
    れ割当て、 前記複数のページには、データと、該データのセル座標
    を数値コード化したセルIDとを対にして格納し、 前記インデックスは、次元のメンバグループの各組合せ
    にそれぞれ対応するエントリで構成し、かつ、エントリ
    は対応するブロック座標について入れ子順になるよう線
    形配置し、 前記エントリは、ページを識別するページIDの格納域
    を含み、 前記各エントリに前記ページIDで関連付けられた各ペ
    ージには、該エントリに対応するブロック座標と同一の
    ブロック座標をもつデータを格納し、 データ集約要求があった場合、 前記各処理ノードに含まれる1次記憶装置に集約計算の
    中間結果を格納する領域を割当て、 集約する1つまたは複数の次元のメンバグループの座標
    値を任意の次元について優先的に順次変化させ、集約計
    算の演算対象となるデータのメンバグループの組合せを
    決定し、 前記各処理ノードに含まれる各記憶装置から
    前記インデクスの前記メンバグループの組合せに対応す
    るエントリのページIDで識別されるページを順次、1
    次記憶装置に読込みながら、前記中間結果格納領域のデ
    ータに集約し、前記各中間結果格納領域のデータを併合
    することで、集約計算の最終結果を得ることを特徴とす
    る多次元データ処理方法。
  14. 【請求項14】1つまたは複数のCPUと、1つまたは
    複数の並列読出し可能な記憶装置を含む複数の処理ノー
    ドを有し、 複数の次元のメンバの組合せで識別されるデータを記憶
    し、 該データに関する問合せ要求を処理するデータベース管
    理システムにおいて、 各次元がもつメンバの階層構造をもとに規定されるデー
    タ集約要求を処理する方法であって、 各次元のメンバにそれぞれ一連の座標値を割当て、 各データに対応する次元メンバの座標値の組を該データ
    のセル座標とし、 各次元に属する複数のメンバをそれぞれグループ分け
    し、該メンバグループにそれぞれ一連の座標値を割当
    て、 各データのセル座標中の各次元メンバ座標値を、前記グ
    ループ分けで対応づけられた次元メンバグループの座標
    値で置き換えた組を、該データのブロック座標とし、 前記各処理ノードに含まれる2次記憶装置にインデクス
    を格納する領域と複数のページを格納する領域をそれぞ
    れ割当て、 ブロック座標空間で次元のある対角面に平行で、かつ、
    隣合う超平面上に位置する2つのデータを互いに異なる
    記憶装置のページに割当て、 同一記憶装置に割当てられる対角面上の一連のデータが
    記憶装置の連続するページに割当てられるようにデータ
    を格納し、 前記複数のページには、データと、該データのセル座標
    を数値コード化したセルIDとを対にして格納し、 前記インデックスは、次元のメンバグループの各組合せ
    にそれぞれ対応するエントリで構成し、かつ、エントリ
    は対応するブロック座標について入れ子順になるよう線
    形配置し、 前記エントリは、ページを識別するページIDの格納域
    を含み、 前記各エントリに前記ページIDで関連付けられた各ペ
    ージには、該エントリに対応するブロック座標と同一の
    ブロック座標をもつデータを格納し、 データ集約要求があった場合、 前記各処理ノードに含まれる1次記憶装置に集約計算の
    中間結果を格納する領域を割当て、 前記1次記憶装置の領域に同時に格納できる集約計算結
    果のブロック座標空間内の範囲を決定し、 ブロック座標空間の対角面上の一連のデータを連続的に
    読み出す順にメンバグループの組合せを求め、 前記各処理ノードに含まれる各記憶装置から前記インデ
    クスの前記メンバグループの組合せに対応するエントリ
    のページIDで識別されるページを順次、1次記憶装置
    に読込みながら、前記中間結果格納領域のデータに集約
    し、前記各中間結果格納領域のデータを併合すること
    で、集約計算の最終結果を得ることを特徴とする多次元
    データ処理方法。
  15. 【請求項15】複数の次元のメンバの組合せで識別され
    るデータを記憶し、 該データに関する問合せ要求を処理するデータベース管
    理システムにおいて、 事前に集約計算を実行して格納する対象のデータを決定
    し、格納する方法であって、 一部分の集約計算処理を事前に実行し、 前記集約計算処理によって生成されるデータの集合を記
    憶装置に格納し、 前記格納したデータ、または、各次元がもつメンバの階
    層構造をもとに規定されるデータの集約要求を受けて生
    成するデータの参照頻度を監視し、 前記参照頻度の分布から記憶装置に格納するデータの集
    合を更新する契機を判定し、 前記参照頻度を各次元がもつメンバの階層構造をもとに
    規定されるデータの重みとして事前に集約計算を実行し
    て格納する対象のデータを決定し、 前記決定したデータを生成するためのデータ集約要求が
    発行された場合にデータ集約処理を実行し、前記決定し
    たデータを記憶装置に格納することを特徴とする多次元
    データ処理方法。
JP07586496A 1996-03-29 1996-03-29 多次元データ処理方法 Expired - Fee Related JP3952518B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP07586496A JP3952518B2 (ja) 1996-03-29 1996-03-29 多次元データ処理方法
US08/835,026 US5864857A (en) 1996-03-29 1997-03-27 Method for processing multi-dimensional data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP07586496A JP3952518B2 (ja) 1996-03-29 1996-03-29 多次元データ処理方法

Publications (2)

Publication Number Publication Date
JPH09265479A true JPH09265479A (ja) 1997-10-07
JP3952518B2 JP3952518B2 (ja) 2007-08-01

Family

ID=13588555

Family Applications (1)

Application Number Title Priority Date Filing Date
JP07586496A Expired - Fee Related JP3952518B2 (ja) 1996-03-29 1996-03-29 多次元データ処理方法

Country Status (2)

Country Link
US (1) US5864857A (ja)
JP (1) JP3952518B2 (ja)

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11238048A (ja) * 1998-02-20 1999-08-31 Ai Concept:Kk 商品データ分析装置及びデータ分析プログラムを記録した記録媒体
JPH11306186A (ja) * 1998-04-16 1999-11-05 Hitachi Ltd 組合せ分析情報作成装置及び組合せ分析情報作成プログラムを記録した記録媒体
JP2001043114A (ja) * 1999-08-03 2001-02-16 Mitsubishi Electric Corp データベース装置並びにデータベースシステム並びにデータベースアクセス方法
JP2001155028A (ja) * 1999-11-29 2001-06-08 Hitachi Ltd リレーショナルデータベースにおける集約演算処理方法、その装置及び集約演算処理プログラムを記録したコンピュータ読み取り可能な記録媒体
JP2001522095A (ja) * 1997-11-04 2001-11-13 インターナショナル・ビジネス・マシーンズ・コーポレーション オンライン・データベース・マイニング
WO2002041183A1 (fr) * 2000-11-20 2002-05-23 G & G-Pharma Co., Ltd Systeme de traitement parallele reparti et support d'enregistrement
JP2003526159A (ja) * 2000-02-28 2003-09-02 ハイパーロール・イスラエル・リミテッド 多次元データベースおよび統合集約サーバ
JP2005202850A (ja) * 2004-01-19 2005-07-28 Nippon Telegr & Teleph Corp <Ntt> 情報処理装置、情報処理方法、および情報処理プログラム
US6954760B2 (en) 2001-02-01 2005-10-11 Hitachi, Ltd. Method and system for multidimensional database management
JP2010092464A (ja) * 2008-10-03 2010-04-22 Internatl Business Mach Corp <Ibm> 階層ストレージ管理(hsm)制御ストレージ環境で双方向オーファン照合を行う方法、システムおよぶコンピュータ・プログラム
JP2015075896A (ja) * 2013-10-08 2015-04-20 日本電信電話株式会社 フロー集約装置及び方法
WO2016027451A1 (ja) * 2014-08-19 2016-02-25 日本電気株式会社 データ処理装置、データ処理方法、及び、記録媒体
WO2016072249A1 (ja) * 2014-11-07 2016-05-12 Necソリューションイノベータ株式会社 情報処理装置、情報処理方法、及びコンピュータ読み取り可能な記録媒体
JP2017525072A (ja) * 2014-06-20 2017-08-31 アマゾン テクノロジーズ インコーポレイテッド 組み込み可能なクラウド分析
JP2017526090A (ja) * 2014-06-20 2017-09-07 アマゾン テクノロジーズ インコーポレイテッド ホスト型分析のための動的n次元キューブ
JP2017182792A (ja) * 2016-03-24 2017-10-05 株式会社オービック 集約データ作成装置、集約データ作成方法、及び、集約データ作成プログラム
WO2018117504A1 (ko) * 2016-12-20 2018-06-28 한국과학기술정보연구원 다차원 데이터를 관리하기 위한 장치 및 그 방법
US10430438B2 (en) 2014-06-20 2019-10-01 Amazon Technologies, Inc. Dynamic n-dimensional cubes for hosted analytics
JP2020512641A (ja) * 2017-09-29 2020-04-23 オラクル・インターナショナル・コーポレイション 多次元データベース環境において1回のスキャンでロード、集約、およびバッチ計算を行なうためのシステムおよび方法
US10769175B1 (en) 2014-06-20 2020-09-08 Amazon Technologies, Inc. Real-time hosted system analytics
JP2022505230A (ja) * 2018-10-18 2022-01-14 オラクル・インターナショナル・コーポレイション 多次元データベース環境における依存関係分析のためのシステムおよび方法
US11868372B1 (en) 2014-06-20 2024-01-09 Amazon Technologies, Inc. Automated hierarchy detection for cloud-based analytics

Families Citing this family (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6182060B1 (en) * 1997-04-15 2001-01-30 Robert Hedgcock Method and apparatus for storing, retrieving, and processing multi-dimensional customer-oriented data sets
US6003036A (en) * 1998-02-12 1999-12-14 Martin; Michael W. Interval-partitioning method for multidimensional data
US6356214B1 (en) 1999-02-02 2002-03-12 Cisco Technology, Inc. Fast look-up table based scheme for NRZI encoding/decoding and zero insertion/removal in serial bit streams
US6460026B1 (en) * 1999-03-30 2002-10-01 Microsoft Corporation Multidimensional data ordering
JP2003521021A (ja) * 1999-06-02 2003-07-08 アルゴリズミクス インターナショナル コーポレイション リスク・マネジメント・システム、分散型フレームワークおよび方法
US6326988B1 (en) * 1999-06-08 2001-12-04 Monkey Media, Inc. Method, apparatus and article of manufacture for displaying content in a multi-dimensional topic space
US6401098B1 (en) * 1999-07-15 2002-06-04 American Management Systems, Inc. System for database creation, maintenance and access using event marking and two-dimensional partitioning
US6272498B1 (en) * 1999-07-22 2001-08-07 Lucent Technologies Inc. Method for partitioning multi-dimensional data sets into rectangular partitions
US6581054B1 (en) 1999-07-30 2003-06-17 Computer Associates Think, Inc. Dynamic query model and method
US6691140B1 (en) * 1999-07-30 2004-02-10 Computer Associates Think, Inc. Method and system for multidimensional storage model with interdimensional links
US6842758B1 (en) 1999-07-30 2005-01-11 Computer Associates Think, Inc. Modular method and system for performing database queries
US7644366B1 (en) 1999-07-30 2010-01-05 Computer Associates Think, Inc. Method and system for displaying a plurality of discrete files in a compound file
US6408292B1 (en) 1999-08-04 2002-06-18 Hyperroll, Israel, Ltd. Method of and system for managing multi-dimensional databases using modular-arithmetic based address data mapping processes on integer-encoded business dimensions
US7099898B1 (en) 1999-08-12 2006-08-29 International Business Machines Corporation Data access system
US6542895B1 (en) * 1999-08-30 2003-04-01 International Business Machines Corporation Multi-dimensional restructure performance when adding or removing dimensions and dimensions members
US6546395B1 (en) * 1999-08-30 2003-04-08 International Business Machines Corporation Multi-dimensional restructure performance by selecting a technique to modify a relational database based on a type of restructure
US6405208B1 (en) * 1999-12-13 2002-06-11 Hyperion Solutions Corporation Dynamic recursive build for multidimensional databases and methods and apparatus thereof
JP2001243244A (ja) * 2000-02-28 2001-09-07 Hitachi Ltd 多次元データベースの検索方法、検索装置、および多次元データベース検索プログラムを記録したコンピュータ読み取り可能な記録媒体。
US20020029207A1 (en) * 2000-02-28 2002-03-07 Hyperroll, Inc. Data aggregation server for managing a multi-dimensional database and database management system having data aggregation server integrated therein
US6662174B2 (en) 2000-04-17 2003-12-09 Brio Software, Inc. Analytical server including metrics engine
US6748394B2 (en) * 2000-04-27 2004-06-08 Hyperion Solutions Corporation Graphical user interface for relational database
US7080090B2 (en) 2000-04-27 2006-07-18 Hyperion Solutions Corporation Allocation measures and metric calculations in star schema multi-dimensional data warehouse
US6915289B1 (en) * 2000-05-04 2005-07-05 International Business Machines Corporation Using an index to access a subject multi-dimensional database
US7269786B1 (en) 2000-05-04 2007-09-11 International Business Machines Corporation Navigating an index to access a subject multi-dimensional database
US6625335B1 (en) 2000-05-11 2003-09-23 Matsushita Electric Industrial Co., Ltd. Method and apparatus for assigning keywords to documents
EP1217541A1 (en) 2000-11-29 2002-06-26 Lafayette Software Inc. Method of processing queries in a database system, and database system and software product for implementing such method
EP1217540A1 (en) 2000-11-29 2002-06-26 Lafayette Software Inc. Methods of organizing data and processing queries in a database system, and database system and software product for implementing such method
EP1211611A1 (en) 2000-11-29 2002-06-05 Lafayette Software Inc. Methods of encoding and combining integer lists
DE60132243T2 (de) * 2000-12-15 2008-12-11 British Telecommunications P.L.C. Verfahren zum indizieren von entitäten
KR100413967B1 (ko) * 2000-12-30 2004-01-07 한국전자통신연구원 항해기반 데이터 모델에서 중첩구조 데이터세트의 해석 및변환 방법
US7599870B2 (en) * 2002-04-12 2009-10-06 Glo Software Llc System, method and framework for generating scenarios
US7080081B2 (en) * 2002-04-15 2006-07-18 International Business Machines Corporation Multidimensional data clustering scheme for query processing and maintenance in relational databases
US7472127B2 (en) 2002-12-18 2008-12-30 International Business Machines Corporation Methods to identify related data in a multidimensional database
US20040181518A1 (en) * 2003-03-14 2004-09-16 Mayo Bryan Edward System and method for an OLAP engine having dynamic disaggregation
US7765211B2 (en) * 2003-04-29 2010-07-27 International Business Machines Corporation System and method for space management of multidimensionally clustered tables
GB2401174B (en) * 2003-04-30 2007-02-21 Ecolab Sevices Ltd Method and apparatus for detection of trace volatiles
CN101120340B (zh) * 2004-02-21 2010-12-08 数据迅捷股份有限公司 超无共享并行数据库
US8572221B2 (en) 2004-05-26 2013-10-29 Facebook, Inc. System and method for managing an online social network
US7418438B2 (en) * 2004-11-30 2008-08-26 International Business Machines Corporation Automated default dimension selection within a multidimensional enterprise software system
US7593955B2 (en) * 2004-11-30 2009-09-22 International Business Machines Corporation Generation of aggregatable dimension information within a multidimensional enterprise software system
US7610300B2 (en) * 2004-11-30 2009-10-27 International Business Machines Corporation Automated relational schema generation within a multidimensional enterprise software system
US7505888B2 (en) * 2004-11-30 2009-03-17 International Business Machines Corporation Reporting model generation within a multidimensional enterprise software system
US7548903B2 (en) * 2005-01-11 2009-06-16 International Business Machines Corporation Method and apparatus for automatic recommendation and selection of clustering indexes
US7672930B2 (en) * 2005-04-05 2010-03-02 Wal-Mart Stores, Inc. System and methods for facilitating a linear grid database with data organization by dimension
US7822776B2 (en) 2005-12-31 2010-10-26 Michael Wayne Martin Multidimensional dynamic clustering (MDDC)
CA2670148A1 (en) * 2006-01-27 2007-08-02 Jupiter International (Australia) Pty Ltd A mass customisable interactive, multi-faceted system for data collection, processing, analysis, transmission, and trading in securities
US8595095B2 (en) * 2006-05-31 2013-11-26 Sap Ag Framework for integrated storage of banking application data
JP2008009933A (ja) * 2006-06-30 2008-01-17 Toshiba Corp 記憶装置とその制御方法
US9087335B2 (en) * 2006-09-29 2015-07-21 American Express Travel Related Services Company, Inc. Multidimensional personal behavioral tomography
US8036859B2 (en) * 2006-12-22 2011-10-11 Merced Systems, Inc. Disambiguation with respect to multi-grained dimension coordinates
US20080172636A1 (en) * 2007-01-12 2008-07-17 Microsoft Corporation User interface for selecting members from a dimension
US8051075B2 (en) 2007-09-24 2011-11-01 Merced Systems, Inc. Temporally-aware evaluative score
US8126927B1 (en) * 2008-06-06 2012-02-28 Amdocs Software Systems Limited Data structure, method, and computer program for providing a linked list in a first dimension and a plurality of linked lists in a second dimension
US9235577B2 (en) 2008-09-04 2016-01-12 Vmware, Inc. File transfer using standard blocks and standard-block identifiers
US20120317384A1 (en) * 2010-02-09 2012-12-13 Telefonaktiebolaget L M Ericsson (Publ) Data storage method
US9390162B2 (en) 2013-04-25 2016-07-12 International Business Machines Corporation Management of a database system
CN104486777B (zh) * 2014-12-01 2017-12-29 中国联合网络通信集团有限公司 一种实现数据处理的方法及装置
US10102014B2 (en) * 2016-08-26 2018-10-16 Sap Se User interface employing nested data
US10318319B2 (en) 2016-08-26 2019-06-11 Sap Se Two-model user interface system
CN107168942B (zh) * 2017-06-09 2021-01-29 江苏赛睿信息科技股份有限公司 一种自动报表生成方法及其装置
JP6666312B2 (ja) * 2017-08-03 2020-03-13 株式会社日立製作所 多次元データ管理システム及び多次元データ管理方法
JP7336995B2 (ja) * 2020-01-10 2023-09-01 株式会社日立製作所 ストレージシステム、及び、記憶制御方法
US12086161B2 (en) 2021-07-09 2024-09-10 Craxel, Inc. Transforming relational statements into hierarchical data space operations
WO2023140966A1 (en) * 2022-01-18 2023-07-27 Craxel, Inc. Organizing information using hierarchical data spaces
US11740788B2 (en) 2022-01-18 2023-08-29 Craxel, Inc. Composite operations using multiple hierarchical data spaces

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5359724A (en) * 1992-03-30 1994-10-25 Arbor Software Corporation Method and apparatus for storing and retrieving multi-dimensional data in computer memory
US5416895A (en) * 1992-04-08 1995-05-16 Borland International, Inc. System and methods for improved spreadsheet interface with user-familiar objects
US5745902A (en) * 1992-07-06 1998-04-28 Microsoft Corporation Method and system for accessing a file using file names having different file name formats
US5657437A (en) * 1993-12-10 1997-08-12 Lucent Technologies Inc. Data processing apparatus and method including proportional updating of data
US5592666A (en) * 1994-10-31 1997-01-07 Sinper Corporation Method and system for storing and retrieving data from a multidimensional array using database pointers
US5729730A (en) * 1995-03-28 1998-03-17 Dex Information Systems, Inc. Method and apparatus for improved information storage and retrieval system

Cited By (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001522095A (ja) * 1997-11-04 2001-11-13 インターナショナル・ビジネス・マシーンズ・コーポレーション オンライン・データベース・マイニング
JPH11238048A (ja) * 1998-02-20 1999-08-31 Ai Concept:Kk 商品データ分析装置及びデータ分析プログラムを記録した記録媒体
JPH11306186A (ja) * 1998-04-16 1999-11-05 Hitachi Ltd 組合せ分析情報作成装置及び組合せ分析情報作成プログラムを記録した記録媒体
JP2001043114A (ja) * 1999-08-03 2001-02-16 Mitsubishi Electric Corp データベース装置並びにデータベースシステム並びにデータベースアクセス方法
JP2001155028A (ja) * 1999-11-29 2001-06-08 Hitachi Ltd リレーショナルデータベースにおける集約演算処理方法、その装置及び集約演算処理プログラムを記録したコンピュータ読み取り可能な記録媒体
JP2003526159A (ja) * 2000-02-28 2003-09-02 ハイパーロール・イスラエル・リミテッド 多次元データベースおよび統合集約サーバ
WO2002041183A1 (fr) * 2000-11-20 2002-05-23 G & G-Pharma Co., Ltd Systeme de traitement parallele reparti et support d'enregistrement
US6954760B2 (en) 2001-02-01 2005-10-11 Hitachi, Ltd. Method and system for multidimensional database management
JP2005202850A (ja) * 2004-01-19 2005-07-28 Nippon Telegr & Teleph Corp <Ntt> 情報処理装置、情報処理方法、および情報処理プログラム
JP2010092464A (ja) * 2008-10-03 2010-04-22 Internatl Business Mach Corp <Ibm> 階層ストレージ管理(hsm)制御ストレージ環境で双方向オーファン照合を行う方法、システムおよぶコンピュータ・プログラム
JP2015075896A (ja) * 2013-10-08 2015-04-20 日本電信電話株式会社 フロー集約装置及び方法
US10162876B1 (en) 2014-06-20 2018-12-25 Amazon Technologies, Inc. Embeddable cloud analytics
US11868372B1 (en) 2014-06-20 2024-01-09 Amazon Technologies, Inc. Automated hierarchy detection for cloud-based analytics
US10812551B1 (en) 2014-06-20 2020-10-20 Amazon Technologies, Inc. Dynamic detection of data correlations based on realtime data
US10776397B2 (en) 2014-06-20 2020-09-15 Amazon Technologies, Inc. Data interest estimation for n-dimensional cube computations
US10769175B1 (en) 2014-06-20 2020-09-08 Amazon Technologies, Inc. Real-time hosted system analytics
JP2017525072A (ja) * 2014-06-20 2017-08-31 アマゾン テクノロジーズ インコーポレイテッド 組み込み可能なクラウド分析
JP2017526090A (ja) * 2014-06-20 2017-09-07 アマゾン テクノロジーズ インコーポレイテッド ホスト型分析のための動的n次元キューブ
US10430438B2 (en) 2014-06-20 2019-10-01 Amazon Technologies, Inc. Dynamic n-dimensional cubes for hosted analytics
US10621173B2 (en) 2014-08-19 2020-04-14 Nec Corporation Data processing device, data processing method, and recording medium
JPWO2016027451A1 (ja) * 2014-08-19 2017-06-01 日本電気株式会社 データ処理装置、データ処理方法、及び、記録媒体
WO2016027451A1 (ja) * 2014-08-19 2016-02-25 日本電気株式会社 データ処理装置、データ処理方法、及び、記録媒体
JPWO2016072249A1 (ja) * 2014-11-07 2017-07-27 Necソリューションイノベータ株式会社 情報処理装置、情報処理方法、及びコンピュータ読み取り可能な記録媒体
WO2016072249A1 (ja) * 2014-11-07 2016-05-12 Necソリューションイノベータ株式会社 情報処理装置、情報処理方法、及びコンピュータ読み取り可能な記録媒体
JP2017182792A (ja) * 2016-03-24 2017-10-05 株式会社オービック 集約データ作成装置、集約データ作成方法、及び、集約データ作成プログラム
WO2018117504A1 (ko) * 2016-12-20 2018-06-28 한국과학기술정보연구원 다차원 데이터를 관리하기 위한 장치 및 그 방법
JP2020512641A (ja) * 2017-09-29 2020-04-23 オラクル・インターナショナル・コーポレイション 多次元データベース環境において1回のスキャンでロード、集約、およびバッチ計算を行なうためのシステムおよび方法
US11042569B2 (en) 2017-09-29 2021-06-22 Oracle International Corporation System and method for load, aggregate and batch calculation in one scan in a multidimensional database environment
US11789978B2 (en) 2017-09-29 2023-10-17 Oracle International Corporation System and method for load, aggregate and batch calculation in one scan in a multidimensional database environment
JP2022505230A (ja) * 2018-10-18 2022-01-14 オラクル・インターナショナル・コーポレイション 多次元データベース環境における依存関係分析のためのシステムおよび方法

Also Published As

Publication number Publication date
US5864857A (en) 1999-01-26
JP3952518B2 (ja) 2007-08-01

Similar Documents

Publication Publication Date Title
JP3952518B2 (ja) 多次元データ処理方法
CN106095862B (zh) 集中式可扩展融合型多维复杂结构关系数据的存储方法
US6801903B2 (en) Collecting statistics in a database system
Harinarayan et al. Implementing data cubes efficiently
US7024431B1 (en) Data transformation to maintain detailed user information in a data warehouse
Yoon et al. BitCube: A three-dimensional bitmap indexing for XML documents
US6633883B2 (en) Methods of organizing data and processing queries in a database system, and database system and software product for implementing such methods
US6141655A (en) Method and apparatus for optimizing and structuring data by designing a cube forest data structure for hierarchically split cube forest template
US6711563B1 (en) Methods of organizing data and processing queries in a database system, and database system and software product for implementing such methods
US8219564B1 (en) Two-dimensional indexes for quick multiple attribute search in a catalog system
US6564212B2 (en) Method of processing queries in a database system, and database system and software product for implementing such method
US20050222978A1 (en) Method and apparatus for querying spatial data
Markl Mistral: Processing relational queries using a multidimensional access technique
JP2000187668A (ja) グループ化方法と重複排除方法
Dehne et al. The cgmCUBE project: Optimizing parallel data cube generation for ROLAP
US10977280B2 (en) Systems and methods for memory optimization interest-driven business intelligence systems
Nashat et al. A comprehensive taxonomy of fragmentation and allocation techniques in distributed database design
Borkar et al. Have your data and query it too: From key-value caching to big data management
JPH1097544A (ja) データベース処理システム
Gou et al. A/sup*/search: an efficient and flexible approach to materialized view selection
CN116775661A (zh) 基于北斗网格技术的空间大数据存储与管理方法
Li et al. Supporting ranking and clustering as generalized order-by and group-by
Srivastava et al. TBSAM: An access method for efficient processing of statistical queries
Vu et al. R*-grove: Balanced spatial partitioning for large-scale datasets
Johnson et al. Hierarchically split cube forests for decision support: description and tuned design

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060104

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060117

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060320

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20060417

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060822

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061020

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: 20070410

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070423

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

Free format text: PAYMENT UNTIL: 20110511

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110511

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120511

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120511

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130511

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130511

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees