JP2003330964A - データベース・システム - Google Patents

データベース・システム

Info

Publication number
JP2003330964A
JP2003330964A JP2003100031A JP2003100031A JP2003330964A JP 2003330964 A JP2003330964 A JP 2003330964A JP 2003100031 A JP2003100031 A JP 2003100031A JP 2003100031 A JP2003100031 A JP 2003100031A JP 2003330964 A JP2003330964 A JP 2003330964A
Authority
JP
Japan
Prior art keywords
block
index
storage device
program storage
processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2003100031A
Other languages
English (en)
Other versions
JP3945771B2 (ja
Inventor
Ramesh C Agarwal
ラメッシュ・シー・アガワル
Bishwaranjan Bhattacharjee
ビッシュワランジャン・バタシャルジー
Leslie A Cranston
レズリー・エイ・クランストン
Matthew A Huras
マシュー・エイ・フラス
Tony Wen Hsun Lai
トニー・ウェン・スン・ライ
Timothy R Malkemus
ティモシー・アール・モーキマス
Sriram K Padmanabhan
スリラム・ケー・パドマナバン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2003330964A publication Critical patent/JP2003330964A/ja
Application granted granted Critical
Publication of JP3945771B2 publication Critical patent/JP3945771B2/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/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/953Organization of data
    • Y10S707/954Relational
    • 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/953Organization of data
    • Y10S707/957Multidimensional

Landscapes

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

Abstract

(57)【要約】 【課題】 リレーショナル・データベース管理システム
において、効率的な処理と保守を行なうことのできる多
次元クラスタ化表を提供する。 【解決手段】 多次元クラスタ化表は、少なくとも1つ
の独立した次元すなわちクラスタ化キーで同時にクラス
タ化し、ディスク上のブロックすなわちページに物理的
に編成した表である。このような多次元クラスタ化表を
作成するには、当該多次元クラスタ化表のデータをクラ
スタ化する際に依拠する次元として少なくとも1つのキ
ーを特定する。各次元は少なくとも1つの列から成る。
さらに、多次元クラスタ化表とともに使用する効率的な
照会処理手法と保守手法も提供する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、一般にデータベー
ス・システムに関し、特にリレーショナル・データベー
スにおいて多次元ディスク・クラスタリングを実現する
手法、ならびにリレーショナル・データベースに格納さ
れた情報に対する多次元ディスク・クラスタリングを用
いた効率的なアクセス手法および保守手法に関する。
(クラスタリング〔クラスタ化〕とは属性が同じものを
複数個集めて1つのものにすることである。)
【0002】
【従来の技術】収益性を改善するために、ほとんどすべ
てのビジネス主体がデータウェアハウスを用いてビジネ
ス・インテリジェンスを獲得することに関心を抱いてい
る。技術世界で広く認識されているところによれば、大
部分のデータウェアハウスは多次元態様で編成されてい
る。ラルフ・キンボールら著『データウェアハウス・ツ
ールキット:次元データウェアハウスを構築するための
実戦手法』(Ralph Kimball, et al., The Data Wareho
use Toolkit: Practical Techniques for Building Dim
ensional Data Warehoses, John Wiley & Sons, ISBN:
0471153370, 1996)には、多次元スキーマを用いてデー
タウェアハウスをモデル化する方法が記載されている。
【0003】比較的小規模のデータウェアハウスの構築
には相変わらず、多くのOLAP(online analytical
processing: 多次元分析)システムで多次元配列設計が
用いられている。しかし、この多次元配列構造は100
ギガバイトを超える記憶容量を必要とするような大規模
データウェアハウス用にうまく拡張することができな
い。このような大規模データウェアハウスはいまだにリ
レーショナル・データベース・モデルを用いて実装され
ている。既存のリレーショナル・データベースも何らか
のクラスタ化とデータ区分化を備えているけれども、そ
れらの手法は多次元データをサポートするのには十分で
ない。
【0004】OLAPシステムは多くの次元あるいはす
べての次元を用いてデータを編成しようとするものであ
る。効率性の観点から、概念的多次元配列は実際には多
層構造によって実装されている。次元は各次元値に対し
て予期されるエントリ数に基づいて密な集合と粗な集合
に分けられる。密な次元は多次元配列として実装され、
粗な次元は各副配列を指示するのに使われる。アール
(Earle)の米国特許第5359724号にはそのような
手法が記載されている。この構成でもまだ非効率であ
る。というのは、密な次元は部分的にしか利用されてい
ないからである。たとえば、研究報告によれば、実世界
のデータでは密な配列は通常約20%しか占有されてい
ない。
【0005】空間データベースや地理情報システムで
は、2次元あるいは3次元のデータ・モデルを用いてい
る。空間データを編成したり索引付けしたりするデータ
構造や方法が数多く提案されている。たとえば、R−T
ree、QuadTree、Grid Fileなどで
ある。これらの索引付け構造のうちにはリレーショナル
・データベース管理システム(RDBMS)の拡張とし
て実装されているものもあるが、データウェアハウスな
どの実装で必要な保守と照会処理の要件を満たしている
とは考えられていない。さらに、これらのシステムで
は、2次元あるいは3次元のデータを効率的にクラスタ
化する手法は考慮されていない。
【0006】
【課題を解決するための手段】リレーショナル・データ
ベース管理システムにおいて、少なくとも1つの次元に
よる表のクラスタリングを保守する効率的なスペース管
理手法を開示する。さらに、これらの表とともに使用す
る効率的な照会処理手法と保守手法も提供する。
【0007】本発明の一側面により、リレーショナル・
データベースにおいてクラスタ化されたデータを効率的
に保守する方法を提供する。この方法は表定義パラメー
タを用いてリレーショナル・データベースの表の次元を
特定するステップを備えている。上記表はデータから成
るブロックを用いて各次元にクラスタ化されている。上
記表の各次元ごとにブロック索引を作成する。本発明の
別の側面によると、ブロックは連続記憶スペースに情報
を格納している。本発明の別の側面によると、各ブロッ
ク索引はブロックIDのリストに関連付けられた少なく
とも1つのキーを備えている。本発明の別の側面による
と、上記表の次元は上記表の少なくとも1つの列に関連
付けられている。本発明の別の側面によると、上記表定
義パラメータは表作成ステートメントまたは表変更ステ
ートメントに関連付けられている。本発明の別の側面に
よると、上記表は多次元表である。本発明の別の側面に
よると、この多次元表はたとえばデータウェアハウス用
の典型的な用途情報をモデル化するのに用いる。しかし
ながら、認識すべき点を挙げると、上記表は他の様々な
目的に用いることができる。
【0008】本発明のさらに別の側面によると、上記方
法はさらに複合次元索引を作成するステップを備えてい
る。本発明のさらに別の側面によると、上記複合次元索
引は自動的に作成する。本発明の一側面によると、上記
複合次元索引は複合キーのリストを備えており、各複合
キーは多次元表のセルに関連付けられているとともに、
当該セル用のブロックIDを少なくとも1つ有してい
る。
【0009】本発明のさらに別の側面によると、上記方
法はさらに上記表用のビット・マップを作成するステッ
プを備えている。上記ビット・マップの各要素は上記表
に関連付けられたブロックの現在の状態に関連付けられ
ている。本発明の別の側面によると、各ブロックは状態
情報の複製を備えている。本発明の別の側面によると、
上記ビット・マップは、たとえば元のビット・マップが
破損したり使用できなくなったりしたときに、上記状態
情報の複製を用いて作成する。
【0010】本発明のさらに別の側面によると、上記方
法はさらに上記表に格納されている情報を求める照会を
処理するステップを備えている。本発明のさらに別の側
面によると、照会を処理するステップはさらに、個々の
ブロック索引または複合索引の情報を用いてブロックI
Dのリストを取得するステップと、上記表のブロックを
スキャンしてレコードを探し出すステップとを備えてい
る。本発明の別の側面によると、照会を処理するステッ
プは、上記表全体をスキャンするステップと、レコード
基準索引を用いてレコードを探し出すステップとを備え
ている。本発明の別の側面によると、上記方法はさらに
索引ANDを行なうステップを備えている。本発明の別
の側面によると、上記方法はさらに索引ORを行なうス
テップを備えている。本発明の別の側面によると、上記
方法はコスト・モデルに基づいて照会計画を作成するス
テップを備えている。
【0011】本発明のさらに別の側面によると、上記方
法はさらに保守要求を処理するステップを備えている。
本発明の別の側面によると、この保守要求にはロード、
データベースの再編成、レコードの挿入、レコードの削
除、パージ、および更新がある。本発明の別の側面によ
ると、上記保守操作を実行したあとであってもクラスタ
リングは維持される。
【0012】本発明のさらに別の側面によると、ロード
操作または挿入操作は、上記表に関連付けられたブロッ
クを1つ使用するステップ、または、(空〔から〕のス
ペースがない場合に)新たなブロックを割り当てるステ
ップを備えている。本発明の別の側面によると、保守操
作が再編成、削除、またはパージである場合にはスペー
スを再利用する。
【0013】本発明のこれらの側面および他の側面、特
徴、ならびに利点は、次に示す添付図面とともに読まれ
るべき好適な実施形態の詳細な説明によって明らかにな
る。
【0014】
【発明の実施の形態】まず、リレーショナル・データベ
ース管理システム(RDBMS)を用いた、本発明に係
る多次元ディスク・クラスタリング用の環境を図1の文
脈で説明する。システム100はメモリ101に接続さ
れたプロセッサ102、少なくとも1つの入出力(I/
O)装置104、およびRDBMS103を備えてい
る。プロセッサ102は本発明に係る方法を実装しうる
という点を認識すべきである。あるいは、RDBMS1
03が自分用のプロセッサ、メモリ、およびI/O装置
から成る構成(図示せず)を備えて本発明に係る方法を
実装してもよい。この構成では、たとえばサーバ・プラ
ットフォームにRDBMS103を常駐させ、プロセッ
サ102、メモリ101、およびI/O装置104をク
ライアント・システム中のプロセッサ102に付随させ
てもよい。無論、当業者が容易に認識しうるように、本
発明の本旨と範囲のうちでRDBMS103を用いて照
会を処理しうるように適合した構成は他にも数多くあ
る。
【0015】メモリ101はたとえばプロセッサ102
が自分が使用した情報を格納する際に使用する。I/O
装置104にはキーボード、マウス、および/または、
ユーザが照会および/または他のデータをシステム10
0に入力するのを可能にする他の任意のデータ入力装置
がある。(「Aおよび/またはB」は「AおよびB、
A、またはB」を表わす。)I/O装置104にはディ
スプレイ、プリンタ、および/または、照会に付随する
結果および/または他のプロセッサ動作をユーザが閲覧
(観察)するのを可能にする他の任意の出力装置があ
る。RDBMS103はSQL(構造化照会言語)コマ
ンド(あるいは他の種類の照会)を処理するシステム・
ソフトウェア(たとえば図2に示すようにもの)を備え
ている。上記処理には、たとえばSQLコマンド(ある
いは他の種類の照会)を最適化すること、それらを実行
してプロセッサ102に戻された情報を取得することな
どがある。理解すべき点を挙げると、RDBMS103
に付随する構造化データは複数の行と列を備えた個々の
表中に編成されている。次に動作を説明する。普通の構
成では、I/O装置104として標準のコンピュータ・
キーボードおよび/またはポインティング・デバイスな
どを使用しているエンドユーザが特定のSQLコマンド
を入力する(あるいは特定のSQLコマンドを生成させ
る)。次いで、プロセッサ102がI/O装置104か
らこのコマンドを受け取ったのち、それをRDBMS1
03に送る。次いで、RDBMS103は上記SQLコ
マンドを解析し、解析結果を最適化し、それをRDBM
S自身が内蔵している情報に対して実行する。次いで、
RDBMS103は結果表をプロセッサ102に送り返
す。プロセッサ102は当該結果表をI/O装置104
を使用しているエンドユーザに表示する。しかしながら
認識すべき点を挙げると、RDBMS103と対話する
方法はこれ以外にも多数ある。たとえば、バッチ・モー
ドで実行しているコンピュータ・プログラムは、ユーザ
の直接的な対話を必要とせずにRDBMS103と対話
することができる。
【0016】認識すべき点を挙げると、ここで使用して
いる用語「プロセッサ」はたとえばCPU(中央処理装
置)を含む任意の処理装置を含むことを意図している。
ここで使用している用語「メモリ」はプロセッサすなわ
ちCPUに付随するメモリ、たとえばRAM、ROM、
固定記憶装置(たとえばハード・ディスク駆動装置)、
着脱可能記憶装置(たとえばディスケット)などを含む
ことを意図している。さらに、ここで使用している用語
「入出力装置」すなわち「I/O装置」は、たとえば照
会を作成するおよび/または処理装置にデータを入力す
る少なくとも1つの入力装置(たとえばキーボード)、
および/または、照会結果および/または処理装置に付
随する他の結果を提示する少なくとも1つの出力装置
(たとえばCRTディスプレイおよび/またはプリン
タ)を含むことを意図している。あるプロセッサに付随
する様々な構成要素は他のプロセッサが共用することが
できる、という点も理解すべきである。以上のとおりで
あるから、ここで説明する本発明の手法を実行する命令
すなわちコードを含むソフトウェア・コンポーネント
は、プロセッサに付随する少なくとも1つの記憶装置
(たとえばROM、固定記憶装置、着脱可能記憶装置な
ど)に格納しておき、使用しうる状態になったら一部ま
たは全部を(たとえばRAM)にロードし、CPUが実
行する。
【0017】図1に示す典型的な環境は本発明を限定す
ることを意図していない、ということは当業者が容易に
理解しうる点である。本発明の本旨と範囲の内で他の代
替可能な環境を用いることもできる、ということも当業
者が容易に認識しうる点である。
【0018】図2は典型的なRDBMS103を示す図
である。RDBMS103は照会コンパイラ201、コ
ード・ジェネレータ202、実行エンジン203、アク
セス・メソッド・エンジン204、バッファ・マネージ
ャ205、ユーティリティ・エンジン206、データ・
マネージャ207、および残余コンポーネント208を
備えている。
【0019】本発明の好適な実施形態では、RDBMS
103としては、インターナショナル・ビジネス・マシ
ーンズ・コーポレーションがUNIX(R)、WIND
OWS(R) NTその他のシステム用に提供している
DB2製品を用いることができる。しかしながら、認識
すべき点を挙げると、本発明はDB2製品であれ他の製
品であれそれに付随する任意のリレーショナル・データ
ベース・ソフトウェアに適用することができる。
【0020】動作中、RDBMS103はたとえばコン
ピュータ・システムで実行され、ネットワーク・インタ
フェースを用いて少なくとも1つのクライアントと通信
する。RDBMS103はユーザからコマンドを介して
命令を受け取ることにより、スタンドアロン・サーバ・
モードで動作することもできる。通常、クライアント/
ユーザがRDBMS103が処理するSQLコマンドを
発行すると、結果が返される。動作中、照会コンパイラ
201は入力SQLコマンドを解析したのち、コード・
ジェネレータ202を使って実行計画を作成する。解析
したSQLコマンドは通常、内部表現に変換したのち、
最適化する。最適化には正しい結果を得るために代替可
能なストラテジー(戦略)をいくつか参照するステップ
と、最も効率的なストラテジーを選択するステップとが
含まれる。実行エンジン203は実行計画を解釈・実行
して所望の結果を生成する。その際、実行エンジン20
3はデータ・マネージャ207に要求を出して表から情
報を取得する。これは利用可能な索引を使い、表群をス
キャンし、など、照会コンパイラ210(または別個の
最適化プログラム)が決めた方法で行なう。実行エンジ
ン203はアクセス・メソッド・エンジン204を使
い、当該アクセス・メソッド・エンジン204(または
外部)に格納されている基礎データベース表群に効率的
にアクセスする。次いで、関連するデータ項目を取得し
てバッファ・マネージャ205に格納し当該データの再
利用に備える。通常、リレーショナル・データベース管
理システムは順次表スキャン方式に加え、索引基準表ア
クセス方式を備えている。RDBMSシステムでは、B
ツリー索引が最も好適な索引手法である。また、RDB
MSシステムのなかには、少なくとも1つの列(または
索引)を用いて基礎データをクラスタ化すること、およ
び/または区分することができるものもある。
【0021】本発明によると、ここで説明する多次元ク
ラスタリング手法は次に示すRDBMS103の主要コ
ンポーネントに影響を及ぼす。
【0022】(1)データ・マネージャ207とアクセ
ス・メソッド・エンジン204:データにアクセスする
ために、Bツリー索引手法を変更するのに加え、新たな
データ設計とレコード管理構造をいくつか提供する。ま
た、コンカレント・アクセスとデータ構造の復旧とを管
理する手法を新たにサポートする。
【0023】(2)実行エンジン203:データ・マネ
ージャ207とアクセス・メソッド・エンジン204に
生じた変化を利用する、照会処理用の演算子とデータベ
ース保守操作とを新たに提供する。
【0024】(3)照会コンパイラ201とコード・ジ
ェネレータ202:新たな演算子と既存の演算子との間
で選択を行なうコスト基準の新たな手法を提供する。
【0025】(4)ユーティリティ・エンジン206:
ユーティリティ操作を実行する新たな方式、たとえばバ
ルク(大量)ロードやデータ認識などを提供する。
【0026】一般に、RDBMS103ソフトウェアお
よびそれに由来する命令群は、コンピュータ読み取り可
能な媒体すなわちコンピュータによって読み取ることの
できる媒体に有形的に記録することができる。RDBM
S103ソフトウェアおよびそれに由来する命令群はす
べて、コンピュータ・システムによって読み取られて実
行されると、本発明を実装および/または使用するのに
必要なステップを当該コンピュータ・システムに実行さ
せる命令群から構成されている。RDBMS103ソフ
トウェアおよびそれに由来する命令群は、オペレーティ
ング・システムの制御の下で、適切なデータ記憶装置か
ら実動中に使用される、コンピュータ・システムのメモ
リにロードする。
【0027】図3は2次元にクラスタ化された典型的な
多次元表を示す図である。図3に示す多次元表は「年月
(YearAndMonth)」300なる次元と「州(Provinc
e)」310なる次元にクラスタ化されている。多次元
表中のレコードはブロック群に格納されている。各ブロ
ックはディスクその他好適な媒体に格納された連続ペー
ジから成るある分量のエクステントを保有している。
(エクステントとは記憶媒体上で1つのデータ・セット
が占める領域のことである。)図3では、ブロックは長
円で表されており、多次元表に割り当てられたエクステ
ント群の論理順序に従って番号が付されている。たとえ
ば、長円301は多次元表中の1番目のブロックすなわ
ちブロック1を指示している。図3中の格子はこれらの
ブロックの論理区分化を表わしている。各正方形(たと
えば正方形302)は論理セルを表わしている。格子中
の行または列は特定の次元に対するスライスを表わして
いる。(スライスとはある事象から切り出された薄片の
ことである。)たとえば、州310列中の値「ON」
(「オンタリオ(Ontario)」の略)を含むレコードはす
べて、格子中の「ON」列によって画定されたスライス
に含まれるブロック群に存在する。実際、このスライス
中の各ブロックは州フィールドが「ON」であるレコー
ドしか含んでいない。したがって、格子中のこのスライ
スすなわちこの列に、あるブロックが含まれるのは、州
フィールドが「ON」であるレコードを当該ブロックが
含んでいる場合だけである。図3に示す典型的な多次元
表では、「ON」州列に対するスライスにはブロック
9、16、18、19、22、24、25、30、3
6、39、41、42が含まれている。
【0028】ここに示す典型的な表ではブロック1から
開始する順番でブロック群に番号を付したけれども、他
の多くの方法でブロック群を特定しうるということを認
識すべきである。たとえば、表中の1番目のブロックは
ブロック0と名付けることもできる。また当業者が認識
しうるように、本発明の本旨と範囲の内で、表に関係す
る情報の部分を特定する他の様々な方法を案出すること
ができるとともに、異なる用語法を用いることもでき
る。
【0029】図4は図3の典型的な多次元表の各次元に
次元ブロック索引を備えた図である。あるスライスを構
成しているのはどのブロックであるか、すなわち特定の
次元キー値を有するレコードをすべて含むのはどのブロ
ックであるかを判断するのを容易にするために、表を生
成するときに各次元ごとに次元ブロック索引を自動的に
生成する。したがって、年月次元300には次元ブロッ
ク索引400を生成し、州次元310には次元ブロック
索引410を生成する。各次元ブロック索引は既存のレ
コード基準索引と同じ方法で構築することができる。た
だし、リーフ(葉)のレベルでは、キーはレコードID
(RID)ではなくブロックID(BID)を指示して
いる。都合のよいことに、各ブロックはレコード群から
成る多数のページを潜在的に含んでいるから、これらの
ブロック索引はRID索引よりもはるかに小さい。ま
た、これらのブロック索引は新たなブロックが必要にな
りそれをセルに付加するとき、またはセルから除去しう
るように既存のブロックを空(から)にするときに更新
するだけでよい。
【0030】スライス(すなわちある次元における特定
のキー値を有するレコードをすべて備えたページ群を含
むブロック群の集合)は、関連する次元ブロック索引中
に当該キー値に対するBIDリストによって表わすこと
ができる。
【0031】図4に示す典型的な多次元表において、州
次元が「ON」であるレコードをすべて含むスライスを
探すには、州次元ブロック索引でこのキー値を調べる。
すると、次に示すキーが見つかる。 <ON:9、16、18、19、22、24、25、3
0、36、39、41、42> ただし、キーは<キー値:BID>対という形をしてい
る。
【0032】上記キーはキー値(すなわち「ON」)と
BIDのリストから構成されている。各BIDはブロッ
クの場所を含んでいる。この例では、列挙されているブ
ロック番号は多次元表の格子中にある「ON」列(すな
わちスライス)中にあるものと同じであることが分か
る。同様に、年月次元が「9902」であるレコードを
すべて含むブロックのリストを探すには、年月次元索引
でこのキー値を調べると、次に示すキーが見つかる。 <9902:2、5、7、8、14、15、17、1
8、31、32、33、43>
【0033】多次元表のクラスタリングはSQL言語で
特定することができる。それには、Create Ta
ble(表作成)ステートメントまたはAlter T
able(表変更)ステートメントに付加する文節に、
クラスタリング属性を特定しうる適切なものを使用す
る。たとえば、次に示すCreate Tableステ
ートメントを用いてこの例の表を作成することができ
る。 CREATE TABLE TABLE_1 (Date DATE, Province CHAR
(2), YearAndMonth INTEGER DIMENSIONS (YearAndMonth, Province);
【0034】この場合、年月(YearAndMonth)次元と州
(Province)次元はTABLE _1 用にDIMENSIONS文節を用
いて定義されている。多次元表のクラスタリングは当該
多次元表中のすべてのデータに適用されなければならな
い。特に、既存の表にAlter Tableコマンド
を用いてクラスタリングを特定する場合には、データの
再編成も実行する必要がある。留意点を挙げると、クラ
スタリング属性用のブロック索引は自動的に作成するこ
とができる。
【0035】図5は典型的な複合次元索引用のデータ構
造を示す図である。レコードを表に挿入するとき、その
次元値用のセルが既に存在するかどうか知る必要があ
る。上記セルが存在する場合、可能なら当該レコードを
上記セルの既存のブロックに挿入し、既存のブロックが
満杯なら上記セルに別のブロックを付加する。上記セル
が存在しない場合には、新たなセルを作成しそれにブロ
ックを付加する必要がある。これを自動的な保守操作と
するには、複合次元索引と呼ばれ多次元表を作成すると
きに作成しうるブロック索引を新たに用いて実装するこ
とができる。この複合次元索引は多次元表中のすべての
次元列について作成するから、各キー値は表中の特定の
セルに対応し、そのBIDリストは当該セルを構成する
ブロックから成る。これを図5に示す。この複合ブロッ
ク索引によって、次元用の値の特定の集合を有するブロ
ックを迅速かつ効率的に検索するのが容易になる。複合
ブロック索引は挿入操作中に、対象とする多次元表の次
元群によるデータの物理的クラスタリングを動的に管理
・保守するのにも使うことができる。認識すべき点を挙
げると、Rツリーなどの多次元索引構造も、それらがレ
コードまたはオブジェクトではなくブロックを指示して
いる場合には、複合次元索引を実装するのに使用するこ
とができる。
【0036】図6は図4の多次元表に新たな次元を備え
て拡張したものを示す図である。いま、図6に示すよう
に、年月次元300、州次元310、および色(Color)
次元600から成る次元を備えた多次元表を考える。こ
の多次元表は論理立方体と考えることができる。この例
では、4つのブロック索引を作成することになる。すな
わち、個々の次元(すなわち年月次元300、州次元3
10、および色次元600)ごとに1つずつのブロック
索引と、キーとしてこれらの次元のすべてを備えた複合
次元索引(図示せず)とである。
【0037】本発明の目標の1つは効率的な照会処理を
容易にすることである。以下、本発明によって容易にな
る照会処理方法を説明する。年月次元300、州次元3
10、および色次元600から成る次元を備えた、図6
に示す3次元立方体を考える。たとえば「すべての日付
と地域にわたって「色が『赤』である」合計売上高はい
くらか」のような照会は、いくつかの異なる方法で処理
することができる。この照会を処理する方法には、次に
示す選択肢がある。 (1)表スキャン:表全体をスキャンして「色が『赤』
である」行だけを選択する。 (2)ブロック・スキャン:色に関するブロック索引を
使って検索範囲をブロックの特定の集合に狭める。 (3)レコード・スキャン:(存在する場合には)色に
関するレコード基準索引を使って検索範囲をレコードの
特定の集合に狭める。
【0038】照会最適化プログラムでコスト・モデルを
用いることにより、これらの選択肢のうちから最良のも
のを見つけ出すことができる。ブロック・スキャン方法
は本発明で導入された新しい操作である。このブロック
・スキャンは次に示す2つのステップで実行する。 (i) ブロック索引をスキャンして照会述語を満たすブロ
ックIDを見つけ出す。 (ii)当該ブロック中のレコードをすべて処理する。 これは余分な述語を含んでいてもよい。ブロック・スキ
ャン操作が最も効率的なのは、所定の照会に対して1つ
のブロック、ブロックの集合、またはレコードの集合の
大部分を処理する必要がある場合である。このような要
件はデータウェアハウスではきわめて普通のことであ
る。たとえば、上述した照会はブロックの全体集合への
アクセスを含むものと考えられる。したがって、この照
会を処理する方法としては、ブロック・スキャン操作が
最も効率的な方法になると考えられる。
【0039】留意点を挙げると、多次元表に対してRI
D索引もサポートすれば、索引AND手法および索引O
R手法によってRID索引とブロック索引とを組み合わ
せることができる。あるいは、多次元表を既存の任意の
表と同様に処理することもできる。たとえば、多次元表
に対してトリガー、参照保全性、ビュー、および自動サ
マリー表を定義することができる。
【0040】図7(a)(b)(c)はブロック索引を
用いて索引ANDを実行する方法を示す図である。い
ま、図6に示す3次元立方体に対する「色が『青』であ
り、かつ(AND)、州が『QB』である」という照会
を考える。まず、「色が『青』である」ブロックをすべ
て含むスライスを求める。それには、多次元表に付随す
る色次元ブロック索引で「青」キー値を探す。その結
果、次に示すキーが見つかる。 <青:1、2、3、4、5、6、7、8、9、10、1
1、12、13、14> これは図7(a)の立体図に示す(灰色で強調表示し
た)スライス715に対応している。
【0041】次いで、「州が『QB』である」レコード
をすべて含むブロックを求める。それには、州次元ブロ
ック索引で「QB」キー値を探す。その結果、次に示す
キーが見つかる。 <QB:11、12、13、14、27、28、35、
37、40、51> これは図7(b)の立体図に示すスライス725に対応
している。上記2つのキー値を有するレコードをすべて
含むブロックの集合を探すには、上記2つのスライスの
交差部を見つける必要がある。これを行なうには、上記
2つのBIDリストの索引ANDをとる。この例では、
共通BID値は「11、12、13、14」である。こ
れは図7(c)に示す立体図の区画735に対応してい
る。
【0042】スキャンすべきブロックのリストが得られ
たら、各ブロックに対してミニ・リレーショナル・スキ
ャンを実行するだけでよい。この操作には入出力(I/
O)が1回しかない(したがって高速に行なうことがで
きる)。なぜなら、1つのブロックはディスクに1つの
エクステントとして格納され、1つの単位としてバッフ
ァプールに読み取ることができるからである。また、照
会述語を再適用する必要があり、かつ、一部の述語が次
元値にしか存在しない場合には、それらの述語をブロッ
ク中の1つのレコードに再適用するだけでよい。なぜな
ら、ブロック中のすべてのレコードに同じ次元キー値が
存在することが保証されているからである。また、他に
述語があっても、それらがブロック中の残りのレコード
に存在するかどうか検査するだけでよい。
【0043】ブロック基準索引AND方式はビット・マ
ップ方式を用いることができるから、きわめて効率的で
ある。また、ブロック・レベル索引はRID索引よりも
小さいから、索引ANDに要する処理時間はきわめて少
ない。最後に、ブロックの交差リストはブロック基準I
/O操作を使って効率的にアクセスすることができる。
全体として、ここで説明した操作はきわめて効率的であ
り、この手法以前の既存のものよりもはるかに高速であ
る。
【0044】多次元表用に既存のRID基準索引もサポ
ートすれば、索引AND操作と索引OR操作によってR
ID索引とブロック索引とを組み合わせることができ
る。
【0045】上述したように、ブロック索引を用いてブ
ロック基準索引OR操作も実行することができる。たと
えば、照会が「州が『ON』であるか、または(O
R)、州が『BC』である」という条件を含んでいる場
合、州ブロック索引をカテゴリごとにスキャンしたの
ち、OR操作を実行するとブロックの合計リストが得ら
れる。また、このOR操作によれば、たとえば「州が
『AB』であるか、または(OR)、色が『赤』であ
る」といった条件の場合に生じる可能性のあるBIDの
重複を除去することができる。
【0046】副ブロック索引スキャンもサポートするこ
とができる。副ブロック索引があると、単一のBIDが
多数のキーの下に存在しうることになる。このことはR
ID索引では決してありえない、ということに留意する
必要がある。副ブロック索引を用いてファクト表にアク
セスする際に重要なのは、適格ブロックのスキャンが1
回しかないという点である。すなわち、その1回のスキ
ャンで適格ブロックのすべてのレコードにアクセスする
必要があり、当該ブロックを再度フェッチしてはならな
い。この結果、重複を除去しうるようにブロックの適格
リストを保守することが必要になる。
【0047】図8は多次元表に付随する典型的なブロッ
ク・マップを示す図である。ブロック・マップには、特
定の多次元表に属す各ブロックの現在の状態が記録され
ている。たとえば、このブロック・マップ中の要素80
1は多次元表のブロック0を表わしている。その使用可
能状態は「X」であり、予約済みであることを表わして
いる。したがって、ブロック0は多次元表のデータ行を
格納するのにまったく使用できない。ブロック・マップ
中の要素802はブロック8を表わしている。その使用
可能状態は「U」であり、使用中であることを表わして
いる。同様に、ブロック1〜7、10〜15、17、2
0、25、26も使用中である。このことは多次元表中
のレコードはこれらのブロック中に存在するということ
を意味している。ブロック・マップ中の要素803はブ
ロック19を表わしている。その使用可能状態は「F」
であり、空(から)であることを表わしている。同様
に、ブロック21、23、24、27〜29も空であ
る。このことはこれらのブロックが現在、多次元表によ
って使用されておらず、使用可能であることを意味して
いる。ブロック・マップ中の要素804はブロック22
を表している。その使用可能状態は「L」であり、当該
ブロックは最近に情報がロードされたことを表わしてい
る。同様に、ブロック9、16、30〜33も最近にロ
ードされたブロックである。ブロック・マップ中の要素
806はブロック18を表わしている。その使用可能状
態は「C」である。ブロック18は以前にロードされた
ものであるが、依然として制約検査を行なう必要があ
る。
【0048】認識すべき点を挙げると、図8に示すブロ
ック・マップは特定の値を有する様々な状態フラグを備
えているけれども、他の値を用いて異なるブロック状態
または新たなブロック状態を反映させることもできる。
さらに認識すべき点を挙げると、新たなブロックその他
の情報を表わす新たな要素を動的に割り当てうるような
方法で、ビット・マップのデータ構造を構築することも
できる。
【0049】各ブロックは当該ブロックの第1ページの
第1スロットに配置されたヘッダを備えている。ヘッダ
には(他の様々な事項とともに)ブロック状態のコピー
とビット・マップとが格納されている。ブロック状態の
コピーが格納されている結果、ブロック・マップが削除
されたり破損されたりした場合、必要なら当該ブロック
・マップを再作成することができる。上記ビット・マッ
プはブロックの全ページをカバーし空のページを指示す
るものである(たとえば0=空、1=非空、オーバーフ
ロー・レコードまたはポインタ・レコードしか備えてい
ない場合であってもこのようにする)。また、各ブロッ
クはそれに付随するフリー・スペース・コントロール・
レコード(FSCR)を備えている。FSCRにはペー
ジ・オフセットとページ当たりのフリー・スペースの近
似値とが格納されている。これらのFSCRはたとえ
ば、ブロックの第1ページに位置し、当該ページの第2
レコードとして格納される。
【0050】上述した表編成はきわめてスペース効率が
良い。重要なのは、各セルが少なくとも1ブロック分の
データを有するように多次元キーおよび対応するブロッ
ク・サイズを選ぶことである。というのは、最終ブロッ
クのみが部分的に満杯になることが多いからである。こ
の高効率状態は挿入操作、削除操作、またはバックグラ
ウンドでの再編成が頻繁に行なわれる場合であっても維
持することができる。これに対して、OLAP編成では
上述したように、大量の未使用スペースが生じる。
【0051】図9は本発明の手法に従って実行しうる様
々な保守機能を示す図である。図9には保守機能900
がある。保守機能900には、ロード機能901、再編
成機能902、挿入機能903、削除機能904、パー
ジ機能905、および更新機能906がある。以下、こ
れらの機能を詳細に説明する。
【0052】〔ロード機能901〕通常、比較的大量の
データを表中にロードするには、挿入コマンドを多数個
発行する代わりにロード機能を使用する。ロード・ユー
ティリティを用いれば、特定の方式でフォーマットした
データ・セットにアクセスし、当該データ・セット中の
情報を使って特定の表に行を作成することができる。
【0053】重要な点を挙げると、ロード・ユーティリ
ティは効率的な方式を用いてデータを表中に挿入する。
多次元表中にデータを首尾よくロードするには、入力を
次元値とともに編成することである。(このことは多次
元表では初期設定として確立されている。)このことが
必要なのは、レコードが次元値とブロック境界によって
適切にクラスタ化されていることを保証するためであ
る。たとえば、<年月=9903、州=「ON」、色=
「赤」>に対応する論理セルに対して1つのビン(大
箱)を作成することができる。そうすると、次元属性に
関し同じ値を有するレコードはすべてこのビンに割り当
てることができる。物理的には、各ビンはデータ・ペー
ジ群から成る1つのブロックによって表わすことができ
る。最近に処理されたビンはメモリ中に保持しておき、
それらが満杯になったとき、または他のビンをメモリに
持ってくる必要が生じたときにディスクに書き出す。
【0054】処理を減らす方法の1つは、ユーザがLO
ADコマンド中で文節を指定できるようにすることであ
る。ユーザ指定の文節として、たとえば MODIFY BY ASSERTORDER(取り込
み順に変更)文節 を挙げることができる。この任意実行文節(または同じ
効果を有する同様の文節)は、入力データ・セットは既
に格納順であるから処理をより効率的に行なえるという
ことをロード・ユーティリティに知らせるのに使うこと
ができる。これが役に立つ場合がいくつかある。たとえ
ばデータが次元とキー値によって格納済みの場合であ
る。この場合、ロード・ユーティリティは順番を検証す
るだけでよい。別の例として、特定のセル用のレコード
群をロードする場合に有益である。なぜなら、特定のセ
ルに付加するレコード群の次元値はすべて同じだからで
ある。これが当てはまる例として、表が単一の次元から
成り、当該次元の特定値を有するレコード群(たとえば
2001年2月以降の全レコード)にユーザが大童(お
おわらわ)になっている場合が挙げられる。このような
場合、MODIFY BY ASSERTORDER文
節(またはこれと同じ効果を有する同様の文節)を指定
すると、ロード・ユーティリティはデータが適切に順序
付けられていることを検証するだけでよい。順番が前後
したレコードを発見した場合には、ロード・ユーティリ
ティは処理を停止し、たとえば当該表をロード保留状態
に置いておけばよい。
【0055】〔再編成機能902〕再編成ユーティリテ
ィはデータベースにおけるデータの物理的な配置を再編
成するのに使用する。データベースの再編成が必要にな
るのは、フラグメント(断片)化したデータ・スペース
をデフラグするため、またはクラスタ索引を有するレコ
ード群を再構成(クラスタ化)するためである。
【0056】多次元表の再編成はクラスタリング索引を
有する表の場合よりもずっと単純であり、必要になる頻
度もずっと低い。多次元表ではクラスタリングを自動的
かつ連続的に継続することができるから、データを再ク
ラスタ化するのにもはや再編成を必要としない。しか
し、多次元表中のスペースを再利用する(具体的にはセ
ル内のスペースを再利用する)、あるいはオーバーフロ
ーしたレコードを除去するのに、再編成ユーティリティ
を使うことができる。多次元表用の再編成ユーティリテ
ィはブロック指向である。複合次元ブロック索引を使う
ことにより、特定ブロック群中のレコード群にアクセス
することができる。それらのレコード群は再編成パラメ
ータ(たとえば必要な空きスペースの量)を用いてを新
たなブロック1つに再構成することができる。この結
果、初期論理セルが多数のブロックを含んでいても、再
構成後のセルはより少ない数のブロックしか含んでいな
い、ということが起こりうる。たとえば、あるセルが初
めにブロック1、10、30、45を含んでいたとす
る。この場合、再編成後に当該セルが新たなブロック
1、2しか含んでいない、ということがありうる。残り
のスペースは他のセルが使用しうるように解放された、
あるいはこの表から完全に除去された。また、再編成の
終わりには新たなブロック・マップの再構築も行なう。
【0057】〔挿入機能903〕挿入には表に新たなレ
コードを作成することが含まれる。挿入操作中、クラス
タリングを維持する必要がある。いま、次元値<990
3,‘AB’>を有するレコードを(図4に示すよう
な)多次元表中に挿入することを考える。まず、複合ブ
ロック索引を使ってこの新たなレコード用に適切なブロ
ックを特定する必要がある。それには、(図5に示すよ
うな)複合ブロック索引でキー値「9903,AB」を
探す。その結果、次に示すキーが見つかる。 <9903,AB:3,10> この場合、キー値「9903,AB」を有するブロック
はブロック3とブロック10の2つあることが分かる。
これらのブロックは指定した次元を有するレコードをす
べて含んでいるが、それら以外のレコードは含んでいな
い。したがって、これらのブロックのページのいずれか
にスペースがある場合、これらのブロックのうちの1つ
に新たなレコードを挿入する。これらのブロックのペー
ジのいずれにもスペースがない場合には、多次元表に新
たなブロックを割り当てるか、多次元表中の以前に空に
したブロックを使用する。その際、(図8に示すよう
な)ブロック・マップを探索して空のブロックを見つけ
ることができる。たとえば多次元表用のビット・マップ
を調べたら、ブロック48が現在、多次元表によって使
用されていない(すなわちその状態が空を示す「F」で
ある)ことが分かったとする。この場合、上記新たなレ
コードをブロック48のページに挿入する。そして、こ
のブロック48を、そのBIDを複合ブロック索引に付
加することによりセルに割り当てるとともに、各次元ブ
ロック索引に割り当てる。
【0058】結果として得られる次元ブロック索引中の
キーは次に示すようになる。 <9903:3,4,10,16,20,22,26,
30,36,48> <AB:1,3,5,6,7,8,10,12,14,
32,48> 結果として得られる複合ブロック索引中のキーは次に示
すようになる。 <9903,AB:3,10,48>
【0059】いま、多次元表中に空のブロックがないと
する。この場合には、多次元表に新たなブロックを割り
当て、行(すなわちレコード)を挿入するのに使う。こ
の場合にも、上述したようにして索引群を更新する。
【0060】新たな次元を有するレコードを挿入する場
合には、新たなブロックまたは空のブロックを割り当て
なければならない。そして、次元ブロック索引と複合ブ
ロック索引に新たなキー値を付加する。
【0061】挿入機能を実行する際には、第1レコード
をブロックに挿入するときに特に注意するのに加え、第
1レコードをブロック中の新たなページに挿入するとき
にも特別の注意を払う必要がある。それには、各ブロッ
ク用のページ・ビット・マップを使ってブロック中のペ
ージの状態を保守する。そして、ページに第1レコード
が挿入されたら、ページ・ビット・マップ中のビットを
セットする。このページ・ビット・マップによって、ブ
ロック中のページの占有状態を追跡することが可能にな
るとともに、挿入操作や削除操作の際にブロックの状態
を保守することが可能になる。
【0062】〔削除機能904〕通常の表の削除操作で
は表中の少なくとも1つのレコードを削除し、削除した
レコードが占有していたスペースを解放する。多次元表
の削除でも同じことを行なう。しかしながら、ブロック
中のページの状態に加え、ブロック全体にも特に注意す
る必要がある。ページの最終レコードを削除する場合に
は、ページ・ビット・マップを更新し削除した特定のペ
ージに付随するビットをクリア(消去)する。ブロック
中のページがすべて空の場合には、このページ・ビット
・マップを完全にクリアする。このことは当該ブロック
をブロック・マップ中で空とマーク付けしうることを示
している。この空のブロックは、たとえば将来の挿入操
作やロード操作によって再利用しうる。あるブロックを
空にしたら、次元索引もすべて更新し、当該空にしたブ
ロックに付随するBIDを当該ブロックの次元属性に対
応する特定のキーから除去する。
【0063】〔パージ機能905〕パージとは、関係す
るレコードから成る大集合を削除するときに使用する特
別な形の削除操作である。いま、次に示すSQLステー
トメントを考える。 Delete from Table _1 where color='Red' 色(color)属性は(図6に示す多次元表の場合のよう
に)この多次元表(Table_1)の1つの次元であると仮
定する。したがって、「色が『赤』である」(color='R
ed')という制約は「赤」(Red)値に付随するブロックを
すべて削除すべきことを示している。これを実行するに
は、色の次元ブロック索引で「赤」を検索し、付随する
BIDのリストを見つけ出せばよい。このリストが「1
2、17、21、30」であると仮定する。この多次元
表(Table _1)にこの他に索引や関係するデータ構造が
ない場合、これらのブロックを当該多次元表のブロック
・マップ中で空とマーク付けしたのち、ブロック索引か
ら上記BIDを削除することができる。これはきわめて
高速の操作であるとともに、ログをとるコストと索引を
保守するコストを低減することもできる。
【0064】パージ型の削除が適用できることを検出す
るには、削除ステートメントを検査しその中の制約が少
なくとも1つの次元文節に基づいてることを検証すれば
よい。特に、処理する必要のあるBIDの集合を特定す
るのに少なくとも1つのブロック索引を用いている場合
には、パージ型の削除を使用することを考慮してもよ
い。最適化プログラムはこれを検出し、それに従った適
切な照会計画を作成することができる。留意点を挙げる
と、最適化プログラムは高速パージを可能にする(また
は不可能にする)新たな課題にも気づくことになる。こ
れらの課題は当該多次元表に別の索引や制約があるとい
うことを意味している。
【0065】〔更新機能906〕更新操作には表中の情
報を変更することが含まれる。多次元表では、更新には
次に示す2種類のものがある。
【0066】(1)単純更新:この場合、更新は多次元
表中の次元ではない、属性すなわちフィールドにのみ適
用される。したがって、行(すなわちレコード)は同じ
論理セルに継続して属す。行は変化が生じても新たなス
ペースが必要とならない限り、同じ場所に存在し続け
る。あるいは、行は同じブロック中の新たな場所または
別のブロックに移動する可能性もある。このレコード
(すなわち行)を移動させたときには、元の場所のRI
Dはそのままにしておき、オーバーフロー・ポインタ手
法を使って新たな場所を指示するようにする。(オーバ
ーフロー・ポインタ手法とは旧レコードが満杯になり新
レコードを作ったとき、旧レコードの末尾に新レコード
の場所を指示するポインタを格納しておく手法のことで
ある。)新たな場所が新たなブロックである場合には、
次元ブロック索引に当該新たなブロックを挿入する必要
がある。
【0067】(2)次元列の更新:更新が少なくとも1
つの次元列に対するものである場合、内部的にはこれを
削除と挿入として扱う必要がある。この結果、(更新対
象の次元列の)レコードは更新後は新セル中でクラスタ
化されているということが保証される。なぜなら、当該
レコードは旧セルに属すブロック中には配置できないか
らである。この操作を実行するには、上述した削除手法
と挿入手法とを組み合わせる。
【0068】以上、添付図面を参照して本発明の説明目
的の実施形態を説明してけれども、理解すべき点を挙げ
ると、本発明はそれら明確な実施形態に限定されず、ま
た、本発明の範囲または本旨の内で当業者は他の様々な
変形および変更をなすことができる。
【0069】まとめとして以下の事項を開示する。 (1)リレーショナル・データベースにおいてクラスタ
化されたデータを効率的に保守する方法であって、前記
リレーショナル・データベースの表の少なくとも1つの
次元を少なくとも1つの表定義パラメータを用いて特定
するステップと、前記少なくとも1つの次元の各々用の
データを少なくとも1つのブロックを用いてクラスタ化
するステップと、少なくとも1つのブロック索引を作成
するステップであって、前記少なくとも1つのブロック
索引の各々が前記少なくとも1つの次元に関連付けられ
ている、ステップとを備えた方法。 (2)前記少なくとも1つのブロックの各々が連続記憶
スペースから成る、上記(1)に記載の方法。 (3)前記少なくとも1つのブロック索引の各々が、少
なくとも1つのブロックIDから成るリストに関連付け
られている少なくとも1つのキーを備えている、上記
(1)に記載の方法。 (4)前記少なくとも1つの次元の各々が前記表の少な
くとも1つの列に関連付けられている、上記(1)に記
載の方法。 (5)前記少なくとも1つの表定義パラメータが表作成
ステートメントまたは表変更ステートメントに関連付け
られている、上記(1)に記載の方法。 (6)前記表が多次元表である、上記(1)に記載の方
法。 (7)前記多次元表が用途情報を格納するのに使用され
ている、上記(6)に記載の方法。 (8)前記用途情報がデータウェアハウス用のものであ
る、上記(7)に記載の方法。 (9) さらに、前記多次元表用の複合次元索引を作成
するステップを備えた、上記(6)に記載の方法。 (10)前記複合次元索引を作成するステップを自動的
に実行する、上記(9)に記載の方法。 (11)前記複合次元索引が複合キーのリストを備え、
各複合キーが前記多次元表のセルに関連付けられている
とともに、前記セル用に少なくとも1つのブロックID
のリストを備えている、上記(9)に記載の方法。 (12) さらに、前記表用にブロック・マップを作成
するステップを備え、前記ブロック・マップの各要素が
前記少なくとも1つのブロックの1つ用に状態情報を備
えている、上記(1)に記載の方法。 (13)前記少なくとも1つのブロックの各々が状態情
報の複製を備えている、上記(12)に記載の方法。 (14)前記少なくとも1つのブロック中に備えられた
前記状態情報の複製を用いて、前記ブロック・マップを
作成する、上記(13)に記載の方法。 (15) さらに、前記表に格納された情報を求める照
会を処理するステップを備えた、上記(1)に記載の方
法。 (16)前記照会を処理するステップが、前記少なくと
も1つのブロック索引および前記複合次元索引のうちの
一方の情報を用いてブロックIDのリストを取得するス
テップと、少なくとも1つのブロックをスキャンして少
なくとも1つの基準を満たすレコードを探し出すステッ
プであって、その際に前記ブロックIDのリストを用い
てスキャンすべき前記少なくとも1つのブロックを探し
出す、ステップを備えた、上記(15)に記載の方法。 (17)前記照会を処理するステップが、前記表全体を
スキャンして少なくとも1つの基準を満たすレコードを
探し出すステップ、および、レコード基準索引を用いて
少なくとも1つの基準を満たすレコードを探し出すステ
ップの少なくとも一方を備えた、上記(15)に記載の
方法。 (18)前記照会を処理するステップが、索引ANDを
備えている、上記(15)に記載の方法。 (19)前記照会を処理するステップが、索引ORを備
えている、上記(15)に記載の方法。 (20)前記照会を処理するステップが、コスト・モデ
ルに基づいて照会計画を作成するステップと、前記照会
計画に従って前記照会を処理するステップとを備えてい
る、上記(15)に記載の方法。 (21) さらに、保守要求を処理するステップを備え
た、上記(1)に記載の方法。 (22)前記保守要求が、ロード、再編成、挿入、削
除、パージ、および更新のうちの1つを求める要求から
成る、上記(21)に記載の方法。 (23)前記表のクラスタリングが、前記保守要求を処
理したあとも維持されている、上記(21)に記載の方
法。 (24)ロードまたは挿入を求める保守要求を処理する
前記ステップが、空のスペースが存在する場合に前記少
なくとも1つのブロックのうちの1つを使用するステッ
プ、および、空のスペースが存在しない場合に前記表に
新たなブロックを割り当てるステップのうちの一方を備
えている、上記(22)に記載の方法。 (25)再編成、削除、またはパージを求める保守要求
を処理する前記ステップが、スペースを再利用するステ
ップを備えている、上記(21)に記載の方法。 (26)機械によって読み取り可能なプログラム記憶装
置であって、前記プログラム記憶装置ちはリレーショナ
ル・データベースにおいてクラスタ化されたデータを効
率的に保守する方法を実行する、前記機械で実行可能な
命令群から成るプログラムが有形的に記録されており、
前記方法が、前記リレーショナル・データベースの表の
少なくとも1つの次元を少なくとも1つの表定義パラメ
ータを用いて特定するステップと、前記少なくとも1つ
の次元の各々用のデータを少なくとも1つのブロックを
用いてクラスタ化するステップと、少なくとも1つのブ
ロック索引を作成するステップであって、前記少なくと
も1つのブロック索引の各々が前記少なくとも1つの次
元に関連付けられている、ステップとを備えているプロ
グラム記憶装置。 (27)前記少なくとも1つのブロックの各々が連続記
憶スペースから成る、上記(26)に記載のプログラム
記憶装置。 (28)前記少なくとも1つのブロック索引の各々が、
少なくとも1つのブロックIDから成るリストに関連付
けられている少なくとも1つのキーを備えている、上記
(26)に記載のプログラム記憶装置。 (29)前記少なくとも1つの次元の各々が前記表の少
なくとも1つの列に関連付けられている、上記(26)
に記載のプログラム記憶装置。 (30)前記少なくとも1つの表定義パラメータが表作
成ステートメントまたは表変更ステートメントに関連付
けられている、上記(26)に記載のプログラム記憶装
置。 (31)前記表が多次元表である、上記(26)に記載
のプログラム記憶装置。 (32)前記多次元表が用途情報を格納するのに使用さ
れている、上記(31)に記載のプログラム記憶装置。 (33)前記用途情報がデータウェアハウス用のもので
ある、上記(32)に記載のプログラム記憶装置。 (34) さらに、前記多次元表用の複合次元索引を作
成するステップを備えた、上記(31)に記載のプログ
ラム記憶装置。 (35)前記複合次元索引を作成するステップを自動的
に実行する、上記(34)に記載のプログラム記憶装
置。 (36)前記複合次元索引が複合キーのリストを備え、
各複合キーが前記多次元表のセルに関連付けられている
とともに、前記セル用に少なくとも1つのブロックID
のリストを備えている、上記(34)に記載のプログラ
ム記憶装置。 (37) さらに、前記表用にブロック・マップを作成
するステップを備え、前記ブロック・マップの各要素が
前記少なくとも1つのブロックの1つ用に状態情報を備
えている、上記(26)に記載のプログラム記憶装置。 (38)前記少なくとも1つのブロックの各々が状態情
報の複製を備えている、上記(37)に記載のプログラ
ム記憶装置。 (39)前記少なくとも1つのブロック中に備えられた
前記状態情報の複製を用いて、前記ブロック・マップを
作成する、上記(38)に記載のプログラム記憶装置。 (40) さらに、前記表に格納された情報を求める照
会を処理するステップを備えた、上記(26)に記載の
プログラム記憶装置。 (41)前記照会を処理するステップが、前記少なくと
も1つのブロック索引および前記複合次元索引のうちの
一方の情報を用いてブロックIDのリストを取得するス
テップと、少なくとも1つのブロックをスキャンして少
なくとも1つの基準を満たすレコードを探し出すステッ
プであって、その際に前記ブロックIDのリストを用い
てスキャンすべき前記少なくとも1つのブロックを探し
出す、ステップを備えた、上記(40)に記載のプログ
ラム記憶装置。 (42)前記照会を処理するステップが、前記表全体を
スキャンして少なくとも1つの基準を満たすレコードを
探し出すステップ、および、レコード基準索引を用いて
少なくとも1つの基準を満たすレコードを探し出すステ
ップの少なくとも一方を備えた、上記(40)に記載の
プログラム記憶装置。 (43)前記照会を処理するステップが、索引ANDを
備えている、上記(40)に記載のプログラム記憶装
置。 (44)前記照会を処理するステップが、索引ORを備
えている、上記(40)に記載のプログラム記憶装置。 (45)前記照会を処理するステップが、コスト・モデ
ルに基づいて照会計画を作成するステップと、前記照会
計画に従って前記照会を処理するステップとを備えてい
る、上記(40)に記載のプログラム記憶装置。 (46) さらに、保守要求を処理するステップを備え
た、上記(26)に記載のプログラム記憶装置。 (47)前記保守要求が、ロード、再編成、挿入、削
除、パージ、および更新のうちの1つを求める要求から
成る、上記(46)に記載のプログラム記憶装置。 (48)前記表のクラスタリングが、前記保守要求を処
理したあとも維持されている、上記(46)に記載のプ
ログラム記憶装置。 (49)ロードまたは挿入を求める保守要求を処理する
前記ステップが、空のスペースが存在する場合に前記少
なくとも1つのブロックのうちの1つを使用するステッ
プ、および、空のスペースが存在しない場合に前記表に
新たなブロックを割り当てるステップのうちの一方を備
えている、上記(47)に記載のプログラム記憶装置。 (50)再編成、削除、またはパージを求める保守要求
を処理する前記ステップが、スペースを再利用するステ
ップを備えている、上記(46)に記載のプログラム記
憶装置。
【図面の簡単な説明】
【図1】 本発明の手法で用いる典型的な環境のブロッ
ク図である。
【図2】 本発明に係る典型的なリレーショナル・デー
タベース管理システムの模式図である。
【図3】 本発明の一実施形態に係る2次元にクラスタ
化した典型的な多次元表の模式図である。
【図4】 本発明の一実施形態に係り図3の典型的な多
次元表に各次元に関する次元索引を備えたものの模式図
である。
【図5】 本発明の一実施形態に係る典型的な複合次元
索引の模式図である。
【図6】 本発明の一実施形態に係り図3の典型的な多
次元表を第3の次元に拡張したものの模式図である。
【図7】 (a)〜(c)は本発明の一実施形態に係る
索引AND手法の模式図である。
【図8】 本発明の一実施形態に係る典型的なブロック
・マップの模式図である。
【図9】 本発明の一実施形態に係る様々な典型的な保
守機能の模式図である。
【符号の説明】
100 システム 101 メモリ 102 プロセッサ 103 RDBMS 104 入出力(I/O)装置 201 照会コンパイラ 202 コード・ジェネレータ 203 実行エンジン 204 アクセス・メソッド・エンジン 205 バッファ・マネージャ 206 ユーティリティ・エンジン 207 データ・マネージャ 208 残余コンポーネント 300 年月次元 301 長円(ブロック) 302 正方形(セル) 310 州次元 400 次元ブロック索引 410 次元ブロック索引 600 色次元 715 スライス 725 スライス 735 区画 900 保守機能 901 ロード機能 902 再編成機能 903 挿入機能 904 削除機能 905 パージ機能 906 更新機能
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ラメッシュ・シー・アガワル アメリカ合衆国 カリフォルニア州 95014、クパチーノ、ペラルタ コート 10512 (72)発明者 ビッシュワランジャン・バタシャルジー アメリカ合衆国 ニューヨーク州 10598、 ヨークタウン ハイツ、ホリー ドライブ 2846 (72)発明者 レズリー・エイ・クランストン カナダ国 オンタリオ州 エム・4・エス 2・ティー・2、トロント、ボイトン ロード 24 (72)発明者 マシュー・エイ・フラス カナダ国 オンタリオ州 エル・1・ティ ー 3・エヌ・4、アジャックス、タリフ センター 15 (72)発明者 トニー・ウェン・スン・ライ カナダ国 オンタリオ州 エム・4・ワイ 2・エックス・6、トロント、ウェルズ リー ストリート ウエスト 1113−24 (72)発明者 ティモシー・アール・モーキマス アメリカ合衆国 テキサス州 78681、ラ ウンド ロック、ロック クリーク ドラ イブ 1602 (72)発明者 スリラム・ケー・パドマナバン アメリカ合衆国 ニューヨーク州 10510、 ブライアークリフ メイナー、インガム ロード 4 Fターム(参考) 5B075 ND40 NK50 NR03 NR20 QS20 QT06 5B082 GA03

Claims (50)

    【特許請求の範囲】
  1. 【請求項1】リレーショナル・データベースにおいてク
    ラスタ化されたデータを効率的に保守する方法であっ
    て、 前記リレーショナル・データベースの表の少なくとも1
    つの次元を少なくとも1つの表定義パラメータを用いて
    特定するステップと、 前記少なくとも1つの次元の各々用のデータを少なくと
    も1つのブロックを用いてクラスタ化するステップと、 少なくとも1つのブロック索引を作成するステップであ
    って、前記少なくとも1つのブロック索引の各々が前記
    少なくとも1つの次元に関連付けられている、ステップ
    とを備えた方法。
  2. 【請求項2】前記少なくとも1つのブロックの各々が連
    続記憶スペースから成る、請求項1に記載の方法。
  3. 【請求項3】前記少なくとも1つのブロック索引の各々
    が、少なくとも1つのブロックIDから成るリストに関
    連付けられている少なくとも1つのキーを備えている、
    請求項1に記載の方法。
  4. 【請求項4】前記少なくとも1つの次元の各々が前記表
    の少なくとも1つの列に関連付けられている、請求項1
    に記載の方法。
  5. 【請求項5】前記少なくとも1つの表定義パラメータが
    表作成ステートメントまたは表変更ステートメントに関
    連付けられている、請求項1に記載の方法。
  6. 【請求項6】前記表が多次元表である、請求項1に記載
    の方法。
  7. 【請求項7】前記多次元表が用途情報を格納するのに使
    用されている、請求項6に記載の方法。
  8. 【請求項8】前記用途情報がデータウェアハウス用のも
    のである、請求項7に記載の方法。
  9. 【請求項9】 さらに、 前記多次元表用の複合次元索引を作成するステップを備
    えた、請求項6に記載の方法。
  10. 【請求項10】前記複合次元索引を作成するステップを
    自動的に実行する、請求項9に記載の方法。
  11. 【請求項11】前記複合次元索引が複合キーのリストを
    備え、 各複合キーが前記多次元表のセルに関連付けられている
    とともに、前記セル用に少なくとも1つのブロックID
    のリストを備えている、請求項9に記載の方法。
  12. 【請求項12】 さらに、 前記表用にブロック・マップを作成するステップを備
    え、 前記ブロック・マップの各要素が前記少なくとも1つの
    ブロックの1つ用に状態情報を備えている、請求項1に
    記載の方法。
  13. 【請求項13】前記少なくとも1つのブロックの各々が
    状態情報の複製を備えている、請求項12に記載の方
    法。
  14. 【請求項14】前記少なくとも1つのブロック中に備え
    られた前記状態情報の複製を用いて、前記ブロック・マ
    ップを作成する、請求項13に記載の方法。
  15. 【請求項15】 さらに、 前記表に格納された情報を求める照会を処理するステッ
    プを備えた、請求項1に記載の方法。
  16. 【請求項16】前記照会を処理するステップが、 前記少なくとも1つのブロック索引および前記複合次元
    索引のうちの一方の情報を用いてブロックIDのリスト
    を取得するステップと、 少なくとも1つのブロックをスキャンして少なくとも1
    つの基準を満たすレコードを探し出すステップであっ
    て、その際に前記ブロックIDのリストを用いてスキャ
    ンすべき前記少なくとも1つのブロックを探し出す、ス
    テップを備えた、請求項15に記載の方法。
  17. 【請求項17】前記照会を処理するステップが、 前記表全体をスキャンして少なくとも1つの基準を満た
    すレコードを探し出すステップ、および、 レコード基準索引を用いて少なくとも1つの基準を満た
    すレコードを探し出すステップの少なくとも一方を備え
    た、請求項15に記載の方法。
  18. 【請求項18】前記照会を処理するステップが、 索引ANDを備えている、請求項15に記載の方法。
  19. 【請求項19】前記照会を処理するステップが、 索引ORを備えている、請求項15に記載の方法。
  20. 【請求項20】前記照会を処理するステップが、 コスト・モデルに基づいて照会計画を作成するステップ
    と、 前記照会計画に従って前記照会を処理するステップとを
    備えている、請求項15に記載の方法。
  21. 【請求項21】 さらに、 保守要求を処理するステップを備えた、請求項1に記載
    の方法。
  22. 【請求項22】前記保守要求が、 ロード、再編成、挿入、削除、パージ、および更新のう
    ちの1つを求める要求から成る、請求項21に記載の方
    法。
  23. 【請求項23】前記表のクラスタリングが、前記保守要
    求を処理したあとも維持されている、請求項21に記載
    の方法。
  24. 【請求項24】ロードまたは挿入を求める保守要求を処
    理する前記ステップが、 空のスペースが存在する場合に前記少なくとも1つのブ
    ロックのうちの1つを使用するステップ、および、 空のスペースが存在しない場合に前記表に新たなブロッ
    クを割り当てるステップのうちの一方を備えている、請
    求項22に記載の方法。
  25. 【請求項25】再編成、削除、またはパージを求める保
    守要求を処理する前記ステップが、 スペースを再利用するステップを備えている、請求項2
    1に記載の方法。
  26. 【請求項26】機械によって読み取り可能なプログラム
    記憶装置であって、前記プログラム記憶装置ちはリレー
    ショナル・データベースにおいてクラスタ化されたデー
    タを効率的に保守する方法を実行する、前記機械で実行
    可能な命令群から成るプログラムが有形的に記録されて
    おり、前記方法が、 前記リレーショナル・データベースの表の少なくとも1
    つの次元を少なくとも1つの表定義パラメータを用いて
    特定するステップと、 前記少なくとも1つの次元の各々用のデータを少なくと
    も1つのブロックを用いてクラスタ化するステップと、 少なくとも1つのブロック索引を作成するステップであ
    って、前記少なくとも1つのブロック索引の各々が前記
    少なくとも1つの次元に関連付けられている、ステップ
    とを備えているプログラム記憶装置。
  27. 【請求項27】前記少なくとも1つのブロックの各々が
    連続記憶スペースから成る、請求項26に記載のプログ
    ラム記憶装置。
  28. 【請求項28】前記少なくとも1つのブロック索引の各
    々が、少なくとも1つのブロックIDから成るリストに
    関連付けられている少なくとも1つのキーを備えてい
    る、請求項26に記載のプログラム記憶装置。
  29. 【請求項29】前記少なくとも1つの次元の各々が前記
    表の少なくとも1つの列に関連付けられている、請求項
    26に記載のプログラム記憶装置。
  30. 【請求項30】前記少なくとも1つの表定義パラメータ
    が表作成ステートメントまたは表変更ステートメントに
    関連付けられている、請求項26に記載のプログラム記
    憶装置。
  31. 【請求項31】前記表が多次元表である、請求項26に
    記載のプログラム記憶装置。
  32. 【請求項32】前記多次元表が用途情報を格納するのに
    使用されている、請求項31に記載のプログラム記憶装
    置。
  33. 【請求項33】前記用途情報がデータウェアハウス用の
    ものである、請求項32に記載のプログラム記憶装置。
  34. 【請求項34】 さらに、 前記多次元表用の複合次元索引を作成するステップを備
    えた、請求項31に記載のプログラム記憶装置。
  35. 【請求項35】前記複合次元索引を作成するステップを
    自動的に実行する、請求項34に記載のプログラム記憶
    装置。
  36. 【請求項36】前記複合次元索引が複合キーのリストを
    備え、 各複合キーが前記多次元表のセルに関連付けられている
    とともに、前記セル用に少なくとも1つのブロックID
    のリストを備えている、請求項34に記載のプログラム
    記憶装置。
  37. 【請求項37】 さらに、 前記表用にブロック・マップを作成するステップを備
    え、 前記ブロック・マップの各要素が前記少なくとも1つの
    ブロックの1つ用に状態情報を備えている、請求項26
    に記載のプログラム記憶装置。
  38. 【請求項38】前記少なくとも1つのブロックの各々が
    状態情報の複製を備えている、請求項37に記載のプロ
    グラム記憶装置。
  39. 【請求項39】前記少なくとも1つのブロック中に備え
    られた前記状態情報の複製を用いて、前記ブロック・マ
    ップを作成する、請求項38に記載のプログラム記憶装
    置。
  40. 【請求項40】 さらに、 前記表に格納された情報を求める照会を処理するステッ
    プを備えた、請求項26に記載のプログラム記憶装置。
  41. 【請求項41】前記照会を処理するステップが、 前記少なくとも1つのブロック索引および前記複合次元
    索引のうちの一方の情報を用いてブロックIDのリスト
    を取得するステップと、 少なくとも1つのブロックをスキャンして少なくとも1
    つの基準を満たすレコードを探し出すステップであっ
    て、その際に前記ブロックIDのリストを用いてスキャ
    ンすべき前記少なくとも1つのブロックを探し出す、ス
    テップを備えた、請求項40に記載のプログラム記憶装
    置。
  42. 【請求項42】前記照会を処理するステップが、 前記表全体をスキャンして少なくとも1つの基準を満た
    すレコードを探し出すステップ、および、 レコード基準索引を用いて少なくとも1つの基準を満た
    すレコードを探し出すステップの少なくとも一方を備え
    た、請求項40に記載のプログラム記憶装置。
  43. 【請求項43】前記照会を処理するステップが、 索引ANDを備えている、請求項40に記載のプログラ
    ム記憶装置。
  44. 【請求項44】前記照会を処理するステップが、 索引ORを備えている、請求項40に記載のプログラム
    記憶装置。
  45. 【請求項45】前記照会を処理するステップが、 コスト・モデルに基づいて照会計画を作成するステップ
    と、 前記照会計画に従って前記照会を処理するステップとを
    備えている、請求項40に記載のプログラム記憶装置。
  46. 【請求項46】 さらに、 保守要求を処理するステップを備えた、請求項26に記
    載のプログラム記憶装置。
  47. 【請求項47】前記保守要求が、 ロード、再編成、挿入、削除、パージ、および更新のう
    ちの1つを求める要求から成る、請求項46に記載のプ
    ログラム記憶装置。
  48. 【請求項48】前記表のクラスタリングが、前記保守要
    求を処理したあとも維持されている、請求項46に記載
    のプログラム記憶装置。
  49. 【請求項49】ロードまたは挿入を求める保守要求を処
    理する前記ステップが、 空のスペースが存在する場合に前記少なくとも1つのブ
    ロックのうちの1つを使用するステップ、および、 空のスペースが存在しない場合に前記表に新たなブロッ
    クを割り当てるステップのうちの一方を備えている、請
    求項47に記載のプログラム記憶装置。
  50. 【請求項50】再編成、削除、またはパージを求める保
    守要求を処理する前記ステップが、 スペースを再利用するステップを備えている、請求項4
    6に記載のプログラム記憶装置。
JP2003100031A 2002-04-15 2003-04-03 データベース・システム Expired - Fee Related JP3945771B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/122,502 US7080081B2 (en) 2002-04-15 2002-04-15 Multidimensional data clustering scheme for query processing and maintenance in relational databases
US10/122502 2002-04-15

Publications (2)

Publication Number Publication Date
JP2003330964A true JP2003330964A (ja) 2003-11-21
JP3945771B2 JP3945771B2 (ja) 2007-07-18

Family

ID=28790556

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003100031A Expired - Fee Related JP3945771B2 (ja) 2002-04-15 2003-04-03 データベース・システム

Country Status (2)

Country Link
US (1) US7080081B2 (ja)
JP (1) JP3945771B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6192781B1 (ja) * 2016-07-26 2017-09-06 三菱電機株式会社 データ管理プログラム及びデータ管理装置

Families Citing this family (79)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6778824B2 (en) * 2002-06-19 2004-08-17 Telular Corp. Apparatus for wirelessly-coupling a bluetooth-wireless cellular mobile handset to a docking station for connecting a standard telephone set to the cellular network
US7765211B2 (en) * 2003-04-29 2010-07-27 International Business Machines Corporation System and method for space management of multidimensionally clustered tables
US7480662B2 (en) * 2003-07-03 2009-01-20 Oracle International Corporation Fact table storage in a decision support system environment
US7734661B2 (en) * 2003-08-11 2010-06-08 Descisys Limited Method and apparatus for accessing multidimensional data
US8315972B2 (en) * 2003-09-26 2012-11-20 Microsoft Corporation Method for maintaining databases information about multiple instances of an activity generating, updating virtual OLAP cube based on modified star-schema
US8108429B2 (en) 2004-05-07 2012-01-31 Quest Software, Inc. System for moving real-time data events across a plurality of devices in a network for simultaneous data protection, replication, and access services
US7565661B2 (en) * 2004-05-10 2009-07-21 Siew Yong Sim-Tang Method and system for real-time event journaling to provide enterprise data services
US7734581B2 (en) * 2004-05-18 2010-06-08 Oracle International Corporation Vector reads for array updates
US7680834B1 (en) 2004-06-08 2010-03-16 Bakbone Software, Inc. Method and system for no downtime resychronization for real-time, continuous data protection
US7979404B2 (en) 2004-09-17 2011-07-12 Quest Software, Inc. Extracting data changes and storing data history to allow for instantaneous access to and reconstruction of any point-in-time data
US8131472B2 (en) * 2004-09-28 2012-03-06 International Business Machines Corporation Methods for hierarchical organization of data associated with medical events in databases
US8892571B2 (en) 2004-10-12 2014-11-18 International Business Machines Corporation Systems for associating records in healthcare database with individuals
US7904913B2 (en) 2004-11-02 2011-03-08 Bakbone Software, Inc. Management interface for a system that provides automated, real-time, continuous data protection
US7580922B2 (en) * 2005-01-04 2009-08-25 International Business Machines Corporation Methods for relating data in healthcare databases
US7548903B2 (en) * 2005-01-11 2009-06-16 International Business Machines Corporation Method and apparatus for automatic recommendation and selection of clustering indexes
US8645313B1 (en) * 2005-05-27 2014-02-04 Microstrategy, Inc. Systems and methods for enhanced SQL indices for duplicate row entries
US7788521B1 (en) 2005-07-20 2010-08-31 Bakbone Software, Inc. Method and system for virtual on-demand recovery for real-time, continuous data protection
US7689602B1 (en) 2005-07-20 2010-03-30 Bakbone Software, Inc. Method of creating hierarchical indices for a distributed object system
US8200501B2 (en) * 2006-01-26 2012-06-12 International Business Machines Corporation Methods, systems and computer program products for synthesizing medical procedure information in healthcare databases
US20070174091A1 (en) * 2006-01-26 2007-07-26 International Business Machines Corporation Methods, data structures, systems and computer program products for identifying obsure patterns in healthcare related data
US8566113B2 (en) * 2006-02-07 2013-10-22 International Business Machines Corporation Methods, systems and computer program products for providing a level of anonymity to patient records/information
US7631014B2 (en) * 2006-04-27 2009-12-08 International Business Machines Corporation Method and apparatus for fast deletion of physically clustered data
US20070288883A1 (en) * 2006-06-09 2007-12-13 International Business Machines Corporation Method for consolidated launching of multiple tasks
US8302073B2 (en) * 2006-06-15 2012-10-30 International Business Machines Corporation Moving and copying dependencies along with source code
KR101234795B1 (ko) * 2006-06-15 2013-02-20 삼성전자주식회사 컨텐츠 브라우징 장치 및 방법
US7870536B2 (en) * 2006-06-15 2011-01-11 International Business Machines Corporation Computer implemented method and system for sharing resources among hierarchical containers of resources
US7519583B2 (en) * 2006-07-14 2009-04-14 International Business Machines Corporation Detecting and tracking monotonicity for accelerating range and inequality queries
US9202184B2 (en) 2006-09-07 2015-12-01 International Business Machines Corporation Optimizing the selection, verification, and deployment of expert resources in a time of chaos
WO2008034213A1 (en) * 2006-09-18 2008-03-27 Infobright Inc. A method and system for data compression in a relational database
US8266147B2 (en) * 2006-09-18 2012-09-11 Infobright, Inc. Methods and systems for database organization
US9087335B2 (en) * 2006-09-29 2015-07-21 American Express Travel Related Services Company, Inc. Multidimensional personal behavioral tomography
US20090287503A1 (en) * 2008-05-16 2009-11-19 International Business Machines Corporation Analysis of individual and group healthcare data in order to provide real time healthcare recommendations
US8055603B2 (en) 2006-10-03 2011-11-08 International Business Machines Corporation Automatic generation of new rules for processing synthetic events using computer-based learning processes
US8145582B2 (en) * 2006-10-03 2012-03-27 International Business Machines Corporation Synthetic events for real time patient analysis
US20080294459A1 (en) * 2006-10-03 2008-11-27 International Business Machines Corporation Health Care Derivatives as a Result of Real Time Patient Analytics
US7853611B2 (en) 2007-02-26 2010-12-14 International Business Machines Corporation System and method for deriving a hierarchical event based database having action triggers based on inferred probabilities
US7970759B2 (en) 2007-02-26 2011-06-28 International Business Machines Corporation System and method for deriving a hierarchical event based database optimized for pharmaceutical analysis
US7792774B2 (en) 2007-02-26 2010-09-07 International Business Machines Corporation System and method for deriving a hierarchical event based database optimized for analysis of chaotic events
US8484220B2 (en) 2007-03-06 2013-07-09 Mcafee, Inc. Clustered index with differentiated subfields
CA2680217C (en) * 2007-03-06 2017-06-13 Nitrosecurity, Inc. A database system with database indexes for improved performance
US8131723B2 (en) 2007-03-30 2012-03-06 Quest Software, Inc. Recovering a file system to any point-in-time in the past with guaranteed structure, content consistency and integrity
US8364648B1 (en) 2007-04-09 2013-01-29 Quest Software, Inc. Recovering a database to any point-in-time in the past with guaranteed data consistency
US9043367B2 (en) * 2007-05-23 2015-05-26 Oracle International Corporation Self-learning data lenses for conversion of information from a first form to a second form
US7930262B2 (en) * 2007-10-18 2011-04-19 International Business Machines Corporation System and method for the longitudinal analysis of education outcomes using cohort life cycles, cluster analytics-based cohort analysis, and probabilistic data schemas
US7779051B2 (en) * 2008-01-02 2010-08-17 International Business Machines Corporation System and method for optimizing federated and ETL'd databases with considerations of specialized data structures within an environment having multidimensional constraints
US8150850B2 (en) * 2008-01-07 2012-04-03 Akiban Technologies, Inc. Multiple dimensioned database architecture
US20100198830A1 (en) * 2008-03-06 2010-08-05 Nitrosecurity, Inc. Dynamic data distribution aggregation
US8121858B2 (en) * 2008-03-24 2012-02-21 International Business Machines Corporation Optimizing pharmaceutical treatment plans across multiple dimensions
US9355165B2 (en) * 2008-03-31 2016-05-31 Paul Grant BARBER Method and system for performing data manipulations associated with business processes and operations
WO2010061260A1 (en) * 2008-11-03 2010-06-03 Elvin Slavik Method, system, and product for managing spatial data in a database
US8375227B2 (en) * 2009-02-02 2013-02-12 Microsoft Corporation Abstracting programmatic representation of data storage systems
US8190557B2 (en) * 2009-11-25 2012-05-29 Barber Paul Grant Processor and method configured for executing data transfer or data adjustment functions on OLAP based data
US8335804B2 (en) * 2010-03-29 2012-12-18 International Business Machines Corporation Adaptive relational database access
US8417727B2 (en) 2010-06-14 2013-04-09 Infobright Inc. System and method for storing data in a relational database
US8521748B2 (en) 2010-06-14 2013-08-27 Infobright Inc. System and method for managing metadata in a relational database
US10318877B2 (en) 2010-10-19 2019-06-11 International Business Machines Corporation Cohort-based prediction of a future event
US8799611B2 (en) 2011-05-05 2014-08-05 International Business Machines Corporation Managing allocation of memory pages
US8793444B2 (en) 2011-05-05 2014-07-29 International Business Machines Corporation Managing large page memory pools
US8683169B2 (en) 2011-05-05 2014-03-25 International Business Machines Corporation Selecting an auxiliary storage medium for writing data of real storage pages
US8656133B2 (en) 2011-05-05 2014-02-18 International Business Machines Corporation Managing storage extents and the obtaining of storage blocks within the extents
US8868876B2 (en) 2011-12-28 2014-10-21 International Business Machines Corporation Dedicated large page memory pools
US20130304531A1 (en) 2012-05-11 2013-11-14 Paul Barber System and method for performing detailed planning functions
US9514187B2 (en) 2012-09-28 2016-12-06 Oracle International Corporation Techniques for using zone map information for post index access pruning
US9430550B2 (en) * 2012-09-28 2016-08-30 Oracle International Corporation Clustering a table in a relational database management system
US8996544B2 (en) 2012-09-28 2015-03-31 Oracle International Corporation Pruning disk blocks of a clustered table in a relational database management system
US8756237B2 (en) * 2012-10-12 2014-06-17 Architecture Technology Corporation Scalable distributed processing of RDF data
US20140317082A1 (en) * 2013-02-08 2014-10-23 Michael Archuleta System and method for providing mobile websites
US9256633B2 (en) 2013-03-15 2016-02-09 International Business Machines Corporation Partitioning data for parallel processing
US10642837B2 (en) 2013-03-15 2020-05-05 Oracle International Corporation Relocating derived cache during data rebalance to maintain application performance
US9659061B2 (en) * 2013-05-14 2017-05-23 ServiceSource Method for efficient aggregation of numerous data using sparse bit sets
US9946705B2 (en) * 2015-06-29 2018-04-17 International Business Machines Corporation Query processing using a dimension table implemented as decompression dictionaries
US11520760B2 (en) * 2015-10-23 2022-12-06 Oracle International Corporation System and method for providing bottom-up aggregation in a multidimensional database environment
US10558636B2 (en) * 2016-04-27 2020-02-11 Sap Se Index page with latch-free access
US10817540B2 (en) * 2016-09-02 2020-10-27 Snowflake Inc. Incremental clustering maintenance of a table
US11086876B2 (en) 2017-09-29 2021-08-10 Oracle International Corporation Storing derived summaries on persistent memory of a storage device
US10936627B2 (en) 2017-10-27 2021-03-02 Intuit, Inc. Systems and methods for intelligently grouping financial product users into cohesive cohorts
US10997147B2 (en) 2018-07-17 2021-05-04 Snowflake Inc. Incremental clustering of database tables
US11138213B2 (en) 2019-04-10 2021-10-05 Snowflake Inc. Internal resource provisioning in database systems
CN110147372B (zh) * 2019-05-21 2022-12-23 电子科技大学 一种面向htap的分布式数据库智能混合存储方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5041972A (en) * 1988-04-15 1991-08-20 Frost W Alan Method of measuring and evaluating consumer response for the development of consumer products
DE69232542T2 (de) * 1991-09-27 2002-11-21 Bmc Software Inc Definitionsänderungssprache für ein Datenbankrechnersystem
US5325445A (en) * 1992-05-29 1994-06-28 Eastman Kodak Company Feature classification using supervised statistical pattern recognition
JP3952518B2 (ja) * 1996-03-29 2007-08-01 株式会社日立製作所 多次元データ処理方法
US5884304A (en) * 1996-09-20 1999-03-16 Novell, Inc. Alternate key index query apparatus and method
US5905985A (en) * 1997-06-30 1999-05-18 International Business Machines Corporation Relational database modifications based on multi-dimensional database modifications
US5943677A (en) * 1997-10-31 1999-08-24 Oracle Corporation Sparsity management system for multi-dimensional databases
US6122628A (en) * 1997-10-31 2000-09-19 International Business Machines Corporation Multidimensional data clustering and dimension reduction for indexing and searching
US6496819B1 (en) * 1998-12-28 2002-12-17 Oracle Corporation Rewriting a query in terms of a summary based on functional dependencies and join backs, and based on join derivability
US6542904B2 (en) * 1999-07-30 2003-04-01 International Business Machines Corporation Method and system for efficiently providing maintenance activity on a relational database that is utilized within a processing system
US6725334B2 (en) * 2000-06-09 2004-04-20 Hewlett-Packard Development Company, L.P. Method and system for exclusive two-level caching in a chip-multiprocessor
AU2001271670A1 (en) * 2000-06-29 2002-01-14 Alpha Blox Corporation Caching scheme for multi-dimensional data
US6718338B2 (en) * 2001-06-26 2004-04-06 International Business Machines Corporation Storing data mining clustering results in a relational database for querying and reporting

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6192781B1 (ja) * 2016-07-26 2017-09-06 三菱電機株式会社 データ管理プログラム及びデータ管理装置

Also Published As

Publication number Publication date
US7080081B2 (en) 2006-07-18
US20030195898A1 (en) 2003-10-16
JP3945771B2 (ja) 2007-07-18

Similar Documents

Publication Publication Date Title
JP3945771B2 (ja) データベース・システム
US7765211B2 (en) System and method for space management of multidimensionally clustered tables
US7469241B2 (en) Efficient data aggregation operations using hash tables
JP3979846B2 (ja) リレーショナルデータベース管理システムに多次元データを記憶する方法
US6505205B1 (en) Relational database system for storing nodes of a hierarchical index of multi-dimensional data in a first module and metadata regarding the index in a second module
EP1629406B1 (en) Limiting scans of loosely ordered and/or grouped relations using nearly ordered maps
US6141655A (en) Method and apparatus for optimizing and structuring data by designing a cube forest data structure for hierarchically split cube forest template
US6374232B1 (en) Method and mechanism for retrieving values from a database
US6629102B1 (en) Efficiently updating a key table during outline restructure of a multi-dimensional database
US6470344B1 (en) Buffering a hierarchical index of multi-dimensional data
US7158996B2 (en) Method, system, and program for managing database operations with respect to a database table
US20150286681A1 (en) Techniques for partition pruning based on aggregated zone map information
US6480848B1 (en) Extension of data definition language (DDL) capabilities for relational databases for applications issuing DML and DDL statements
CA2388515C (en) System for managing rdbm fragmentations
US20120323971A1 (en) Optimizing data storage and access of an in-memory database
JPH07129450A (ja) 区分されたオブジェクトのデータベースの多層索引構造を生成する方法及びシステム
US20230103328A1 (en) Data compression techniques
US7310719B2 (en) Memory management tile optimization
US6456998B1 (en) Efficient processing of parent-child relationships in a relational database management system
US6925463B2 (en) Method and system for query processing by combining indexes of multilevel granularity or composition
US6453322B1 (en) Extension of data definition language (DDL) capabilities for relational databases for applications issuing multiple units of work
US6421677B1 (en) Extension of data definition language (DDL) capabilities for relational databases for applications issuing DDL statements
JPH09305622A (ja) 文書検索機能を有するデータベース管理方法およびシステム
US20020138464A1 (en) Method and apparatus to index a historical database for efficient multiattribute SQL queries
CA2427071C (en) Method and system for space management for multidimensionally clustered tables

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060613

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060830

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20060830

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20060830

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070116

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070227

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

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20070404

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070406

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110420

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110420

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees