JP2002342136A - ブロック・レベル・サンプリングを使用してデータベースのクラスタ化係数を判定する装置および方法 - Google Patents
ブロック・レベル・サンプリングを使用してデータベースのクラスタ化係数を判定する装置および方法Info
- Publication number
- JP2002342136A JP2002342136A JP2002085100A JP2002085100A JP2002342136A JP 2002342136 A JP2002342136 A JP 2002342136A JP 2002085100 A JP2002085100 A JP 2002085100A JP 2002085100 A JP2002085100 A JP 2002085100A JP 2002342136 A JP2002342136 A JP 2002342136A
- Authority
- JP
- Japan
- Prior art keywords
- database
- index
- clustering
- matrix
- clustering factor
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/285—Clustering or classification
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/912—Applications of a database
- Y10S707/913—Multimedia
- Y10S707/915—Image
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99932—Access augmentation or optimizing
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
- Y10S707/99935—Query augmenting and refining, e.g. inexact access
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
- Y10S707/99936—Pattern matching access
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99937—Sorting
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99942—Manipulating data structure, e.g. compression, compaction, compilation
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
データベースのクラスタ化係数を判定する装置および方
法を提供すること。 【解決手段】 装置および方法が、データベースに対す
るブロックレベル・サンプリングを実行し、そのデータ
を処理して1つまたは複数の行列を生成し、1つまたは
複数の行列を処理して、選択された索引のクラスタ化係
数を生成する。さらに、好ましい実施形態の装置および
方法を用いると、ある範囲にわたるクラスタ化係数の分
布を判定でき、これによって、クラスタ化係数が高い範
囲およびクラスタ化係数が低い範囲の識別が可能にな
る。クラスタ化係数分布を使用して、サンプリングされ
たデータに対応する既存のまたは潜在的な索引を使用す
る探索のメモリ・ページング性能を予測することがで
き、したがって、特定のデータベース照会に関する、既
存のまたは潜在的な索引を使用するデータベース探索の
性能を予測することができる。
Description
ュータ・システムに関し、具体的には、コンピュータ・
システム内のデータベースに関する。
ュータは、進歩し、ますます強力になってきた。現在で
は、コンピュータが、工学設計、機械制御、プロセス制
御、情報保管、および情報アクセスを含む人間の活動の
多くの分野で不可欠になっている。コンピュータの主な
用途の1つが、情報の保管および検索である。
によって、ユーザがデータベース内の特定の情報を探索
し、検索できるようにする形で、コンピュータが大量の
情報を保管できるようになった。たとえば、保険会社
が、その保険証券保有者の全員と、支払い履歴、掛け
金、証券番号、証券タイプ、適用範囲に対する除外を含
む彼らの現在の口座情報を含むデータベースを有する場
合がある。データベース・システムを用いると、保険会
社が、そのデータベース内の数千人の、おそらくは数百
万人の保険証券保有者の中から単一の保険証券保有者の
口座情報を検索できるようになる。
データベースの探索を、すべての照会について完全なデ
ータベース探索を実行するよりはるかに効率的にする、
1つまたは複数の索引が含まれる。データベース・シス
テムの性能は、ディスクからバッファへページをスワッ
プする、ページングされるメモリ・システムの性能に依
存する。特定の索引のキーの順序が、データベース表内
のキーの物理的順序に近い場合には、この索引を使用す
るメモリ・ページング・システムの性能が高まる。とい
うのは、多数のアクセスが、ページ・スワップを実行せ
ずにページ・バッファに対して行われる可能性が高くな
るからである。データベース内の列の、物理ストレージ
内の対応するデータへの相関の統計的測定を、「クラス
タ化係数(clustering factor)」と称する。クラスタ
化係数は、物理ストレージ内のデータが物理ストレージ
内でクラスタ化される(すなわち、互いに近くにある)
度合を示す。
係数は、通常は、メモリ・ページのサイズとページ・バ
ッファのサイズの関数として計算される。この計算を行
うことは、ページ・バッファのサイズが既知の時には比
較的単純である。ページ・バッファのサイズは、一般
に、バッファの仮想サイズを指定する仮想メモリ・シス
テムについて既知である。しかし、IBM iSeries 400な
どの一部のコンピュータ・プラットフォームは、固定サ
イズのページ・バッファを提供する仮想メモリ・システ
ムを有するのではなく、単一レベルのストアを有する。
単一レベル・ストアの場合、プロセッサのアドレス空間
を、オペレーティング・システムとすべてのアプリケー
ションの間で共用しなければならない。この理由から、
ページ・バッファについて固定されたサイズをセットす
ることは不可能である。というのは、そのサイズが、変
化する可能性があり、システム要件が変化する際に動的
に変更される可能性があるからである。可変サイズのペ
ージ・バッファを有するデータベースでのクラスタ化係
数を判定する装置および方法がなければ、索引のクラス
タ化係数が、一部のタイプのコンピュータ・プラットフ
ォームについて使用不能になり、クラスタ化係数に基づ
くデータベース性能の最適化が困難になる。
ば、装置および方法が、データベースに対するブロック
レベル・サンプリングを実行し、そのデータを処理して
1つまたは複数の行列を生成し、1つまたは複数の行列
を処理して、選択された範囲のクラスタ化係数を生成す
る。さらに、好ましい実施形態の装置および方法を用い
ると、ある範囲にわたるクラスタ化係数の分布を判定で
き、これによって、クラスタ化係数が高い範囲およびク
ラスタ化係数が低い範囲の識別が可能になる。クラスタ
化係数分布を使用して、サンプリングされたデータに対
応する既存のまたは潜在的な索引を使用する探索のメモ
リ・ページング性能を予測することができ、したがっ
て、特定のデータベース照会に関する、既存のまたは潜
在的な索引を使用するデータベース探索の性能を予測す
ることができる。
は、添付図面に示される本発明の好ましい実施形態の以
下の詳細な説明から明白になる。
係数の判定に関する。データベースおよびデータベース
のクラスタ化係数に精通していない人のために、関連す
る概念の簡単な概要をこれから示す。
ベースが、現在使用されている。最も一般的なものが、
リレーショナル・データベース(RDB)であり、これ
は、当技術分野でレガシ・データベースとも称する。図
1を参照すると、ほとんどのデータベースには、行と列
の集合として編成される1つまたは複数の表110が含
まれる。各列(またはフィールド)では、通常は、保管
されるデータのタイプが指定され、各行は、通常は、デ
ータベース内の異なる項目(またはレコード)を表す。
したがって、図1の表110Dについて、Col 1
(列1)に、従業員の姓が含まれ、Col 2に、従業
員の名が含まれ、Col 3に、従業員の性別が含ま
れ、Col 4に、従業員の雇われた日が含まれると仮
定する。この場合、Row1(行1)は、特定の従業
員、図1の例ではMary Smithの項目(レコード)を表
す。さらに、Row 2には、Beth Jonesのレコードが
含まれ、Row 3には、Sue Millerのレコードが含ま
れ、Row 4には、Bob Johnsonのレコードが含ま
れ、Row 5には、Ellen Nelsonのレコードが含まれ
る。これらの従業員の性別およびそれぞれの雇われた日
が、各レコードのCol 3およびCol4に示されて
いる。
Dは、データベース表の概念を示すために、非常に小さ
い。多くの応用例で、データベース表に、多数の列が含
まれる可能性があり、非常に多数の行が含まれる可能性
があることは明白である。たとえば、IBM Corporation
社の従業員のデータベースは、多数の列を有し、数万行
を有する表を有する可能性がある。データベース表にそ
のように大量のデータがある場合に、完全な表探索の実
行に、非常に時間がかかる可能性がある。その結果、索
引のキー値に従ってデータベース内のデータをカテゴリ
化することによってデータベース探索を高速化するため
に、索引が開発された。図1を参照すると、2つの索引
120Aおよび120Bが、図示されており、これら
を、以下ではそれぞれIndex 1およびIndex
2と呼称する。索引には、当技術分野で「述部」と称
する、表内の情報を突き止めるための判断基準を指定す
るキーと、述部を満足するデータベース内の行を指定す
る値とが含まれる。この例では、Index 1の述部
が、従業員の姓が「Jones」であることであると仮定す
る。Row 2に、Jonesという姓を有する従業員のレ
コードが含まれ、したがって、Row 2が、この索引
でそのキーのとなりに現れ、そのキーを満足するレコー
ドであることが示される。図1のIndex 2に示さ
れているように、多数のレコードが1つのキーを満足す
る場合があることに留意されたい。
(F)であることを指定する述部を伴うキーを有すると
仮定する。Row 1、Row 2、Row 3、およ
びRow 5が、この述部を満足するので、Index
2に、これらの行のそれぞれの項目が含まれる。索引
がデータベース表内のデータをどれほど完全に表すかの
尺度を、当技術分野で「選択性(selectivity)」と称
する。索引が低い選択性を有する場合には、その索引
は、データベース表内の比較的少数のレコードを表す。
索引が高い選択性を有する場合には、その索引は、デー
タベース表内の比較的多数のレコードを表す。図1のI
ndex 1は、データベース表110D内の5つのレ
コードのうちの1つだけを参照し、したがって、20%
の選択性を有するが、これは、図1の例について比較的
低い選択性である。対照的に、Index 2は、デー
タベース表110D内の5つのレコードのうちの4つを
参照し、選択性が80%であり、これは、図1の例に関
して比較的高い選択性である。選択性は、基礎となる表
内のどれほど多数のレコードが、索引で表されるかの尺
度である。ある索引が高い選択性を有する場合に、デー
タベースの検索に関するその索引の使用が制限される。
というのは、完全な表探索が、その索引を使用する索引
探索とほとんど同程度に速いからである。低い選択性を
有する索引は、データベース・レコードの小さい部分だ
けがその索引で表されるので、データベース探索の性能
を大幅に改善する可能性がある。従来技術では、索引の
選択性がある閾値を越える場合に、索引を使用するので
はなく、一般に完全な表探索が実行される。
理ストレージ内で一緒にグループ化される時を示すのに
使用される。用語「クラスタ化比」または「クラスタ化
係数」は、当技術分野で、索引で表されるデータの物理
的順序に関して索引がソートされている度合を表すのに
使用されてきた。クラスタ化係数は、ディスクからメモ
リへページを取り出し、ディスクからメモリへおよびメ
モリからディスクへのページのスワップを実行する、メ
モリ・ページング・システムの性能を推定するのに重要
な尺度である。低いクラスタ化係数は、索引走査に関す
るより多くのページ・スワップにつながる。というの
は、索引内のデータの最初のアクセスの後に、そのデー
タを含むページが、そのページが次にアクセスされる時
にまだページ・バッファ内にある可能性が低いからであ
る。
ベースをチューニングし、これによってその性能を最適
化するために、クラスタ化係数の計算をサポートする。
クラスタ化係数は、データベース内の索引の相対効率を
比較し、潜在的な索引の効率を予測するのに使用するこ
とができる。多数の既知のデータベースで、データ・マ
ネージャが、索引ページを効率的に取り出すのを助け
る、ページ・バッファ・サイズなどの情報にアクセスし
てきた。従来のデータベースでは、データベース・マネ
ージャが、照会を実行する前に、ページ・バッファのサ
イズを前もって知っている。図2を参照すると、データ
ベース・マネージャは、データベース内の特定の索引ま
たは列を走査するのに必要なページ取出し入出力を、図
2の行210に示されているように、ページ・バッファ
・サイズの関数として判定する。その後、図2の行22
0に示されているように、クラスタ化係数を、ページ取
出し入出力の関数として計算することができる。図2に
示されたクラスタ化係数の計算は、仮想メモリ・システ
ムを有し、したがって既知のサイズのページ・バッファ
を有するコンピュータ・システムについて可能である。
しかし、一部のコンピュータ・システムは、固定サイズ
のページ・バッファを提供できる仮想メモリ・システム
を有しない。たとえば、IBM iSeries 400コンピュータ
・システムは、仮想メモリをサポートする2レベル・ス
トアではなく「単一レベル・ストア」を使用する。デー
タベースDB2/400は、iSeries 400コンピュータ・プラッ
トフォームで一般的に実行される、非常に人気のあるデ
ータベースである。しかし、iSeries 400の単一レベル
・ストアに起因して、索引のクラスタ化係数を図2に示
されているように計算することができない。というの
は、データベース用のローカルの(すなわち仮想)専用
ページ・バッファがないからである。ページ・バッファ
のサイズは、システム負荷に従って変更することがで
き、したがって、ページ・バッファ・サイズを使用して
クラスタ化係数を直接に計算する方法がない。下で説明
する好ましい実施形態は、単一レベル・ストアを有する
コンピュータ・システムならびに2レベル・ストアを有
するシステムでデータベース索引のクラスタ化係数を判
定するのに使用することができる方法を提供する。
い技法を使用して、データベース内の範囲に関するクラ
スタ化係数を判定する方法を提供する。ブロック・レベ
ル・サンプリングが、データベースの性能に関する統計
を計算するために、現在多数のデータベースで実行され
る。本明細書の好ましい実施形態では、既に実行された
ブロック・レベル・サンプリングからの情報を使用し
て、索引のクラスタ化係数を判定する。さらに、好まし
い実施形態を用いると、特定の範囲にわたるクラスタ係
数の計算が可能になり、任意の指定された範囲にわたっ
てクラスタ化係数の分布を判定できるようになる。
るコンピュータ・システムの1特定の実装が、IBM iSer
ies 400コンピュータ・システム300である(以前はA
S/400コンピュータ・システムと称した)。コンピュー
タ・システム300には、主記憶320、大容量記憶装
置インターフェース330、ディスプレイ・インターフ
ェース340、およびネットワーク・インターフェース
350に接続されるプロセッサ310が含まれる。これ
らのシステム構成要素は、システム・バス360を使用
することを介して相互接続される。大容量記憶装置イン
ターフェース330は、大容量記憶装置(直接アクセス
記憶装置355など)をコンピュータ・システム300
に接続するのに使用される。直接アクセス記憶装置の1
特定のタイプが、読取/書込CDROMドライブであ
り、これは、CDROM395にデータを保管し、CD
ROM395からデータを読み取ることができる。
は、データ321、オペレーティング・システム32
2、データベース324、およびクラスタ化係数計算機
構328が含まれる。コンピュータ・システム300で
は、周知の仮想アドレッシング機構が使用され、これに
よって、コンピュータ・システム300のプログラム
が、主記憶320および直接アクセス記憶装置355な
どの複数のより小さい記憶実体にアクセスするのではな
く、大きい単一の記憶実体へのアクセスだけを有するか
のように振る舞うことができるようになる。したがっ
て、データ321、オペレーティング・システム32
2、データベース324、およびクラスタ化係数計算機
構328は、主記憶320内に常駐するものとして図示
されているが、当業者は、これらの項目が、必ずしもす
べてが同時に完全に主記憶320に含まれるのではない
ことを諒解するであろう。また、用語「メモリ」が、本
明細書では、コンピュータ・システム300のアドレス
空間(すなわち仮想メモリ)全体を包括的に指すことに
留意されたい。
300内のあらゆるプログラムへの入力またはプログラ
ムからの出力として働く、すべてのデータを表す。オペ
レーティング・システム322は、当業界でOS/40
0として既知のマルチタスク・オペレーティング・シス
テムであるが、当業者は、本発明の趣旨および範囲が、
1つのオペレーティング・システムに制限されないこと
を諒解するであろう。
イクロプロセッサおよび/または集積回路から構成する
ことができる。プロセッサ310は、主記憶320に保
管されたプログラム命令を実行する。主記憶320に
は、プロセッサ310がアクセスできるプログラムおよ
びデータが保管される。コンピュータ・システム300
が始動する時に、プロセッサ310は、まず、オペレー
ティング・システム322を構成するプログラム命令を
実行する。オペレーティング・システム322は、コン
ピュータ・システム300のリソースを管理する精巧な
プログラムである。このリソースの一部が、プロセッサ
310、主記憶320、大容量記憶装置インターフェー
ス330、ディスプレイ・インターフェース340、ネ
ットワーク・インターフェース350、およびシステム
・バス360である。
326内のデータの索引325が含まれる。図3には1
つの表と1つの索引だけが示されているが、当業者は、
データベース324などのデータベースに複数の表32
6および複数の索引325を含めることができることを
諒解するであろう。
ベース表326内の情報にアクセスして、データベース
列内の順序が、物理ストレージ内の基礎となるデータの
順序付けとどれほど密に相関するかを判定する。クラス
タ化係数計算機構328は、選択された範囲にわたって
クラスタ化係数を計算することが好ましく、0から10
0%の範囲に正規化される。高いクラスタ化係数は、基
礎となる物理ストレージ内のデータが、データベース列
に関して相対的に順序付けられていることを示し、これ
は、メモリ・ページング・システムからのよりよい入出
力性能をもたらす。低いクラスタ化係数は、基礎となる
物理ストレージ内のデータが、データベース列に関して
相対的に順序付けられていないことを示し、これは、低
いクラスタ化係数を有する索引に基づく探索の時により
多くのページ・スワップが必要になるので、メモリ・ペ
ージング・システムからの低い入出力性能をもたらす。
プロセッサおよび単一のシステム・バスだけを含むもの
として図示されているが、当業者は、本発明を、複数の
プロセッサまたは複数のバスもしくはその両方を有する
コンピュータ・システムを使用して実践できることを諒
解するであろう。さらに、好ましい実施形態で使用され
るインターフェースのそれぞれに、プロセッサ310か
ら計算集中型処理をオフロードするのに使用される別々
の完全にプログラミングされたマイクロプロセッサが含
まれる。しかし、当業者は、本発明が、類似する機能を
実行するために単純に入出力アダプタを使用するコンピ
ュータ・システムにも同等に適用されることを諒解する
であろう。
は、1つまたは複数のディスプレイ365をコンピュー
タ・システム300直接接続するのに使用される。ディ
スプレイ365は、単一の表示装置または完全にプログ
ラム可能なワークステーションとすることができ、シス
テム管理者がコンピュータ・システム300と通信でき
るようにするのに使用される。
よって、コンピュータ・システム300が、コンピュー
タ・システムを接続することができるネットワーク37
0との間でデータを送受信でき、ネットワーク370に
結合された1つまたは複数のコンピュータ・システム3
75と通信できるようになる。ネットワーク370は、
ローカル・エリア・ネットワーク(LAN)、広域ネッ
トワーク(WAN)、インターネット、イントラネッ
ト、またはこれらの組合せとすることができる。ネット
ワークへの接続の適当な方法には、既知のアナログ技法
および/またはディジタル技法ならびに、将来に開発さ
れるネットワーキング機構が含まれる。多数の異なるネ
ットワーク・プロトコルを使用して、1つのネットワー
クを実施することができる。これらのプロトコルは、コ
ンピュータがネットワークを介して通信できるようにす
る、特殊化されたコンピュータ・プログラムである。イ
ンターネットを介する通信に使用されるTCP/IP
(伝送制御プロトコル/インターネット・プロトコル)
が、適当なネットワーク・プロトコルの例である。
ュータ・システムに関して説明するが、当業者が、本発
明をさまざまな形態のプログラム製品として配布できる
ことと、本発明が配布の実行に実際に使用される信号担
持媒体の具体的なタイプにかかわらずに同等に適用され
ることを諒解するであろうことに留意することが重要で
ある。適当な信号担持媒体の例には、CDROM(たと
えば図3の395)およびフロッピ(R)・ディスクな
どの記録可能型媒体と、ディジタル通信リンクおよびア
ナログ通信リンクなどの伝送型媒体が含まれる。
る方法400は、データベースからブロックをランダム
に選択すること(ステップ410)によって開始され
る。これらのブロックは、既存の索引に対応するものと
することができ、もしくは、データベース内のある列に
対する潜在的な索引の性能を推定するためにその列に基
づくブロックとすることができる。ブロック・レベル・
サンプリングが、現在、従来技術の多数のデータベース
・システムで異なる性能統計を収集するために行われて
いることに留意されたい。しかし、クラスタ化係数は、
過去においてブロック・レベル・サンプリングから計算
または導出されなかった。本発明では、ブロック・レベ
ル・サンプリングが、データベースの性能統計を導出す
るために既に実行されており、したがって、ブロック・
レベル・サンプリング情報を使用して、異なるサンプリ
ングを必要とせずにクラスタ化係数を導出できることが
認識されている。言い換えると、本発明では、ブロック
・レベル・サンプリングが、他の理由から既に実行され
ており、したがって、この情報が、性能的にごくわずか
なコストで簡単に入手可能であることが認識されてい
る。好ましい実施形態では、ステップ410が、他のデ
ータベース性能統計(クラスタ化係数以外)を収集する
ために現在行われている、従来技術のブロック・レベル
・サンプリングのステップである。というのは、この情
報が、既に使用可能であり、したがって、追加のサンプ
ルを必要としないからである。しかし、本発明が、当技
術分野で既知のデータベース性能統計を収集するために
実行されるブロック・レベル・サンプリングと別のブロ
ック・レベル・サンプリングの実行に明白に拡張される
ことに留意されたい。さらに、ブロック・レベル・サン
プリングを実行することによって、クラスタ化係数に基
づく性能推定を、索引全体に対する完全な走査を実行す
るのではなく、データのサンプリングに基づいて行うこ
とができる。
をステップ410で選択した後に、キー値および対応す
るページ番号のリストを生成する(ステップ420)。
その後、このリストを、キー値の昇順でソートする(ス
テップ430)。その後、ソートされたリストを使用し
て、サンプル内のページ数に等しい深さを有し、索引内
のキーの数に等しい幅を有する2次元ビットマップを生
成する(ステップ440)。ビットマップを生成した後
に、それを処理して三角行列を生成する(ステップ45
0)。その後、三角行列を処理してサイズを縮小する
(ステップ460)。この行列のサイズは、ディジタル
画像圧縮技法を使用してさらに縮小することができる
(ステップ470)。最後に、圧縮された行列から、指
定された範囲のクラスタ化係数を判定することができる
(ステップ480)。図4に示された特定のステップ
が、本明細書に記載の本発明の実践に必要ではないが、
好ましい実施形態によるステップの1つの適当な組合せ
を例示するものであることに留意されたい。本明細書に
記載の好ましい実施形態は、サンプリングされたデータ
から行列を生成し、その行列を処理して、データベース
の指定された範囲のクラスタ化係数を判定する、ステッ
プのすべての特定のシーケンスに明白に拡張される。図
4の方法400の詳細を、下に示す特定の例に関して説
明する。
ンプリングされた、P1からP5というラベルを付けら
れた、物理ストレージの5ページを表す。サンプリング
されたページが、選択されたデータベース索引のキーで
指定される述部を満足するページであることに留意され
たい。図5のページは、図4のステップ410を使用し
て選択することができる。好ましい実施形態では、ペー
ジのうちの選択された比率が、ランダムに選択される
(たとえば10%)。ページをサンプリングした後に、
キー値およびそれに対応するページ番号のリストが生成
され(ステップ420)、このリストがキー値の昇順で
ソートされ(ステップ430)、図6に示されたソート
されたリスト600がもたらされる。リスト600を生
成する際に、ページの空白部分のすべてが除外されるこ
とに留意されたい。各キーは、昇順であり(K1からK
13)、それに対応するページが、リスト600に示さ
れている。
図4のステップ440で説明した、ページの数に等しい
深さとキーの数に等しい幅を有する2次元ビットマップ
を生成することができる。たとえば、図5および図6に
は、5つのページと13個のキーがある。ビットマップ
を作成した後に、図7のビットマップ700に示されて
いるように、その値のすべてを0に初期化し、その後、
ビットマップの位置[1、1]を1に初期化する。図8
の行列800に示されているように、キーの数に等しい
深さとキーの数に等しい幅を有する三角行列を作成し、
0に初期化し、その最初の位置[1、1]を1に初期化
する。行列800の形状は正方形に見えるが、この行列
のデータ値は、三角形のパターンになっており、それ
が、行列800を「三角行列」と呼ぶ理由である。
マップ700の情報、および行列800の他の項目の情
報から生成することができる。行列800の値は、次の
論理を使用して生成することができる。Mは、サンプル
のキーの数であるNは、サンプルのページの数である。
List[M]は、それぞれにKeyValue(キー値)およびPage#
(ページ番号)が含まれるレコードの配列である(たと
えば図6の600) BitMap[N][M]は、2次元ビットマップである(図7の7
00を参照されたい) Triangular_Matrix[M][M]は、2次元配列である(図8
の800を参照されたい) FOR J=2 to M BEGIN K=List[J].Page# FOR I=1 TO J DO BEGIN IF (BitMap[K][I]=0) THEN BEGIN BitMap[K][I]=1; Triangular_Matrix[I][J]=Triangular_Matrix[I][J-1]+1; END ELSE Triangular_Matrix[I][J]=Triangular_Matrix[I][J-1]; END END 上の論理を実行することによって、図21に示された、
図5から8の例に関する結果の三角行列を生成すること
ができる。しかし、上で示した論理の深みにはまり込ま
ずに図21の結果の三角行列を生成する、はるかに簡単
なグラフ法がある。
されているようにビットマップ700の下に位置合せ
し、その結果、ビットマップ700の列K1が、行列8
00の列K1に位置合せされるようにする。ビットマッ
プ700(図7)および行列800(図8)の両方の位
置[1、1]は、1に初期化されており、これが、最初
のキーK1に必要な処理である。これが、上の論理がJ
=2から始まる理由である。ここでは、図10で矢印に
よって示されているように、行列の第2行K2から始め
る。次に、図6のリスト600を見て、どのページ番号
がキーK2に対応するかを判定する。リストから、ペー
ジP2がK2に対応することがわかる。このために、図
9で矢印によって示されているように、ビットマップ内
でP2に対応する行を見る。次に、P2の行を、問題の
キーの数値の順序に対応する項目数だけ進む。検討中の
キーは、2番目のキーなので、行P2で2位置だけ進む
必要がある。この論理は非常に単純である。ビットマッ
プのページ行の値が0である場合には、その値を1に変
更し、図10の行の対応する位置の値に、その上の値+
1を与える。ビットマップのページ行の値が1の場合に
は、図10の行の対応する位置の値に、その上の値を与
える。この方法を使用することによって、リスト600
(図6)、ビットマップ700、および三角行列800
の情報から三角行列の値を簡単に生成することができ
る。
説明したこのグラフ法を使用すると、ページ行P2の最
初の値が0であり、したがって、その値が1に変更さ
れ、図10のK2行の対応する位置の値が、その上の値
(1)+1すなわち合計2になる。同様の形で、ページ
行の第2項目が、0であり、1に変更され、行列の対応
する列の値が、その上の値(0)+1すなわち合計1に
なる。問題のキーK2が2番目のキーなので、図9のペ
ージ行の2つの位置を処理しただけであることに留意さ
れたい。
るように、次のキー、K3を検討する。図6のリスト6
00を参照すると、図11で矢印によって示されている
ように、K3が対応するページ番号P5を有することが
わかる。ここで、三角行列800の行K3に書き込む。
P5行の最初の位置(K1)は0であり、したがって、
これを1に変更し、行列のK3行のK1位置の値は、そ
の上の値より1つ大きくなる。その上の値は2なので、
図12に示されているように、値3がK3行の最初の位
置に配置される。同様の形で、P5行の次の2つの0
が、1に変更され、三角行列の対応する位置が、それら
の上の値より1つ大きくなる。図11および図12に示
されたビットマップ700および三角行列800が、K
3を含むK3までの処理を表す。K3がリスト600
(図6)の3番目のキーなので、行列800の行K3に
非0項目が3つだけあることに留意されたい。
るように、次のキー、K4を検討する。図6のリスト6
00を参照すると、図13で矢印によって示されている
ように、K4が対応するページ番号P3を有することが
わかる。ここで、三角行列800の行K4に書き込む。
P3行の最初の位置(K1)は0なので、これを1に変
更し、K4行のK1位置の値が、その上の値より1つ大
きくなる。上の値は3なので、図14に示されているよ
うに、値4がK4行の最初の位置に配置される。同様の
形で、P3行の次の3つの0が1に変更され、三角行列
の対応する位置が、その上の値より1つ大きくなる。図
13および図14に示されたビットマップ700および
三角行列800が、K4を含むK4までの処理を表す。
K4がリスト600(図6)の4番目のキーなので、行
K4に非0項目が4つだけあることに留意されたい。
るように、次のキー、K5を検討する。図6のリスト6
00を参照すると、図15で矢印によって示されている
ように、K5が対応するページ番号P1を有することが
わかる。ここで、三角行列800の行K5に書き込む。
P1行の最初の位置(K1)は1なので、K5行のK1
位置の値が、その上の値と同一になる。上の値は4なの
で、図16に示されているように、値4がK5行の最初
の位置に配置される。P1行の2番目の位置(K2)は
0なので、これを1に変更し、K5行のK2位置の値
が、その上の値より1つ大きくなる。上の値は3なの
で、図16に示されているように、値4がK5行の2番
目の位置に配置される。同様の形で、P1行の次の3つ
の0が1に変更され、三角行列の対応する位置が、その
上の値より1つ大きくなる。図15および図16に示さ
れたビットマップ700および三角行列800が、K5
を含むK5までの処理を表す。K5がリスト600(図
6)の5番目のキーなので、行K5に非0項目が5つだ
けあることに留意されたい。
るように、K6を検討する。図6のリスト600を参照
すると、図17で矢印によって示されているように、K
6が対応するページ番号P5を有することがわかる。こ
こで、三角行列800の行K6に書き込む。P5行の最
初の3つの位置K1からK3は、図15に示されている
ように、すべて1であるから、K6行のK1からK3位
置の値は、その上の値と同一になる。同様に、P5行の
位置K4からK6は、すべて0なので(図15を参照さ
れたい)、これらを1に変更し、K6行の位置K4から
K6の値が、その上の値より1つ大きくなる。図17お
よび図18に示されたビットマップ700および三角行
列800が、K6を含むK6までの処理を表す。K6が
リスト600(図6)の6番目のキーなので、行K6に
非0項目が6つだけあることに留意されたい。
行し、その結果のビットマップを図19に示し、結果の
三角行列を図20に示す。軸が、その上のビットマップ
に位置合せするために入れ替えられたので、図20の三
角行列を反転する必要があることに留意されたい。この
ために、行列の軸を変更し、その結果の三角行列を、図
21に示す。
が、好ましい実施形態の概念を示すために極端に簡略化
されていることに留意されたい。13個のキーと5つの
ページだけでも、非常に大きい(13×13)行列で終
わる。行列のサイズは、サンプルのキーの数によって決
定される。M個のキーを含むN個のページをサンプリン
グする場合には、三角行列内にM(M−1)/2個の項
目を有することになる。実世界の応用例では、キーの数
およびページの数が非常に大きくなる可能性がある。そ
の結果、結果の三角行列のサイズが、値のすべてを行列
内に保管できるようにするには大きくなりすぎる可能性
がある。このために、好ましい実施形態では、図4のス
テップ460および470に示されるように、結果の三
角行列を処理して、そのサイズを縮小する。
で、(100/M)%から(100M/M)%まで変化
する選択性を記憶する。しかし、クラスタ化比は、索引
が十分に選択的である(すなわち、12%などの閾値を
超える)時に限って検討する必要がある。行列のサイズ
を縮小する方法の1つが、照会に関して索引の使用に値
するには高すぎる選択性を有する索引の項目を削除する
ことである。たとえば、次の照会を仮定する。 SELECT * FROM lineitem WHERE 1_orderkey BETWEEN 1 AND 100000 AND 1_partkey BETWEEN 1 and 1000 ここで、1_orderkeyに対するものと1_partkeyに対する
ものの2つの索引がある。「1_orderkey between 1 and
100000」の選択性が90%であり、「1_partkeybetwee
n 1 and 1000」の選択性が5%である。この場合に、デ
ータベースの最適化プログラムは、索引クラスタ化に無
関係に、データへのアクセス・パスとして1_partkeyを
選ぶ。その結果、選択性マージンを満足する索引だけに
対するクラスタ化統計を保存することが望ましい。選択
性マージンが、(i*100/M)%から(100*j
/M)%までであり、i≦jである場合に、行列の項目
数が、[(j−i+1)(2M−(i+j))/2]に
減らされる。たとえば、選択性のマージンが、それぞれ
i=2%およびj=30%である場合に、項目数は
(0.2352M**2+0.84M)であり、行列の
サイズは、(0.2352M**2+0.84M)/
(0.5M**2+0.5M)すなわち約2.3倍に減
らされる。この特定の例で、索引の選択性に従って三角
行列の値をスクリーニングすることによって、項目の数
が2.3倍だけ減らされたが、これは、処理された三角
行列が、元の項目の44%未満を有することを意味す
る。
法は、重複したキーを除去し、両端のキーを残すことで
ある。たとえば、key5からkey9までが同一の値(「Mar
y」など)を有する場合に、行列内の、key6、key7、お
よびkey8に対応する行および列を除去し、両端の値key5
およびkey9を残す。図6のリスト600はソートされて
いるので、下の論理によって示されるように、新しい値
が見つかるまでキーの値を単純にバッファリングする。 FOR i=1 TO M DO BEGIN IF (equal) { // 等しい。したがって、カウントを累算し // そのキーに対応する行および列を削除する } ELSE { // 新しい値である。したがって、前の値をフラッシュし、 // ポインタを入れ替え、その結果、現在のポインタが //前のポインタになるようにする } END
によって、さらにサイズを減らすことができる。言い換
えると、2つの連続する対の間の距離が等しくなるよう
に、キーのサブセットを選択することができる。たとえ
ば、行列の残りのキーが、K1、K2、K3、…、K1
00である場合に、K10、K20、K30、K40、
K50、K60、K70、K80、K90、およびK1
00が選択された分位数になり、2つの分位数の間の距
離が10キーになるように、対応する分位数の行および
列を保つことによって、10個の分位数を選択して行列
サイズを減らすことができる。その結果、行列サイズ
が、100列から10列に減り、行列のサイズが90%
縮小される。この縮小方法では、元の行列の近似である
行列が作られ、選択される分位数が多いほど、結果の行
列が元の行列を正確に近似するようになる。より正確に
元の行列を近似するのに十分な分位数を選択する場合に
は、結果の行列が、まだ大きすぎる可能性がある。
上の縮小技法から生じる結果の行列のすべての分析か
ら、行列の各項目が、その近傍に強く相関することが示
される。この意味で、行列は、画像内の各画素が行列項
目に写像される行列を使用して表現することができるデ
ィジタル画像に類似する。ディジタル画像では、各画素
が、その近傍に相関する。したがって、好ましい実施形
態では、ディジタル画像を圧縮する既知の技法を使用し
て、三角行列を圧縮することができる。KLM、高速フ
ーリエ変換、離散コサイン変換、特異値分解(SVD)
を含む、ディジタル画像を圧縮する多数の既知の技法が
ある。実装を簡単にするために、三角行列を圧縮するの
に適する技法としてSVDを選択した。SVDに関する
全般的な情報および詳細については、画像処理または線
形代数の参考文献を参照されたい。
つの対角行列の積に書き直す周知の技法である。Uおよ
びVが、行列AのSVD表現の2つの直交行列であり、
Sが、行列AのSVD表現の対角行列であるならば、
列は、AtAの固有ベクトルである。Sの対角線の特異
値rは、AAtおよびAtAの両方の非0固有値の平方根
である。これらの特異値は、大きさの降順で配置され
る。ベクトルuiが、行列Uの列であり、ベクトルvi
が、行列Vの列であり、siが、Aの特異値を表すなら
ば、式(2)に示された関係が得られる。
小の重みの情報から分離できることである。行列Aのk
個の最大の特異値(および対応する固有ベクトル)によ
って、行列内の最大の重みの情報が取り込まれる。k個
の最大の特異値およびそれに対応する固有ベクトル(k
<<r)を保管することによって、行列を近似すること
ができる。
固有ベクトルを維持しながら、下記の論理を使用するこ
とによって別個のページの数(Distinct_Pages)を判定
することができる。 N=ページ・サイズ(行数); R=指定された索引範囲に含まれる行数 その後、式(3)からクラスタ化係数を判定することが
できる。 クラスタ化係数=R/(N*Distinct_Pages) (3)
た後に、第1の索引範囲のクラスタ化係数を、第2の索
引または範囲のクラスタ化係数と比較して、第2の索引
範囲の使用と比較した第1の索引範囲を使用するデータ
ベース照会の実行の相対効率を比較することができる。
その後、相対効率に基づいてデータベース照会に適当な
索引および範囲を選択することができ、これによって照
会の性能が改善される可能性が高い。
来技術でもたらされるクラスタ化係数のなまの推定から
使用可能な、はるかに大量の情報が可能である。たとえ
ば、好ましい実施形態では、選択された索引の指定され
た範囲に関するクラスタ化係数を判定できるので、索引
全体にわたるクラスタ化係数の分布を、好ましい実施形
態によって容易に判定することができる。クラスタ化係
数の分布によって、アクセスされる索引の予想される範
囲に基づく、使用すべき索引範囲の決定が可能になる。
したがって、ある索引のクラスタ化係数分布によって、
従来技術では入手可能でない追加情報が与えられて、索
引の期待される範囲に基づいて、どの索引を使用すべき
かに関する決定が、さらに洗練される。
のデータベース・システムで既に収集されているブロッ
ク・レベル・サンプルからクラスタ化係数およびクラス
タ化係数分布を判定する能力であり、これによって、サ
ンプルが、データベース・システム内の他の有用な統計
を収集するために既に存在するので、クラスタ化係数お
よび分布の判定が性能に及ぼす影響が最小になる。たと
えば、データの分布および別個の値の数の推定が、当技
術分野で既知の統計である。さらに、クラスタ化係数お
よびクラスタ化係数分布が、好ましい実施形態では仮定
されるページ・バッファ・サイズにかかわらずに判定さ
れるので、好ましい実施形態は、単一レベル・ストアを
有するコンピュータ・システムならびに仮想記憶システ
ム(すなわち2レベル・ストア)を有するコンピュータ
・システムでのクラスタ化係数およびクラスタ化係数分
布の判定に成功する。
い実施形態は、選択された索引の指定された範囲でのク
ラスタ化係数およびクラスタ化係数分布を判定する装置
および方法を提供する。その後、クラスタ化係数情報を
データベース・マネージャによって使用して、他の索引
よりすばやくデータベース探索を実行する可能性が高い
適当な索引を選択することができる。さらに、データベ
ースの列に関するクラスタ化係数を判定して、その列に
対する索引の性能を推定することができる。
態が可能であることを諒解するであろう。したがって、
本発明の好ましい実施形態に関して本発明を具体的に図
示し、説明してきたが、形態および詳細におけるこれら
および他の変更を、本発明の趣旨および範囲から逸脱せ
ずにその中で行うことができることが、当業者に理解さ
れるであろう。
の事項を開示する。
記少なくとも1つのプロセッサに結合されたメモリと、
前記メモリ内に常駐するデータベースであって、前記デ
ータベースに対する照会を管理するデータベース・マネ
ージャを含む、データベースと、前記メモリ内に常駐
し、前記少なくとも1つのプロセッサによって実行され
るクラスタ化係数計算機構であって、前記クラスタ化係
数計算機構が、前記データベースからの複数のランダム
な物理データ・ページのブロック・サンプリングを実行
し、前記ブロック・サンプリングでの情報から少なくと
も1つの行列を生成し、前記データベース内の指定され
た範囲に関するクラスタ化係数を判定するために前記少
なくとも1つの行列を処理する、クラスタ化係数計算機
構とを含み、前記データベース・マネージャが、前記ク
ラスタ化係数に基づいて前記データベースに対する照会
の性能を推定する装置。 (2)前記データベースが、それぞれが少なくとも1つ
のキーと前記キーを満足する前記データベース内の少な
くとも1つの対応するレコードへの参照とを有する複数
の索引を含み、前記クラスタ化係数計算機構が、第1索
引内の第1範囲に関する前記クラスタ化係数を判定し、
第2索引内の第2範囲に関する前記クラスタ化係数を判
定し、前記データベース・マネージャが、前記第1索引
の前記クラスタ化係数を前記第2索引の前記クラスタ化
係数と比較することによって、前記第2索引と比較した
前記第1索引の相対効率を判定し、前記データベース・
マネージャが、前記それぞれのクラスタ化係数によって
示される相対効率に基づいて、前記データベースの照会
のために前記第1索引および前記第2索引の1つを選択
する、上記(1)に記載の装置。 (3)前記データベース・マネージャが、前記それぞれ
のクラスタ化係数によって示される相対効率に基づい
て、前記データベースの照会のために前記第1索引およ
び前記第2索引の1つを選択する、上記(1)に記載の
装置。 (4)前記クラスタ化係数計算機構が、さらに、前記選
択された索引の異なる範囲での前記クラスタ化係数の分
布を判定する、上記(1)に記載の装置。 (5)前記クラスタ化係数計算機構が、前記ブロック・
サンプリングから生成されたキーと前記キーに対応する
ページとの順序付けられたリストから前記少なくとも1
つの行列を生成する、上記(1)に記載の装置。 (6)前記クラスタ化係数計算機構が、少なくとも1つ
のディジタル画像圧縮技法を使用して、前記少なくとも
1つの行列のサイズを縮小する、上記(1)に記載の装
置。 (7)前記ディジタル画像圧縮技法が、特異値分解を含
む、上記(6)に記載の装置。 (8)少なくとも1つのプロセッサと、前記少なくとも
1つのプロセッサに結合されたメモリと、前記メモリ内
に常駐するデータベースであって、それぞれが少なくと
も1つのキーと前記キーを満足する前記データベース内
の少なくとも1つの対応するレコードへの参照とを有す
る複数の索引を含み、さらに、前記データベースへの照
会を管理するデータベース・マネージャを含む、データ
ベースと、前記メモリ内に常駐し、前記少なくとも1つ
のプロセッサによって実行されるクラスタ化係数計算機
構であって、前記クラスタ化係数計算機構が、前記デー
タベース内の選択された索引からの複数のランダムな物
理データ・ページのブロック・サンプリングを実行し、
前記ブロック・サンプリングからのキーの、前記キーに
対応するページを伴う順序付きリストを生成し、前記順
序付きリストから2次元ビットマップを生成し、少なく
とも1つの行列を生成するために前記2次元ビットマッ
プを処理し、少なくとも1つのディジタル画像圧縮技法
を使用して前記少なくとも1つの行列のサイズを縮小
し、前記選択された索引の指定された範囲に関するクラ
スタ化係数を判定するために前記縮小された行列を処理
し、前記クラスタ化係数計算機構が、前記データベース
の第1索引内の第1範囲に関する前記クラスタ化係数を
判定し、前記データベースの第2索引内の第2範囲に関
する前記クラスタ化係数を判定する、クラスタ化係数計
算機構とを含み、前記データベース・マネージャが、前
記第1索引の前記クラスタ化係数を前記第2索引の前記
クラスタ化係数と比較することによって、前記第2索引
と比較した前記第1索引の相対効率を判定し、前記デー
タベース・マネージャが、前記それぞれのクラスタ化係
数によって示される相対効率に基づいて、前記データベ
ースの照会のために前記第1索引および前記第2索引の
1つを選択する装置。 (9)データベース内の指定された範囲に関するクラス
タ化係数を判定する方法であって、(A)前記指定され
た範囲から複数のランダムな物理データ・ページをブロ
ック・サンプリングするステップと、(B)前記ブロッ
ク・サンプリングでの情報から少なくとも1つの行列を
生成するステップと、(C)前記データベースの前記指
定された範囲に関するクラスタ化係数を判定するために
前記少なくとも1つの行列を処理するステップとを含む
方法。 (10)前記データベース内の前記指定された範囲が、
前記データベースの索引の少なくとも一部を含む、上記
(9)に記載の方法。 (11)さらに、前記データベースの異なる範囲での前
記クラスタ化係数の分布を判定するステップを含む、上
記(9)に記載の方法。 (12)ステップ(B)が、(B1)前記ブロック・サ
ンプリングからのキーの、前記キーに対応するページを
伴う順序付きリストを生成するステップと、(B2)前
記順序付きリストから2次元ビットマップを生成するス
テップと、(B3)前記少なくとも1つの行列を生成す
るために前記2次元ビットマップを処理するステップと
を含む、上記(9)に記載の方法。 (13)少なくとも1つのディジタル画像圧縮技法を使
用して前記少なくとも1つの行列のサイズを縮小するス
テップをさらに含む、上記(9)に記載の方法。 (14)前記ディジタル画像圧縮技法が、特異値分解を
含む、上記(13)に記載の方法。 (15)1回目に、第1索引に関するクラスタ化係数を
判定するために、ステップ(A)、(B)、および
(C)が実行され、2回目に、第2索引に関するクラス
タ化係数を判定するために、ステップ(A)、(B)、
および(C)が実行され、前記第1索引および前記第2
索引の前記クラスタ化係数に基づいて、前記データベー
スの照会のために前記第1索引および前記第2索引の1
つを選択するステップをさらに含む上記(9)に記載の
方法。 (16)データベース内の複数の範囲に関するクラスタ
化係数分布を判定する方法であって、(A)前記データ
ベースから複数のランダムな物理データ・ページをブロ
ック・サンプリングするステップと、(B)前記ブロッ
ク・サンプリングからのキーの、前記キーに対応するペ
ージを伴う順序付きリストを生成するステップと、
(C)前記順序付きリストから2次元ビットマップを生
成するステップと、(D)少なくとも1つの行列を生成
するために前記2次元ビットマップを処理するステップ
と(E)少なくとも1つのディジタル画像圧縮技法を使
用して前記少なくとも1つの行列のサイズを縮小するス
テップと、(F)前記データベース内の指定された範囲
に関するクラスタ化係数を判定するために前記少なくと
も1つの行列を処理するステップと、(G)前記データ
ベース内の前記複数の範囲のそれぞれに関するクラスタ
化係数を判定するためにステップ(A)から(F)を繰
り返すステップとを含む方法。 (17)データベース内の複数のランダムな物理データ
・ページのブロック・サンプリングを実行し、前記ブロ
ック・サンプリングでの情報から少なくとも1つの行列
を生成し、前記データベース内の指定された範囲に関す
るクラスタ化係数を判定するために前記少なくとも1つ
の行列を処理する、クラスタ化係数計算手順をコンピュ
ータに実行させるためのプログラムを記録したコンピュ
ータ可読記録媒体。 (18)前記クラスタ化係数計算手順が、第1索引内の
第1範囲に関する前記クラスタ化係数を判定し、第2索
引内の第2範囲に関する前記クラスタ化係数を判定し、
前記第1索引の前記クラスタ化係数を前記第2索引の前
記クラスタ化係数と比較することによって、前記第2索
引と比較した前記第1索引の相対効率を判定する手順で
ある、上記(17)に記載の記録媒体。 (19)前記信号担持媒体上に常駐し、前記それぞれの
クラスタ化係数によって示される相対効率に基づいて、
前記データベースの照会のために前記第1索引および前
記第2索引の1つを選択する、データベース・マネージ
ャをさらに含む、上記(17)に記載の記録媒体。 (20)前記クラスタ化係数計算手順が、さらに、前記
選択された索引の異なる範囲での前記クラスタ化係数の
分布を判定する、上記(17)に記載の記録媒体。 (21)前記クラスタ化係数計算手順が、前記ブロック
・サンプリングから生成されたキーと前記キーに対応す
るページとの順序付きリストから前記少なくとも1つの
行列を生成する、上記(17)に記載の記録媒体。 (22)前記クラスタ化係数計算手順が、少なくとも1
つのディジタル画像圧縮技法を使用して前記少なくとも
1つの行列のサイズを縮小する、上記(17)に記載の
記録媒体。 (23)前記ディジタル画像圧縮技法が、特異値分解を
含む、上記(22)に記載の記録媒体。 (24)データベースであって、(A)データベース内
の選択された索引からの複数のランダムな物理データ・
ページのブロック・サンプリングを実行し、前記ブロッ
ク・サンプリングからのキーの、前記キーに対応するペ
ージを伴う順序付きリストを生成し、前記順序付きリス
トから2次元ビットマップを生成し、少なくとも1つの
行列を生成するために前記2次元ビットマップを処理
し、少なくとも1つのディジタル画像圧縮技法を使用し
て前記少なくとも1つの行列のサイズを縮小し、前記選
択された索引の指定された範囲に関するクラスタ化係数
を判定するために前記縮小された行列を処理するクラス
タ化係数計算機構であって、前記クラスタ化係数計算機
構が、前記データベースの第1索引内の第1範囲に関す
る前記クラスタ化係数を判定し、前記データベースの第
2索引内の第2範囲に関する前記クラスタ化係数を判定
する、クラスタ化係数計算機構と、(B)前記第1索引
の前記クラスタ化係数を前記第2索引の前記クラスタ化
係数と比較することによって、前記第2索引と比較した
前記第1索引の相対効率を判定するデータベース・マネ
ージャであって、前記データベース・マネージャが、前
記それぞれのクラスタ化係数によって示される前記相対
効率に基づいて、前記データベースの照会のために前記
第1索引および前記第2索引の1つを選択する、データ
ベース・マネージャとを含むデータベースが記録された
コンピュータ可読記録媒体。
で計算される方法を示す図である。
る。
を判定する方法の流れ図である。
れるブロックである5つのページを示すブロック図であ
る。
対応するページのページ番号のソートされたリストのブ
ロック図である。
マップのブロック図である。
列のブロック図である。
を処理した後の図7のビットマップのブロック図であ
る。
1を処理した後の図8の三角行列のブロック図である。
2を処理した後の図7のビットマップのブロック図であ
る。
2を処理した後の図8の三角行列のブロック図である。
3を処理した後の図7のビットマップのブロック図であ
る。
3を処理した後の図8の三角行列のブロック図である。
4を処理した後の図7のビットマップのブロック図であ
る。
4を処理した後の図8の三角行列のブロック図である。
5を処理した後の図7のビットマップのブロック図であ
る。
5を処理した後の図8の三角行列のブロック図である。
K13のすべてを処理した後の図7のビットマップのブ
ロック図である。
K13のすべてを処理した後の図8の三角行列のブロッ
ク図である。
から生成された三角行列のブロック図である。
Claims (24)
- 【請求項1】少なくとも1つのプロセッサと、 前記少なくとも1つのプロセッサに結合されたメモリ
と、 前記メモリ内に常駐するデータベースであって、前記デ
ータベースに対する照会を管理するデータベース・マネ
ージャを含む、データベースと、 前記メモリ内に常駐し、前記少なくとも1つのプロセッ
サによって実行されるクラスタ化係数計算機構であっ
て、前記クラスタ化係数計算機構が、前記データベース
からの複数のランダムな物理データ・ページのブロック
・サンプリングを実行し、前記ブロック・サンプリング
での情報から少なくとも1つの行列を生成し、前記デー
タベース内の指定された範囲に関するクラスタ化係数を
判定するために前記少なくとも1つの行列を処理する、
クラスタ化係数計算機構とを含み、前記データベース・
マネージャが、前記クラスタ化係数に基づいて前記デー
タベースに対する照会の性能を推定する装置。 - 【請求項2】前記データベースが、それぞれが少なくと
も1つのキーと前記キーを満足する前記データベース内
の少なくとも1つの対応するレコードへの参照とを有す
る複数の索引を含み、前記クラスタ化係数計算機構が、
第1索引内の第1範囲に関する前記クラスタ化係数を判
定し、第2索引内の第2範囲に関する前記クラスタ化係
数を判定し、前記データベース・マネージャが、前記第
1索引の前記クラスタ化係数を前記第2索引の前記クラ
スタ化係数と比較することによって、前記第2索引と比
較した前記第1索引の相対効率を判定し、前記データベ
ース・マネージャが、前記それぞれのクラスタ化係数に
よって示される相対効率に基づいて、前記データベース
の照会のために前記第1索引および前記第2索引の1つ
を選択する、請求項1に記載の装置。 - 【請求項3】前記データベース・マネージャが、前記そ
れぞれのクラスタ化係数によって示される相対効率に基
づいて、前記データベースの照会のために前記第1索引
および前記第2索引の1つを選択する、請求項1に記載
の装置。 - 【請求項4】前記クラスタ化係数計算機構が、さらに、
前記選択された索引の異なる範囲での前記クラスタ化係
数の分布を判定する、請求項1に記載の装置。 - 【請求項5】前記クラスタ化係数計算機構が、前記ブロ
ック・サンプリングから生成されたキーと前記キーに対
応するページとの順序付けられたリストから前記少なく
とも1つの行列を生成する、請求項1に記載の装置。 - 【請求項6】前記クラスタ化係数計算機構が、少なくと
も1つのディジタル画像圧縮技法を使用して、前記少な
くとも1つの行列のサイズを縮小する、請求項1に記載
の装置。 - 【請求項7】前記ディジタル画像圧縮技法が、特異値分
解を含む、請求項6に記載の装置。 - 【請求項8】少なくとも1つのプロセッサと、 前記少なくとも1つのプロセッサに結合されたメモリ
と、 前記メモリ内に常駐するデータベースであって、それぞ
れが少なくとも1つのキーと前記キーを満足する前記デ
ータベース内の少なくとも1つの対応するレコードへの
参照とを有する複数の索引を含み、さらに、前記データ
ベースへの照会を管理するデータベース・マネージャを
含む、データベースと、 前記メモリ内に常駐し、前記少なくとも1つのプロセッ
サによって実行されるクラスタ化係数計算機構であっ
て、前記クラスタ化係数計算機構が、前記データベース
内の選択された索引からの複数のランダムな物理データ
・ページのブロック・サンプリングを実行し、前記ブロ
ック・サンプリングからのキーの、前記キーに対応する
ページを伴う順序付きリストを生成し、前記順序付きリ
ストから2次元ビットマップを生成し、少なくとも1つ
の行列を生成するために前記2次元ビットマップを処理
し、少なくとも1つのディジタル画像圧縮技法を使用し
て前記少なくとも1つの行列のサイズを縮小し、前記選
択された索引の指定された範囲に関するクラスタ化係数
を判定するために前記縮小された行列を処理し、前記ク
ラスタ化係数計算機構が、前記データベースの第1索引
内の第1範囲に関する前記クラスタ化係数を判定し、前
記データベースの第2索引内の第2範囲に関する前記ク
ラスタ化係数を判定する、クラスタ化係数計算機構とを
含み、前記データベース・マネージャが、前記第1索引
の前記クラスタ化係数を前記第2索引の前記クラスタ化
係数と比較することによって、前記第2索引と比較した
前記第1索引の相対効率を判定し、前記データベース・
マネージャが、前記それぞれのクラスタ化係数によって
示される相対効率に基づいて、前記データベースの照会
のために前記第1索引および前記第2索引の1つを選択
する装置。 - 【請求項9】データベース内の指定された範囲に関する
クラスタ化係数を判定する方法であって、 (A)前記指定された範囲から複数のランダムな物理デ
ータ・ページをブロック・サンプリングするステップ
と、 (B)前記ブロック・サンプリングでの情報から少なく
とも1つの行列を生成するステップと、 (C)前記データベースの前記指定された範囲に関する
クラスタ化係数を判定するために前記少なくとも1つの
行列を処理するステップとを含む方法。 - 【請求項10】前記データベース内の前記指定された範
囲が、前記データベースの索引の少なくとも一部を含
む、請求項9に記載の方法。 - 【請求項11】さらに、前記データベースの異なる範囲
での前記クラスタ化係数の分布を判定するステップを含
む、請求項9に記載の方法。 - 【請求項12】ステップ(B)が、 (B1)前記ブロック・サンプリングからのキーの、前
記キーに対応するページを伴う順序付きリストを生成す
るステップと、 (B2)前記順序付きリストから2次元ビットマップを
生成するステップと、 (B3)前記少なくとも1つの行列を生成するために前
記2次元ビットマップを処理するステップとを含む、請
求項9に記載の方法。 - 【請求項13】少なくとも1つのディジタル画像圧縮技
法を使用して前記少なくとも1つの行列のサイズを縮小
するステップをさらに含む、請求項9に記載の方法。 - 【請求項14】前記ディジタル画像圧縮技法が、特異値
分解を含む、請求項13に記載の方法。 - 【請求項15】1回目に、第1索引に関するクラスタ化
係数を判定するために、ステップ(A)、(B)、およ
び(C)が実行され、 2回目に、第2索引に関するクラスタ化係数を判定する
ために、ステップ(A)、(B)、および(C)が実行
され、 前記第1索引および前記第2索引の前記クラスタ化係数
に基づいて、前記データベースの照会のために前記第1
索引および前記第2索引の1つを選択するステップをさ
らに含む請求項9に記載の方法。 - 【請求項16】データベース内の複数の範囲に関するク
ラスタ化係数分布を判定する方法であって、 (A)前記データベースから複数のランダムな物理デー
タ・ページをブロック・サンプリングするステップと、 (B)前記ブロック・サンプリングからのキーの、前記
キーに対応するページを伴う順序付きリストを生成する
ステップと、 (C)前記順序付きリストから2次元ビットマップを生
成するステップと、 (D)少なくとも1つの行列を生成するために前記2次
元ビットマップを処理するステップと (E)少なくとも1つのディジタル画像圧縮技法を使用
して前記少なくとも1つの行列のサイズを縮小するステ
ップと、 (F)前記データベース内の指定された範囲に関するク
ラスタ化係数を判定するために前記少なくとも1つの行
列を処理するステップと、 (G)前記データベース内の前記複数の範囲のそれぞれ
に関するクラスタ化係数を判定するためにステップ
(A)から(F)を繰り返すステップとを含む方法。 - 【請求項17】データベース内の複数のランダムな物理
データ・ページのブロック・サンプリングを実行し、前
記ブロック・サンプリングでの情報から少なくとも1つ
の行列を生成し、前記データベース内の指定された範囲
に関するクラスタ化係数を判定するために前記少なくと
も1つの行列を処理する、クラスタ化係数計算手順をコ
ンピュータに実行させるためのプログラムを記録したコ
ンピュータ可読記録媒体。 - 【請求項18】前記クラスタ化係数計算手順が、第1索
引内の第1範囲に関する前記クラスタ化係数を判定し、
第2索引内の第2範囲に関する前記クラスタ化係数を判
定し、前記第1索引の前記クラスタ化係数を前記第2索
引の前記クラスタ化係数と比較することによって、前記
第2索引と比較した前記第1索引の相対効率を判定する
手順である、請求項17に記載の記録媒体。 - 【請求項19】前記信号担持媒体上に常駐し、前記それ
ぞれのクラスタ化係数によって示される相対効率に基づ
いて、前記データベースの照会のために前記第1索引お
よび前記第2索引の1つを選択する、データベース・マ
ネージャをさらに含む、請求項17に記載の記録媒体。 - 【請求項20】前記クラスタ化係数計算手順が、さら
に、前記選択された索引の異なる範囲での前記クラスタ
化係数の分布を判定する、請求項17に記載の記録媒
体。 - 【請求項21】前記クラスタ化係数計算手順が、前記ブ
ロック・サンプリングから生成されたキーと前記キーに
対応するページとの順序付きリストから前記少なくとも
1つの行列を生成する、請求項17に記載の記録媒体。 - 【請求項22】前記クラスタ化係数計算手順が、少なく
とも1つのディジタル画像圧縮技法を使用して前記少な
くとも1つの行列のサイズを縮小する、請求項17に記
載の記録媒体。 - 【請求項23】前記ディジタル画像圧縮技法が、特異値
分解を含む、請求項22に記載の記録媒体。 - 【請求項24】データベースであって、 (A)データベース内の選択された索引からの複数のラ
ンダムな物理データ・ページのブロック・サンプリング
を実行し、前記ブロック・サンプリングからのキーの、
前記キーに対応するページを伴う順序付きリストを生成
し、前記順序付きリストから2次元ビットマップを生成
し、少なくとも1つの行列を生成するために前記2次元
ビットマップを処理し、少なくとも1つのディジタル画
像圧縮技法を使用して前記少なくとも1つの行列のサイ
ズを縮小し、前記選択された索引の指定された範囲に関
するクラスタ化係数を判定するために前記縮小された行
列を処理するクラスタ化係数計算機構であって、前記ク
ラスタ化係数計算機構が、前記データベースの第1索引
内の第1範囲に関する前記クラスタ化係数を判定し、前
記データベースの第2索引内の第2範囲に関する前記ク
ラスタ化係数を判定する、クラスタ化係数計算機構と、 (B)前記第1索引の前記クラスタ化係数を前記第2索
引の前記クラスタ化係数と比較することによって、前記
第2索引と比較した前記第1索引の相対効率を判定する
データベース・マネージャであって、前記データベース
・マネージャが、前記それぞれのクラスタ化係数によっ
て示される前記相対効率に基づいて、前記データベース
の照会のために前記第1索引および前記第2索引の1つ
を選択する、データベース・マネージャとを含むデータ
ベースが記録されたコンピュータ可読記録媒体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/818044 | 2001-03-27 | ||
US09/818,044 US6785684B2 (en) | 2001-03-27 | 2001-03-27 | Apparatus and method for determining clustering factor in a database using block level sampling |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002342136A true JP2002342136A (ja) | 2002-11-29 |
JP3798719B2 JP3798719B2 (ja) | 2006-07-19 |
Family
ID=25224505
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002085100A Expired - Fee Related JP3798719B2 (ja) | 2001-03-27 | 2002-03-26 | ブロック・レベル・サンプリングを使用してデータベースのクラスタ化係数を判定する装置および方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US6785684B2 (ja) |
JP (1) | JP3798719B2 (ja) |
CA (1) | CA2373224A1 (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7356568B2 (en) | 2002-12-12 | 2008-04-08 | International Business Machines Corporation | Method, processing unit and data processing system for microprocessor communication in a multi-processor system |
US7359932B2 (en) | 2002-12-12 | 2008-04-15 | International Business Machines Corporation | Method and data processing system for microprocessor communication in a cluster-based multi-processor system |
US7493417B2 (en) | 2002-12-12 | 2009-02-17 | International Business Machines Corporation | Method and data processing system for microprocessor communication using a processor interconnect in a multi-processor system |
US7734877B2 (en) | 2002-12-12 | 2010-06-08 | International Business Machines Corporation | Method and data processing system for processor-to-processor communication in a clustered multi-processor system |
JP2011107814A (ja) * | 2009-11-13 | 2011-06-02 | Hitachi Ltd | データベース管理方法、データベース管理装置及びデータベース管理プログラム |
CN110309119A (zh) * | 2013-03-13 | 2019-10-08 | 萨勒斯福斯通讯有限公司 | 用于实现数据上传、处理和预测查询api公开的系统、方法和装置 |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030005087A1 (en) * | 2001-05-24 | 2003-01-02 | Microsoft Corporation | Server side sampling of databases |
US7437397B1 (en) * | 2003-04-10 | 2008-10-14 | At&T Intellectual Property Ii, L.P. | Apparatus and method for correlating synchronous and asynchronous data streams |
US20050246330A1 (en) * | 2004-03-05 | 2005-11-03 | Giang Phan H | System and method for blocking key selection |
US7406477B2 (en) * | 2004-03-12 | 2008-07-29 | Sybase, Inc. | Database system with methodology for automated determination and selection of optimal indexes |
US20050223019A1 (en) * | 2004-03-31 | 2005-10-06 | Microsoft Corporation | Block-level sampling in statistics estimation |
US20060064365A1 (en) * | 2004-09-21 | 2006-03-23 | Yancey William F | System and method for audit sampling |
US7966343B2 (en) * | 2008-04-07 | 2011-06-21 | Teradata Us, Inc. | Accessing data in a column store database based on hardware compatible data structures |
US8176021B2 (en) * | 2008-06-02 | 2012-05-08 | Microsoft Corporation | Optimized reverse key indexes |
US8433959B1 (en) | 2009-09-09 | 2013-04-30 | The United States Of America As Represented By The Secretary Of The Navy | Method for determining hard drive contents through statistical drive sampling |
US8626770B2 (en) | 2010-05-03 | 2014-01-07 | International Business Machines Corporation | Iceberg query evaluation implementing a compressed bitmap index |
US8341181B2 (en) * | 2010-10-21 | 2012-12-25 | Unisys Corporation | Method for performance tuning a database |
US9021050B2 (en) * | 2012-08-31 | 2015-04-28 | Yume, Inc. | Network service system and method with off-heap caching |
CN103502957B (zh) * | 2012-12-28 | 2016-07-06 | 华为技术有限公司 | 数据处理方法及装置 |
US9262938B2 (en) | 2013-03-15 | 2016-02-16 | International Business Machines Corporation | Combining different type coercion components for deferred type evaluation |
CN106227739B (zh) * | 2016-07-13 | 2020-01-21 | 克拉玛依红有软件有限责任公司 | 一种实现基于多任务的数据请求方法 |
US10817540B2 (en) * | 2016-09-02 | 2020-10-27 | Snowflake Inc. | Incremental clustering maintenance of a table |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5544352A (en) * | 1993-06-14 | 1996-08-06 | Libertech, Inc. | Method and apparatus for indexing, searching and displaying data |
US5926812A (en) * | 1996-06-20 | 1999-07-20 | Mantra Technologies, Inc. | Document extraction and comparison method with applications to automatic personalized database searching |
US6807537B1 (en) * | 1997-12-04 | 2004-10-19 | Microsoft Corporation | Mixtures of Bayesian networks |
US6389436B1 (en) * | 1997-12-15 | 2002-05-14 | International Business Machines Corporation | Enhanced hypertext categorization using hyperlinks |
US6374251B1 (en) * | 1998-03-17 | 2002-04-16 | Microsoft Corporation | Scalable system for clustering of large databases |
US6049797A (en) * | 1998-04-07 | 2000-04-11 | Lucent Technologies, Inc. | Method, apparatus and programmed medium for clustering databases with categorical attributes |
US6347313B1 (en) * | 1999-03-01 | 2002-02-12 | Hewlett-Packard Company | Information embedding based on user relevance feedback for object retrieval |
US6591007B1 (en) * | 1999-11-16 | 2003-07-08 | International Business Machines Corporation | Method and apparatus for representing colored surfaces via a surface color code book |
US6633882B1 (en) * | 2000-06-29 | 2003-10-14 | Microsoft Corporation | Multi-dimensional database record compression utilizing optimized cluster models |
US6728728B2 (en) * | 2000-07-24 | 2004-04-27 | Israel Spiegler | Unified binary model and methodology for knowledge representation and for data and information mining |
US6654743B1 (en) * | 2000-11-13 | 2003-11-25 | Xerox Corporation | Robust clustering of web documents |
US6519591B1 (en) * | 2000-12-22 | 2003-02-11 | Ncr Corporation | Vertical implementation of expectation-maximization algorithm in SQL for performing clustering in very large databases |
-
2001
- 2001-03-27 US US09/818,044 patent/US6785684B2/en not_active Expired - Fee Related
-
2002
- 2002-02-25 CA CA002373224A patent/CA2373224A1/en not_active Abandoned
- 2002-03-26 JP JP2002085100A patent/JP3798719B2/ja not_active Expired - Fee Related
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7356568B2 (en) | 2002-12-12 | 2008-04-08 | International Business Machines Corporation | Method, processing unit and data processing system for microprocessor communication in a multi-processor system |
US7359932B2 (en) | 2002-12-12 | 2008-04-15 | International Business Machines Corporation | Method and data processing system for microprocessor communication in a cluster-based multi-processor system |
US7493417B2 (en) | 2002-12-12 | 2009-02-17 | International Business Machines Corporation | Method and data processing system for microprocessor communication using a processor interconnect in a multi-processor system |
US7698373B2 (en) | 2002-12-12 | 2010-04-13 | International Business Machines Corporation | Method, processing unit and data processing system for microprocessor communication in a multi-processor system |
US7734877B2 (en) | 2002-12-12 | 2010-06-08 | International Business Machines Corporation | Method and data processing system for processor-to-processor communication in a clustered multi-processor system |
JP2011107814A (ja) * | 2009-11-13 | 2011-06-02 | Hitachi Ltd | データベース管理方法、データベース管理装置及びデータベース管理プログラム |
CN110309119A (zh) * | 2013-03-13 | 2019-10-08 | 萨勒斯福斯通讯有限公司 | 用于实现数据上传、处理和预测查询api公开的系统、方法和装置 |
CN110309119B (zh) * | 2013-03-13 | 2023-08-22 | 硕动力公司 | 用于实现数据上传、处理和预测查询api公开的系统、方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CA2373224A1 (en) | 2002-09-27 |
US6785684B2 (en) | 2004-08-31 |
JP3798719B2 (ja) | 2006-07-19 |
US20020188601A1 (en) | 2002-12-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3798719B2 (ja) | ブロック・レベル・サンプリングを使用してデータベースのクラスタ化係数を判定する装置および方法 | |
JP6639420B2 (ja) | フラッシュ最適化データ・レイアウトのための方法、フラッシュ最適化記憶のための装置、およびコンピュータ・プログラム | |
US7987200B2 (en) | Method and apparatus for predicting selectivity of database query join conditions using hypothetical query predicates having skewed value constants | |
US8266147B2 (en) | Methods and systems for database organization | |
US7401073B2 (en) | Term-statistics modification for category-based search | |
US5978788A (en) | System and method for generating multi-representations of a data cube | |
US7567952B2 (en) | Optimizing a computer database query that fetches n rows | |
US20070239673A1 (en) | Removing nodes from a query tree based on a result set | |
US20090193042A1 (en) | System and computer program product for automated design of row compression on tables in a relational database | |
US9176995B2 (en) | Organization of data within a database | |
US20080071843A1 (en) | Systems and methods for indexing and visualization of high-dimensional data via dimension reorderings | |
JP2008525897A (ja) | 適応型クエリ識別及び加速のためのシステム及び方法 | |
JP2005011042A (ja) | データ検索方法、データ検索装置、データ検索プログラムおよびコンピュータで読み取り可能な記録媒体 | |
US11720563B1 (en) | Data storage and retrieval system for a cloud-based, multi-tenant application | |
US7925617B2 (en) | Efficiency in processing queries directed to static data sets | |
US20230153286A1 (en) | Method and system for hybrid query based on cloud analysis scene, and storage medium | |
US7756853B2 (en) | Frequent itemset counting using subsets of bitmaps | |
CN113625967B (zh) | 数据存储方法、数据查询方法及服务器 | |
US20080215538A1 (en) | Data ordering for derived columns in a database system | |
JP2004046612A (ja) | データマッチング方法、データマッチング装置、データマッチングプログラムおよびコンピュータで読み取り可能な記録媒体 | |
CN108304499B (zh) | 一种sql连接操作中谓词下推的方法、终端及介质 | |
JP6562478B2 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
WO2010060179A1 (en) | Methods for organizing a relational database by using clustering operations | |
Yu et al. | Hippo: A Fast, yet Scalable, Database Indexing Approach | |
Leung | Efficient and effective subimage similarity matching for large image databases |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051122 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20060124 Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060124 |
|
RD12 | Notification of acceptance of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7432 Effective date: 20060124 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20060126 |
|
TRDD | Decision of grant or rejection written | ||
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20060331 |
|
RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20060331 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060331 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060420 |
|
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: 20090428 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100428 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |