JP2002529819A - 散在行列エントリを対応データで占める方法及び装置 - Google Patents

散在行列エントリを対応データで占める方法及び装置

Info

Publication number
JP2002529819A
JP2002529819A JP2000580128A JP2000580128A JP2002529819A JP 2002529819 A JP2002529819 A JP 2002529819A JP 2000580128 A JP2000580128 A JP 2000580128A JP 2000580128 A JP2000580128 A JP 2000580128A JP 2002529819 A JP2002529819 A JP 2002529819A
Authority
JP
Japan
Prior art keywords
data
level
partition
dimension
request
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.)
Pending
Application number
JP2000580128A
Other languages
English (en)
Inventor
ジェームズ ピー. ロジャーズ
Original Assignee
プラティナム テクノロジー インコーポレイテッド
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 プラティナム テクノロジー インコーポレイテッド filed Critical プラティナム テクノロジー インコーポレイテッド
Publication of JP2002529819A publication Critical patent/JP2002529819A/ja
Pending 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/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24539Query rewriting; Transformation using cached or materialised query results
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24542Plan optimisation
    • G06F16/24545Selectivity estimation or determination
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • G06F16/24554Unary operations; Data partitioning operations
    • G06F16/24556Aggregation; Duplicate elimination
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/283Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99932Access augmentation or optimizing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99934Query formulation, input preparation, or translation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99935Query augmenting and refining, e.g. inexact access
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99936Pattern matching access
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99939Privileged access
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99942Manipulating data structure, e.g. compression, compaction, compilation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Operations Research (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

(57)【要約】 保存された集約処理済の事実データテーブル(22)から要求集約処理を計算する基礎として用いるために、集約処理済の事実データテーブル(20)を選択するシステムが提供される。該テーブルの各々を集約処理するのに必要となる処理時間量の見積値が確認される。最小の見積値のテーブルが集約処理を行うのに使用される。

Description

【発明の詳細な説明】
【0001】
【発明の背景】
本発明は、データベースに関し、特に、問い合わせに応じたデータ集約処理に
関する。 データ保管の分野において、組織の構成員は、莫大な量のデータを、多様な保
存ディメンション(dimension)において多様な異なるレベル(level)の要約処
理、即ち集約処理(aggregation)を行うことをしばしば必要とする。
【0002】 データベースのディメンションにおけるデータのレベルは、当該ディメンショ
ンにおけるエントリのグループ化である。例えば、ディメンションが異なる保存
場所からなる場合には、該保存場所は市レベル、州レベル、或いは他の受容し得
るレベルにてグループ化され得る。 違う人間が異なる時に同じ要約されたデータを得たいと思うことがしばしばあ
る。集約処理データが要求される度に、データ保管場所からデータを検索し該デ
ータを集約処理することよりは、むしろ、多種の通常的に検索された集約処理済
のレベルにデータを事前集約処理し、該集約処理されたデータを、パーティショ
ン(partition)と呼ばれる形で保存することが容易な検索の上で日常業務とな
っている。このやり方で事前集約処理された保存レベルは、多くの場合、システ
ム管理者により管理される。又、更なる集約処理がユーザのリクエストにより実
行された場合には、これらは、後日検索されるパーティションとして保存され得
る。
【0003】 パーティション化されたデータのかような保存における問題は、未だ生成され
ていない特定の集約処理済レベルに対してデータ集約処理のリクエストがなされ
た場合に、当該集約処理が実行されなければならないことである。これは、実際
には該データが階層的に併合されてより低レベルにて保存されているにも拘わら
ず,詳細なレベルデータを用いて実行されなければならず、問い合わせに従って
当該レベルに更に集約処理がたやすくなされなければならない。レベルが互いに
は上下に階層的であり、下位レベルの特定のメンバに関連する全ての詳細レコー
ドが上位レベルの単一のメンバに関連している。例えば、市レベルの保存グルー
プは、階層的に州レベルの保存グールプの下位にあり(如何なる市も州の境界に
跨がっていないと仮定して)、特定の市についての全ての保存が特定の州につい
ても同様である。しかし、「保存サイズ」レベルは、州レベルに対して階層的に
上下にあるわけではない、というのは、保存サイズと州との間で相関を有する理
由がないからである。
【0004】 常に詳細レベルデータに再ソートした上で新しい集約処理を行わなければなら
ないという問題を克服するためには、現実には特定のレベルの保存データではな
い交差(intersection)について仮想的なレベルを定義し、その代わりとして、
あるレベルの集約処理済のデータを保持している外見を与えることが日常業務と
なっている。ここでは、保存される1つ以上の下位の物理パーティションからデ
ータを集約処理する機能が提供されている。該仮想パーティションは、どの物理
パーティションが集約処理に用いられるかに関して事前プログラミングされてい
る。
【0005】 しかし、多数のディメンションとディメンションの各々について相当数のレベ
ルを伴うシステムにおいては、定義されるべき仮想パーティションの数は、管理
上の予測及びサーチ/クエリ(query)処理の予測の両方からして禁制的である
はずである。もし、仮想パーティションが、全てのディメンションに跨がって可
能な全てのレベル集合の各々に対して維持管理されなければならないなら、保存
を要求する仮想パーティションの数は、各ディメンションのレベル数の積である
。例えば、6つのディメンションにおいて各ディメンションにつき5レベルであ
る場合と、2つのディメンションにおいて各ディメンションにつき7レベルであ
る場合とのシステムにおいては、765,625セルからなる行列となる。
【0006】 望ましいシステムは、サーバのクエリ処理が、集約処理するのに適合するパー
ティションのデータベースを維持管理することなく、「オン・ザ・フライ」でデ
ータを集約処理し得る最良のパーティションの選択を可能とするシステムである
【0007】
【発明の概要】
本発明は、上位レベルでの集約処理を、より下位レベルにて創成された同一デ
ィメンションに亘った集約処理を用いて、創成する方法を提供することである。
要求を満たす保存データの物理パーティションの各々について、処理「コスト」
を計算する手段により確認し、最小コストと確認されたパーティションを用いて
該集約処理を実行するシステムが提供される。詳細のレベルデータが、パーティ
ションとして区分される。他方、要求のレベルにおいてはどのパーティションも
データを提供できない場合、或いは最小コストが詳細レベルデータからの集約処
理の実行よりもコストが大きい場合には、該集約処理は詳細レベルデータにて実
行される。
【0008】 本発明の1つの特徴によれば、オブジェクトが保存データの保存集約処理の各
々に関連する。該オブジェクトは、クエリ、即ちディメンション集合における要
求レベル集合に基づいて呼び出される。そして、該オブジェクトは、該要求レベ
ルに関連するデータを集約処理するのに必要な処理量を表すビッド(bid)と共
に、当該クエリに返却する。要求オブジェクトは、最小ビッドを返却する集約処
理オブジェクトに該集約処理を実行するように依頼する。等価な動作が変成デー
タ(meta-data)を保存することにより達成され得る。これは、物理パーティシ
ョンにおいて適正なデータ構造により保存データを画定し、どのパーティション
が該集約処理を実行するのに用いられるかを確認するように当該データ構造を呼
び出すことによりなされる。
【0009】 本発明の他の特徴によれば、返却ビッドは、要求ディメンションの各々に対す
る「距離」を共に乗算することにより計算される。ここで,距離とは、要求レベ
ルのエントリ数の、保存レベルのエントリ数に対する比である。 本発明の他の特徴によれは、返却ビッドは、保存データの見積数又は現実のエ
ントリ数と、該集約処理されたデータの存在エントリの見積数との差を求めるこ
とにより計算される。
【0010】
【実施例の詳細な説明】
本発明のかかる実施例は、以降、図1及び図2を参照して説明される。 図1は、本発明の第1の実施例に従ったアプリケーションサーバ10を示して
いる。アプリケーションサーバ10は、複数のパーティションオブジェクト20
を保持し、それらの各々は、データベース25における物理パーティション22
を表している。アプリケーションサーバ10は、又、パーティションオブジェク
ト20に保存される事実データからデータ集約処理するリクエストを取り扱うこ
とのできるデータ提供オブジェクト40を保持している。
【0011】 次に示す情報がアプリケーションサーバ10にとって利用可能であり、システ
ム管理者によりデータベースに保存される各ディメンション毎に定義される。 a)ディメンションにおけるレベル b)該ディメンション内のレベル階層又は複数階層30 c)各レベル内のメンバ数(見積もられる或いはある時点で決定される、例え
ばディメンションテーブルに対して変更がなされた時) d)各レベルの定義属性 多様な物理パーティション22が、データベース25に保存される。以降で明
らかになるように、該システムの運用により更に創成され得る。該物理パーティ
ションは本質的に、データが表すところのディメンションの各々において指定要
約レベルにてデータベースから事実データを保存するテーブルである。物理パー
ティションに各々関連するパーティションオブジェクト20には、次のデータが
備えられる。
【0012】 a)関連するパーティションに保存される各ディメンションのレベル b)テーブルに保存される限度 c)テーブルに保存される各レベルの(属性値による)行(例えば、東又は西
地域、1995年又は1996年期間、その他) アプリケーションサーバ10上にデータ提供オブジェクト40が備えられ、デ
ィメンション集合と指定レベルとの交差にて選択の大きさを表すデータのリクエ
スト50を受信する。実際のリクエストは、データに対して幾つかの交差で戻さ
れるべきことをデータに要求しても良い。この場合、前述のプロセスが各交差毎
に実行される。例えば、銘柄及び寸法、月及び四半期、及び地域を含むリクエス
トが以下の交差を要求する。即ち、銘柄−月−地域、寸法−月−地域、銘柄−四
半期−地域、及び、寸法−四半期−地域である。要求レベル交差の各々について
、データ提供オブジェクト40は、パーティションオブジェクトに対するパラメ
ータとしての要求条件を受け渡して、パーティションオブジェクト20の各々に
対するリクエストを作成する。該オブジェクトの各々は、以降に詳細に説明され
るように該要求データを解析し、関連する物理パーティションから要求集約処理
を生成する処理コストを表すビッドを返却する。もし、存在するパーティション
が要求を充足し得ないならば、無限のコストが返却される。
【0013】 例外パーティションオブジェクト21が極めて低いビッドを返却することによ
り、ある交差リクエストをして所定パーティション22を使用せしめるように設
定され得る。この方法は、もし独自のインデックス化スキームの如き最適化が、
レベル集合をより高いレベル集合への集約処理に拡張可能ならば適当であろう。 そして、データ提供オブジェクトは、パーティションオブジェクトから全ての
ビッドを収集し、最小ビッドを返却するオブジェクトを選択して集約処理を実行
する。データ提供オブジェクト40は、問い合わせに応じてオブジェクトを要求
して集約処理を実行する。該集約処理は、データベースに対して適正なクエリを
発行して集約処理されたデータを取得し,次いで集約処理済テーブルを返却する
【0014】 例えば、日、月及び四半期レベルの「時間テーブル」と呼ばれるテーブルに保
存された時間ディメンションと、銘柄、区及び地域レベルを含む「銘柄」と呼ば
れるテーブルに保存されたディメンション及び銘柄ディメンションとが存在する
と仮定する。更に、各ディメンションテーブルは、ディメンションにより表され
る内容を表すエントリを含まず、当該ディメンションにおいてレベルメンバの各
々を表すエントリを含むと仮定する。即ち、各エントリは、問い合わせのエント
リに関連したレベルメンバのレベルを識別する「レベル」フィールドを有する。
ディメンションテーブルのかようなフィールド集合は、生成されるべきクエリ処
理を単純化し、後続のクエリ処理は、州−月レベルで保存されたデータを有する
テーブル、即ち保存テーブル(StoredTable)から地域−四半期レベルのデータ
を取得するように設定され得る。この手順は以下の通りである。
【0015】 SELECT Branches.Region AS Region, TimeTable.Quarter AS Quarter, SUM(StoredTable.Sales) AS Sales FROM StoredTable, Branches, TimeTable WHERE StoredTable.District = Branches.District AND StoredTable.Month = TimeTable.Month AND Branches.Level = "District" AND TimeTable.Level = "Month" GROUP BY Branches.Region, TimeTable.Quarter そして、データ提供オブジェクト40は、このテーブルを元のリクエストの結
果として返却する。サーバは、又、他のパーティション22と、該テーブルのデ
ータに関連するパーティションオブジェクト20とを創成し、これにより、リク
エストが再度なされた場合にも、該データが直ちに利用可能となる。更に、新し
く創成されたパーティションは、要求があればより上位レベルのデータを集約処
理するのにも用いられ得る。
【0016】 コストを計算するために各パーティションオブジェクト20により使用される
アルゴリズムは次の通りである。先ず、集約処理リクエストのパラメータ受信に
基づいて、該パーティションオブジェクトは、呼び出しディメンションの各々に
対するディメンションレベル階層をサーバから取得する。この例は図2Aに示さ
れている。各ディメンションについて、オブジェクトの保存レベルが該階層にお
いて要求レベルに従って識別される。図2Aの例においては、要求レベルが地域
レベル100であり、保存レベルが市レベル102である。次に、ディメンショ
ン階層がチェックされる。これは、要求レベルが要求された保存レベルから枝に
沿って到達され得るかを見る為のものである。もし異なる下位レベルが同一の上
位レベルに全てクラス分けされているならば、異なる枝が共に上位レベルで繋が
るはずであるから、この階層は必然的には木構造ではないことが留意されるべき
である。例えば、配給元レベルは、配給レベルが州レベルの上下にないにもかか
わらず、図2Aにおける破線ラインの如く階層的に地域レベルよりも下位にくる
はずである。これは、例えば、2つの異なる配給元が同じ州内の異なる市に配給
する場合があるからである。
【0017】 各ディメンションについてのディメンション階層は、1つのアレイディメンシ
ョンとしての保存レベルと、他のアレイディメンションとしての要求レベルとを
有するアレイとして表され得る。エントリは、図2Bに示される様に、要求レベ
ルが保存レベルから生成され得るかを示すフラグが付与される。 もし、保存レベルが階層的に要求レベルよりも下位にあるならば、該2つのレ
ベル間の距離の大きさが計算される。2つのレベル間の距離は、保存レベルにお
けるメンバの数の要求レベルにおけるメンバの数に対する比として定義される。
各レベルにおけるメンバの数は図3A及び3Bに示されている。
【0018】 もし、保存レベルが階層的に要求レベルよりも下位にないならば、無限距離が
当該ディメンションに返却される。この距離は、後に明らかとなるオブジェクト
により返却される無限コストに結局帰着する。 全ての距離に対する距離が計算されたならば、これらは共に乗算されて当該オ
ブジェクトに対する全体的ビッドを与える。もし、何らかの特定のディメンショ
ンにおける要求レベルに集約処理され得ない保存レベルがあるならば、前出の乗
算におけるパラメータの1つが無限大であることから、当該ディメンションによ
り返却される無限距離は、該オブジェクトにより戻される無限コストに因ること
になる。
【0019】 例えば、2つのレベルにおけるキーの数の差よりも、むしろ、2つのレベルに
おけるメンバの数の比が距離の適切な大きさであることが次の理由で理解され得
る。リクエストを満足し各パーティションが要する処理能力を決定する臨界値は
、パーティションオブジェクトにおけるエントリの数と、集約処理テーブルにお
けるエントリの数との間の差である。けだし、集約処理動作の各々は、エントリ
の数を1つずつ減少せしめるからである。例えば、1つのエントリに集約処理さ
れる3つのエントリは、保存される大きさによる2つの集約処理動作(例えば、
加法処理)を近似的に要する。集約処理テーブルにおけるエントリの数は、全て
のビッド処理オブジェクトに対して一定である。というのは、それらのオブジェ
クト全てが同じ集約処理データを返却するからである。それ故、集約処理テーブ
ルにおけるエントリの数が、該集約処理の近似的処理時間を計算するに適した該
パーティションオブジェクトにおけるエントリ数ということになる。この値は、
次の理由で返却される比と相関がある。
【0020】 R、R乃至Rが要求ディメンションnにおけるキー値であり、S、S 乃至Sが問い合わせにおける物理パーティションのディメンションにおける
キー値の数であるとすると、ビッド値の式は以下の通りである。
【0021】
【数1】
【0022】 R*R*...Rは全てのケースにおいて定数である。従って以下の通
りである。
【0023】
【数2】
【0024】 従って、返却ビッドは、該ディメンションにおける保存エントリの近似数に比
例し、他のパーティションに比較した該集約処理の実行コストの良好な見積値を
与える。 このことを図示するために、2つのディメンションを有する要求パーティショ
ンを考える。2つのディメンションにおける要求レベルのメンバの数は,各々5
0と3である。
【0025】 第1ディメンションにおける保存レベルに100のレベルメンバと、第2ディ
メンションにおける保存レベルに4つのレベルメンバとで物理パーティションが
保存される。該パーティションがかなり密に占められていると仮定すると、パー
ティションデータに、要求パーティションにおいて近似的に150エントリにま
で集約処理される必要がある400エントリ近くが存在することになる。返却さ
れるビッドは2.67となる。
【0026】 第1ディメンションにおける保存レベルに67のレベルメンバと、第2ディメ
ンションにおける保存レベルに6つのレベルメンバとで他の物理パーティション
が保存される。該パーティションがかなり密に占められていると仮定すると、パ
ーティションデータに、要求パーティションにおいて近似的に150エントリに
まで集約処理される必要がある400エントリ近くがやはり存在することになる
。従って、このパーティションを集約処理するための処理能力は、他のパーティ
ションを集約処理するに要求される処理能力に近似的に等しくなる。この場合の
返却ビッドは同様に2.68であり適切である。というのは、2つのパーティシ
ョンが集約処理の実行に同じ処理能力を近似的に要するはずだからである。
【0027】 これは、該集約処理の絶対的処理能力に比例してはいないことが留意されるべ
きである。何故ならば、該絶対的能力は、保存エントリ数と要求エントリ数との
差(S*S*・・・S)−(R*R*・・・R)に近似的に比例す
るからである。例えば、400エントリを199エントリに集約処理することは
、200エントリを同じ199エントリに集約処理すること(これは1回の集約
処理動作を要求するだけである)に比べて10倍以上の処理を要するが、後者の
場合の返却ビッドは2倍に大きくなる。
【0028】 明らかに、ビッド処理のアルゴリズムは、既知のパターンと、集約処理アルゴ
リズムにおける既知の能力と、該パーティションにおける有り得る散在さとを勘
案して帰納的に変更され得る。 もし、保存データに関連する1つ以上のディメンションが指定されない場合、
該リクエストは、該ディメンションが「全てのデータ」レベルについて要求され
たものであるかの様に考えられる。ここで、1つのレベルは、関連するディメン
ションの全ての内容のメンバを有する。もし、パーティションがこのディメンシ
ョンにおける下位レベルの保存データを有するならば、このディメンションにつ
いて返却される比は、適切に保存レベルにおけるキー値の数になる。従って、該
ビッドは、精確に要求集約処理量を反映する。
【0029】 データの異なるレベルは、異なるデータベースに、即ち異なるアプリケーショ
ンサーバに保存されても良いことは留意されるべきである。パーティション25
の各々に関連するパーティションオブジェクトには、如何なる特定レベルも検索
する適切なデータベースの呼び出し方の必要な知識が備えられる。 ビッド処理システムの動作例は、図3乃至図5を参照することにより与えられ
る。この例では、2つのディメンション、即ち顧客及び期間が存在し、これらに
は図3A及び3Bに示される複数のレベルを有する。データベース25には、保
存される3つの物理パーティション22がある。パーティションP1は、日単位
の顧客データを含み、P2は、月単位の区データを含み、更にP3は、日単位の
地域データを含む。
【0030】 ここでは、要求される得る12の可能なレベル交差が存在する。実際には、こ
れらの交差のうち3つのみが存在することから、交差行列は散在行列と呼ばれる
。この行列は図4に示される。図4における空セルは、「オン・ザ・フライ」で
生成されるべきレベル交差を示している。従来の技術を用いて、保存パーティシ
ョンの優位性を得るためには、可能な交差の各々に対してエントリがセットアッ
プされ、どのパーティションが使用されるかを指定しなければならなかった。仮
想的なパーティションが、該サーバをしてある物理パーティションを使用するよ
うにせしめるように設定されなければならなかった。例えば、交差3,3は、シ
ステム管理者が仮想パーティションをセットアップしたことを示している。これ
は、年−地域レコードを創成する場合に、該サーバに物理パーティションP1を
使用させるためである。
【0031】 本発明の方法を用いて、全ての可能なレベル交差の行例をセットアップするこ
とは、物理パーティションの各々を表すオブジェクトと、定義されたどれかの仮
想パーティションとを単純且つ直接に呼び出すことにより避けられ得る。 上記のアルゴリズムは、要求される交差について、どの物理パーティションが
該要求を満足するクエリ処理がなされかを決定するのに用いられる。これは、各
レベル内のメンバに基づいて、いくつのメンバが各ディメンション内で集約処理
されるべきかを決定して要求交差を創成することによりなされる。図5は、可能
なレベル交差の各々について、各物理オブジェクトのビッドがどの位かと、これ
らのビットが与えられて、どのパーティションが該リクエストを満足するクエリ
処理がなされるかとを示している図である。この例において、仮想パーティショ
ンオブジェクトV1は、物理パーティションP1をして、リクエストが年−地域
レコードについてなされた時に1のビッドを返却せしめている。
【0032】 本発明の第2の実施例によれば、表される事実集合の全てのデータを物理パー
ティションが含むことは要求されていない。例えば、1つの物理パーティション
が1997年に東地域のみにおいて販売された全ての製品を含み、1つの物理パ
ーティションが1997年に西地域において販売された全ての製品を含んでいて
も良い。これは保存効率の点からなされるのであって、なされる多数のリクエス
トがただ西地域或いは東地域を要求し、適切な地域からデータを解析して他の地
域から無関係なデータを解析することなく、かかるリクエストに対する結果がよ
り効率的に返却され得るためである。データ提供オブジェクトには、内部表現か
ら、又はパーティションオブジェクトより返却されるデータの何れかの情報が備
えられる。この情報に従って、レベルに関連するレベルメンバが各パーティショ
ンにより保存される。もし、それらの間の2つ以上のパーティションがリクエス
トを充足するならば(例えば1つが東地域データであって1つが西データである
場合)、それらは全て同じビッドを返却し、データ提供オブジェクトは、パーテ
ィションの各々に該データを集約処理することを要求する。そして、データ提供
オブジェクトは、これらオブジェクトの全てから返却されるデータを結合し、こ
のデータを適切に出力する。
【0033】 好ましい実施例が示されたが、本発明から離れることなく、その広範な分野に
おいて当業者により変更及び修正がなされ得ることは理解されるべきである。本
発明の多様な特徴は、以降の請求項において示される。
【図面の簡単な説明】
【図1】本発明の第1の実施例に従ったアプリケーションサーバを示す図であ
る。
【図2A】ディメンション階層の例を示す図である。
【図2B】図2Aのディメンション階層を異なる書式で示す図である。
【図3A】本発明の第1の実施例の動作例における2つのディメンションのう
ち1つを示す図である。
【図3B】本発明の第1の実施例の動作例における2つのディメンションのう
ち他の1つを示す図である。
【図4】図3Aおよび3Bに示されたディメンション例のレベル交差積(cros
s product)を示す図である。
【図5】本発明の第1の実施例の動作の結果を示す図であり、図3A及び図3
Bに示されたディメンションデータと図4に示されたパーティションを用いた事
実テーブルに対する多様なリクエストの場合を示している。
【符号の簡単な説明】
10 アプリケーションサーバ 20 パーティションオブジェクト 22 物理パーティション 25 データベース 30 レベル階層 40 オブジェクト 50 リクエスト
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),OA(BF,BJ ,CF,CG,CI,CM,GA,GN,GW,ML, MR,NE,SN,TD,TG),AP(GH,GM,K E,LS,MW,SD,SL,SZ,TZ,UG,ZW ),EA(AM,AZ,BY,KG,KZ,MD,RU, TJ,TM),AE,AL,AM,AT,AU,AZ, BA,BB,BG,BR,BY,CA,CH,CN,C R,CU,CZ,DE,DK,DM,EE,ES,FI ,GB,GD,GE,GH,GM,HR,HU,ID, IL,IN,IS,JP,KE,KG,KP,KR,K Z,LC,LK,LR,LS,LT,LU,LV,MA ,MD,MG,MK,MN,MW,MX,NO,NZ, PL,PT,RO,RU,SD,SE,SG,SI,S K,SL,TJ,TM,TR,TT,TZ,UA,UG ,US,UZ,VN,YU,ZA,ZW

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】データを集約処理するシステムであって、 少なくとも1つのディメンションにおける複数のレベルの1つの事実データテ
    ーブルとしてデータを保存する手段と、 少なくとも1つのディメンションにおいて事実データテーブルの各々を要求レ
    ベル集合に集約処理するのに要求される処理量の見積値を提供する手段と、 前記集約処理処理を実行した場合の最小見積値に関連するデータテーブルを選
    択する手段と、 前記最小見積値に関連したデータテーブルのデータを前記要求レベル集合に集
    約処理する手段と、 を含むことを特徴とする集約処理システム。
  2. 【請求項2】請求項1に記載のデータ集約処理システムであって、前記見積
    値を提供する手段が、 複数のパーティションオブジェクトを含み、前記複数のパーティションオブジ
    ェクトの各々が、前記データテーブルの1つに関する情報を含み、且つ、前記レ
    ベル集合のデータへのリクエストに応じてビッドを返却する機能を備え、前記ビ
    ットの値が、要求レベル集合と保存レベル集合との関数であることを特徴とする
    データ集約処理システム。
  3. 【請求項3】請求項1に記載のデータ集約処理システムであって、前記戻さ
    れた見積値が、ディメンションの各々における、保存レベルのメンバ数の要求レ
    ベルのメンバ数に対する比の、全ての要求されるディメンションの範囲に亘った
    積に比例することを特徴とするデータ集約処理システム。
  4. 【請求項4】データを集約処理する方法であって、 少なくとも1つのディメンションにおける複数のレベルの1つの事実データテ
    ーブルオブジェクトとしてデータを保存するステップと、 少なくとも1つのディメンションにおいて事実データテーブルの各々を要求レ
    ベル集合に集約処理するのに要求される処理量の見積値を提供するステップと、 前記集約処理を実行した場合の最小見積値を返却するデータテーブルオブジェ
    クトを選択するステップと、 前記最小見積値を返却するデータテーブルのデータを要求レベル集合に集約処
    理するステップと、 を含むことを特徴とするデータ集約処理方法。
  5. 【請求項5】請求項4に記載の方法であって、前記見積値を提供するステッ
    プが、パーティションオブジェクトにビッド要求を送信し、前記パーティション
    オブジェクトが、前記データテーブルの1つに関する情報を含み、且つ、そこに
    保存される前記レベル集合を含み、前記レベル集合のデータへのリクエストに応
    じてビッドを返却する機能を更に備え、前記ビットの値が、要求レベル集合と保
    存レベル集合との関数であることを特徴とする方法。
  6. 【請求項6】請求項5に記載の方法であって、前記戻された見積値が、ディ
    メンションの各々における、保存レベルのメンバ数の要求レベルのメンバ数に対
    する比の、全ての要求されるディメンションの範囲に亘った積に比例することを
    特徴とする方法。
JP2000580128A 1998-11-03 1999-11-03 散在行列エントリを対応データで占める方法及び装置 Pending JP2002529819A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/185,366 1998-11-03
US09/185,366 US6212515B1 (en) 1998-11-03 1998-11-03 Method and apparatus for populating sparse matrix entries from corresponding data
PCT/US1999/025938 WO2000026821A1 (en) 1998-11-03 1999-11-03 Method and apparatus for populating sparse matrix entries from corresponding data

Publications (1)

Publication Number Publication Date
JP2002529819A true JP2002529819A (ja) 2002-09-10

Family

ID=22680691

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000580128A Pending JP2002529819A (ja) 1998-11-03 1999-11-03 散在行列エントリを対応データで占める方法及び装置

Country Status (10)

Country Link
US (1) US6212515B1 (ja)
EP (1) EP1057130A4 (ja)
JP (1) JP2002529819A (ja)
CN (1) CN1292126A (ja)
AU (1) AU2473000A (ja)
BR (1) BR9906711A (ja)
CA (1) CA2325873A1 (ja)
IL (1) IL137126A (ja)
WO (1) WO2000026821A1 (ja)
ZA (1) ZA200003316B (ja)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6442554B1 (en) * 1999-01-29 2002-08-27 I2 Technologies Us, Inc. System and method for generating dependent 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
US6804714B1 (en) * 1999-04-16 2004-10-12 Oracle International Corporation Multidimensional repositories for problem discovery and capacity planning of database applications
US6385604B1 (en) * 1999-08-04 2002-05-07 Hyperroll, Israel Limited Relational database management system having integrated non-relational multi-dimensional data store of aggregated data elements
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
US6484179B1 (en) * 1999-10-25 2002-11-19 Oracle Corporation Storing multidimensional data in a relational database management system
WO2001052109A1 (en) * 2000-01-13 2001-07-19 Stanley Benjamin Smith Process and system for gathering and handling information
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
EP1134671A1 (en) * 2000-03-16 2001-09-19 Oracle Corporation Query generator
AU2001257077A1 (en) * 2000-04-17 2001-10-30 Brio Technology, Inc. Analytical server including metrics engine
US6748394B2 (en) 2000-04-27 2004-06-08 Hyperion Solutions Corporation Graphical user interface for relational database
US7167859B2 (en) * 2000-04-27 2007-01-23 Hyperion Solutions Corporation Database security
US6941311B2 (en) * 2000-04-27 2005-09-06 Hyperion Solutions Corporation Aggregate navigation system
US7080090B2 (en) * 2000-04-27 2006-07-18 Hyperion Solutions Corporation Allocation measures and metric calculations in star schema multi-dimensional data warehouse
US6732115B2 (en) 2000-04-27 2004-05-04 Hyperion Solutions Corporation Chameleon measure and metric calculation
US7072897B2 (en) * 2000-04-27 2006-07-04 Hyperion Solutions Corporation Non-additive measures and metric calculation
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
US20010044796A1 (en) * 2000-05-19 2001-11-22 Hiroyasu Fujiwara Totalization system and recording medium
JP2002024286A (ja) * 2000-06-30 2002-01-25 Hitachi Ltd データ表示方法および装置並びにその処理プログラムを記録した記録媒体
EP1532543A4 (en) * 2000-09-11 2008-04-16 Agami Systems Inc STORAGE SYSTEM COMPRISING PARTITIONED METADATA THAT MIGRATE LIKELY
US6931418B1 (en) 2001-03-26 2005-08-16 Steven M. Barnes Method and system for partial-order analysis of multi-dimensional data
US6964833B2 (en) * 2002-05-31 2005-11-15 Samsung Electronics Co., Ltd. Linked dihydrazone-based charge transport compounds
US7472127B2 (en) * 2002-12-18 2008-12-30 International Business Machines Corporation Methods to identify related data in a multidimensional database
US8572221B2 (en) 2004-05-26 2013-10-29 Facebook, Inc. System and method for managing an online social network
US7383159B1 (en) 2005-12-13 2008-06-03 Teradata Us, Inc. Reusable measures
US10223431B2 (en) * 2013-01-31 2019-03-05 Facebook, Inc. Data stream splitting for low-latency data access
US9609050B2 (en) 2013-01-31 2017-03-28 Facebook, Inc. Multi-level data staging for low latency data access
US10061747B2 (en) 2014-05-07 2018-08-28 Seagate Technology Llc Storage of a matrix on a storage compute device
US11281683B1 (en) 2018-10-31 2022-03-22 Anaplan, Inc. Distributed computation system for servicing queries using revisions maps
US11475003B1 (en) * 2018-10-31 2022-10-18 Anaplan, Inc. Method and system for servicing query requests using dataspaces
US11354324B1 (en) 2018-10-31 2022-06-07 Anaplan, Inc. Method and system for servicing query requests using revisions maps
US11481378B1 (en) 2018-10-31 2022-10-25 Anaplan, Inc. Method and system for servicing query requests using document-based metadata
US11580105B2 (en) 2018-10-31 2023-02-14 Anaplan, Inc. Method and system for implementing subscription barriers in a distributed computation system

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2583010B2 (ja) 1993-01-07 1997-02-19 インターナショナル・ビジネス・マシーンズ・コーポレイション 多層インデックス構造におけるローカルインデックステーブル及び大域インデックステーブルの間の一貫性を維持する方法
US5713020A (en) * 1993-09-02 1998-01-27 Microsoft Corporation Method and system for generating database queries containing multiple levels of aggregation
US5675785A (en) 1994-10-04 1997-10-07 Hewlett-Packard Company Data warehouse which is accessed by a user using a schema of virtual tables
JP2977476B2 (ja) * 1995-11-29 1999-11-15 株式会社日立製作所 機密保護方法
US5710915A (en) 1995-12-21 1998-01-20 Electronic Data Systems Corporation Method for accelerating access to a database clustered partitioning
US5761652A (en) * 1996-03-20 1998-06-02 International Business Machines Corporation Constructing balanced multidimensional range-based bitmap indices
US5835712A (en) * 1996-05-03 1998-11-10 Webmate Technologies, Inc. Client-server system using embedded hypertext tags for application and database development
US5974418A (en) * 1996-10-16 1999-10-26 Blinn; Arnold Database schema independence
US5765147A (en) 1996-11-21 1998-06-09 International Business Machines Corportion Query rewrite for extended search capabilities
US5799300A (en) * 1996-12-12 1998-08-25 International Business Machines Corporations Method and system for performing range-sum queries on a data cube
US5822751A (en) * 1996-12-16 1998-10-13 Microsoft Corporation Efficient multidimensional data aggregation operator implementation
US5978788A (en) * 1997-04-14 1999-11-02 International Business Machines Corporation System and method for generating multi-representations of a data cube
US5978796A (en) * 1997-06-30 1999-11-02 International Business Machines Corporation Accessing multi-dimensional data by mapping dense data blocks to rows in a relational database
US5940818A (en) * 1997-06-30 1999-08-17 International Business Machines Corporation Attribute-based access for multi-dimensional databases
US5999924A (en) * 1997-07-25 1999-12-07 Amazon.Com, Inc. Method and apparatus for producing sequenced queries
US6003036A (en) * 1998-02-12 1999-12-14 Martin; Michael W. Interval-partitioning method for multidimensional data
US5991754A (en) * 1998-12-28 1999-11-23 Oracle Corporation Rewriting a query in terms of a summary based on aggregate computability and canonical format, and when a dimension table is on the child side of an outer join

Also Published As

Publication number Publication date
WO2000026821A1 (en) 2000-05-11
ZA200003316B (en) 2001-05-16
BR9906711A (pt) 2000-10-17
CN1292126A (zh) 2001-04-18
EP1057130A1 (en) 2000-12-06
CA2325873A1 (en) 2000-05-11
AU2473000A (en) 2000-05-22
IL137126A (en) 2005-12-18
EP1057130A4 (en) 2006-05-24
IL137126A0 (en) 2001-07-24
US6212515B1 (en) 2001-04-03

Similar Documents

Publication Publication Date Title
JP2002529819A (ja) 散在行列エントリを対応データで占める方法及び装置
AU779250B2 (en) Method and apparatus for populating multiple data marts in a single aggregation process
US6438562B1 (en) Parallel index maintenance
US20230084389A1 (en) System and method for providing bottom-up aggregation in a multidimensional database environment
US6477536B1 (en) Virtual cubes
US6408292B1 (en) Method of and system for managing multi-dimensional databases using modular-arithmetic based address data mapping processes on integer-encoded business dimensions
Bédard et al. Fundamentals of spatial data warehousing for geographic knowledge discovery
US6999970B2 (en) Write-back to cells
US9146948B2 (en) Hilbert ordering of multidimensional tuples within computing systems
EP1680750A1 (en) Remote scoring and aggregating similarity search engine for use with relational databases
WO2005017778A1 (en) Remote scoring and aggregating similarity search engine for use with relational databases
JP2003526159A (ja) 多次元データベースおよび統合集約サーバ
US7328206B2 (en) Extensions for adding and removing calculated members in a multidimensional database
US9223818B2 (en) Taxonomy based database partitioning
US6704721B1 (en) Systems and methods for automated navigation between dynamic data with dissimilar structures
US20030093412A1 (en) Global recuresive and scalable database management system
US7165065B1 (en) Multidimensional database storage and retrieval system
US20030200220A1 (en) Method, system, and program product for the implementation of an attributegroup to aggregate the predefined attributes for an information entity within a content management system
US7260513B2 (en) System and method for analytically modeling data from different measure groups onto a single cube
Bertino et al. An object-relational approach to the representation of multi-granular spatio-temporal data
JP3367510B2 (ja) データベース管理方法およびシステム
AU2004203851B2 (en) Method and apparatus for populating sparse matrix entries from corresponding data
JP3438699B2 (ja) データベース管理方法およびシステム
JPH11312150A (ja) 並列処理方法および並列処理システム、ならびに並列処理プログラムを記録した記録媒体
Chen et al. Top-N query: Query language, distance function, and processing strategies