JPH11134366A - データベースの特異値の数を推定する方法及び装置 - Google Patents

データベースの特異値の数を推定する方法及び装置

Info

Publication number
JPH11134366A
JPH11134366A JP10220985A JP22098598A JPH11134366A JP H11134366 A JPH11134366 A JP H11134366A JP 10220985 A JP10220985 A JP 10220985A JP 22098598 A JP22098598 A JP 22098598A JP H11134366 A JPH11134366 A JP H11134366A
Authority
JP
Japan
Prior art keywords
sample
singular values
database table
size
attributes
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP10220985A
Other languages
English (en)
Inventor
Yan Weipeng
ヤン ウェイペン
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.)
Informix Software Inc
Original Assignee
Informix Software Inc
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 Informix Software Inc filed Critical Informix Software Inc
Publication of JPH11134366A publication Critical patent/JPH11134366A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2462Approximate or statistical queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24542Plan optimisation
    • G06F16/24545Selectivity estimation or determination
    • 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/99931Database or file accessing
    • Y10S707/99932Access augmentation or optimizing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99936Pattern matching access

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Operations Research (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Investigating Or Analysing Biological Materials (AREA)

Abstract

(57)【要約】 【課題】 データベースの特異値の数を推定する方法及
び装置を提供する。 【解決手段】 データベース表の特異値の数を推定する
方法及び装置は、データベース表の特異値の数のモデル
を解決するために、表サイズ、サンプルサイズ、及びサ
ンプルの特異値の数に基づいて幾つかの数値法の1つを
選択する。サンプルは、特異値の数をを推定する以外の
目的のために前もって収集されたサンプルのことがあ
り、サンプルの記録の数及びサンプルの特異値の数は、
サンプルが収集されたときに決定されることもある。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、リレーショナルデータ
ベースのクエリー(照会又は問合せ)を最適化する方法
及び装置に関する。
【0002】
【従来の技術】データベースは、情報の集合である。リ
レーショナルデータベースは、ユーザに表の集合である
と理解されているデータベースである。各表は、項目及
び項目の属性をそれぞれ行及び列に並べる。各表の行
は、項目(記録又はタプルとも呼ばれる)に対応し、各
表の列は、項目の属性(フィールド、属性型、又はフィ
ールド型と呼ばれる)に対応する。データベースから情
報を検索するために、データベースシステムのユーザ
は、クエリーを構築する。クエリーは、データベースか
ら検索する情報を指定する1つ又は複数のオペレーショ
ンを含む。システムは、クエリーを実行するためにデー
タベースの表を走査する。
【0003】データベースシステムは、クエリーオペレ
ーションの順序を適切に並べることによりクエリーを最
適化できる。属性に対する特異値の数は、データベース
がクエリーを最適化するのに用いる1つの統計データで
ある。特異値の実際の数が不明の場合、データベースシ
ステムは、推定値を用いることができる。属性に対する
特異値の数の正確な推定値は、多重結合演算を含むクエ
リーを最適化する方法において有用である。データベー
スシステムは、表を結合する順序を決定する方法におい
て推定値を用いることができる。属性に対する特異値の
数の正確な推定値は、項目を再び順序づけかつグループ
化する方法においても又有用である。
【0004】
【発明が解決しようとする課題】本発明は、データベー
ス表の属性に対する特異値の数を推定するコンピュータ
を利用した方法を提供することをその課題とする。ま
た、本発明は、コンピュータ読み取り可能媒体に常駐
し、データベース表の属性に対する特異値の数を推定す
るためのコンピュータを構成するコンピュータプログラ
ムを提供することをその課題とする。
【0005】
【課題を解決するための手段】本発明の上記課題は、リ
レーショナルデータベースシステムにおいて、データベ
ース表の属性に対する特異値の数を推定するコンピュー
タを利用した方法であって、前記データベース表のサイ
ズを決定し、前記データベース表から記録のサンプルを
取得しかつ前記サンプルの記録の数及び前記サンプルの
属性に対する特異値の数を決定し、前記データベース表
の属性に対する特異値の数の推定値を計算するために該
データベース表の該属性に対する該特異値の数のモデル
を解く複数の数値法の1つを選択するために該データベ
ース表の前記サイズ、前記サンプルの前記サイズ、及び
前記サンプルの属性に対する特異値の数を用いる段階を
具備するとする方法によって達成される。
【0006】本発明の方法では、前記サンプルは、前記
データベース表の特異値の数を推定する以外の目的のた
めに予め収集されたように構成してもよい。本発明の方
法では、前記サンプルは、予め収集されかつ当該サンプ
ルの前記記録の数及び該サンプルの前記特異値の数は、
該サンプルが収集されたときに決定されたように構成し
てもよい。本発明の方法では、前記モデルは、0 = 1 -
N/n * (1-(1-t/T)(T/N) ) であり、ここでNは、前記デ
ータベース表の前記属性に対する前記特異値の数であ
り、nは、前記サンプルの前記属性に対する前記特異値
の数であり、tは、前記サンプルの前記記録の数であ
り、Tは、前記データベース表の前記サイズであり、か
つここで、n,t,及びTの値を与えて、Nを解くこと
が、該データベース表の該特異値の数の推定値をもたら
すように構成してもよい。
【0007】本発明の方法では、前記複数の数値法は、
割線法及び2分法を含むように構成してもよい。本発明
の方法では、前記複数の数値法は、割線法及び2分法を
含むように構成してもよい。本発明の方法では、前記第
1の選択した数値法を用いてエラーが生じるならば、第
2の数値法を選択しかつ用いる段階を更に具備するよう
に構成してもよい。本発明の方法では、前記第2の選択
した数値法を用いてエラーが生じるならば、第3の数値
法を選択しかつ用いる段階を更に具備するように構成し
てもよい。本発明の方法では、前記サンプルサイズで除
したサンプルの特異値の数は、しきい値と比較され、商
がしきい値以下ならば、選択数値法として割線法を用
い、商がしきい値より大きいか又は割線法がエラーをも
たらすならば、選択数値法として2分法を用い、2分法
がエラーをもたらすならば、選択数値法としてニュート
ン法を用いるように構成してもよい。
【0008】本発明の方法では、ニュートン法がエラー
をもたらすならば、前記特異値の推定数は、前記サンプ
ルの前記特異値の数と前記データベース表のサイズの和
の半分であるように構成してもよい。本発明の方法で
は、前記特異値の推定数が前記サンプルの前記特異値の
数より小さいならば、前記特異値の推定数は、前記サン
プルの前記特異値の数に設定され、かつ前記特異値の推
定数が前記データベース表のサイズより大きいならば、
前記特異値の推定値は、前記データベース表のサイズに
設定されるように構成してもよい。本発明の方法では、
前記しきい値は、0.32であるように構成してもよい。本
発明の方法では、前記サンプルは、前記データベース表
の特異値を推定する以外の目的のために予め収集され、
前記サンプルの前記記録の数及び前記サンプルの前記特
異値の数は、サンプルが収集されたときに決定され、か
つ数値法の適用から生じるエラーは、数値法が収束でき
ないことを具備するように構成してもよい。
【0009】本発明の方法では、前記データベースクエ
リーオペレーションを最適化するために前記データベー
スの前記属性に対する前記特異値の数の推定値を用いる
段階を更に具備するように構成してもよい。また、本発
明の上記課題は、データベース表の属性に対する特異値
の数を推定するコンピュータを利用した方法であって、
Nが前記データベース表の前記属性に対する特異値の数
であり、nが前記データベース表からのサンプルの属性
に対する特異値の数であり、tが前記サンプルの記録の
数であり、Tが前記データベース表のサイズであるよう
な、前記データベース表の前記属性に対する特異値の数
のモデル0 = 1 - N/n * (1-(1-t/T)(T/N ) ) を用いて、
かつ前記モデルを満足するNに対する値を見つけるため
に数値法を用いることによって、n,t,及びTの値を
与えて、Nについて解く段階を具備し、前記Nに対して
見つけられた値は、前記データベース表の属性に対する
特異値の数の推定値である方法によって達成される。
【0010】更に、本発明の上記課題は、コンピュータ
読み取り可能媒体に存在しているコンピュータプログラ
ムであって、コンピュータに、データベース表のサイズ
を決定させ、前記データベース表から記録のサンプルを
取得させ、前記サンプルの記録の数及び前記サンプルの
属性に対する特異値の数を決定させ、かつ前記データベ
ース表の属性に対する特異値の数の推定値を計算するた
めに前記データベース表の属性に対する特異値の数のモ
デルを解くべく複数の数値法の1つを選択するために、
前記データベース表のサイズ、前記サンプルのサイズ、
及び前記サンプルの属性に対する特異値の数を用いらせ
る命令を備えているコンピュータプログラムによって達
成される。
【0011】本発明のコンピュータプログラムでは、前
記サンプルは、前記データベース表の特異値の数を推定
する以外の目的のために予め収集されたように構成して
もよい。本発明のコンピュータプログラムでは、前記サ
ンプルは、予め収集され、かつ該サンプルの記録の数及
び該サンプルの特異値の数は、該サンプルが収集された
ときに決定されたように構成してもよい。本発明のコン
ピュータプログラムでは、前記モデルは、0 = 1 - N/n
* (1-(1-t/T)(T/N) ) であり、ここでNは、前記データ
ベース表の属性に対する特異値の数であり、nは、前記
サンプルの属性に対する特異値の数であり、tは、前記
サンプルの記録の数であり、Tは、前記データベース表
のサイズであり、かつここでn,t,及びTの値を与え
てNを解くことが、前記データベース表の特異値の数の
推定値をもたらすように構成してもよい。
【0012】本発明のコンピュータプログラムでは、前
記数値法が割線法及び2分法を含むように構成してもよ
い。本発明のコンピュータプログラムでは、前記数値法
が割線法及び2分法を含むように構成してもよい。本発
明のコンピュータプログラムでは、第1の選択数値法を
用いてエラーが生じるならば、第2の数値法を選択しか
つ用いる段階を更に具備するように構成してもよい。本
発明のコンピュータプログラムでは、第2の選択数値法
を用いてエラーが生じるならば、第3の数値法を選択し
かつ用いる段階を具備するように構成してもよい。
【0013】本発明のコンピュータプログラムでは、前
記サンプルサイズで除算したサンプルの特異値の数がし
きい値と比較され、商がしきい値以下ならば、選択数値
法として割線法を用い、商がしきい値の値より大きいか
又は割線法がエラーをもたらすならば、選択数値法とし
て2分法を用い、かつ2分法がエラーをもたらすなら
ば、選択数値法としてニュートン法を用いるように構成
してもよい。本発明のコンピュータプログラムでは、前
記ニュートン法がエラーをもたらすならば、特異値の推
定数は、前記サンプルの特異値の数と前記データベース
表のサイズの和の半分であるように構成してもよい。本
発明のコンピュータプログラムでは、前記特異値の推定
数がサンプルの特異値の数より小さいならば、該特異値
の推定数は、該サンプルの特異値の数に設定され、かつ
前記特異値の推定数が前記データベース表のサイズより
大きいならば、該特異値の推定値は、前記データベース
表のサイズに設定されるように構成してもよい。
【0014】本発明のコンピュータプログラムでは、前
記しきい値は、0.32であってもよい。本発明のコンピュ
ータプログラムでは、前記サンプルは、前記データベー
ス表の特異値を推定する以外の目的のために予め収集さ
れ、前記サンプルの記録の数及び前記サンプルの特異値
の数は、該サンプルが収集されたときに決定され、かつ
数値法の適用から生じるエラーは、数値法が収束できな
いことを具備するように構成してもよい。本発明のコン
ピュータプログラムでは、前記データベースクエリーオ
ペレーションを最適化するためにデータベースの属性に
対する特異値の数の推定値を用いる段階を更に具備する
ように構成してもよい。
【0015】また、本発明の上記目的は、コンピュータ
読み取り可能媒体に存在しているコンピュータプログラ
ムであって、コンピュータに、前記データベース表の属
性に対する特異値のモデルを用いらせ、モデルは、0= 1
- N/n * (1-(1-t/T)(T/N) ) であり、ここでNは、デ
ータベース表の属性に対する特異値の数であり、nは、
データベース表からのサンプルの属性に対する特異値の
数であり、tは、サンプルの記録の数であり、Tは、デ
ータベース表のサイズであり、かつ前記モデルを満足す
るNに対する値を見つけるために、数値法を用いること
によりn,t,及びTの値を与えてNを解かせる命令を
備えており、前記Nに対し見つけられた値は、前記デー
タベース表の属性に対する特異値の数の推定値であるコ
ンピュータプログラムによって達成される。
【0016】
【発明の実施の形態】一形態において、本発明は、デー
タベース表の属性に対する特異値の数を推定するコンピ
ュータを利用した方法に関する。別の形態においては、
本発明は、コンピュータ読み取り可能媒体に常駐し、デ
ータベース表の属性に対する特異値の数を推定するため
のコンピュータを構成するコンピュータプログラムに関
する。両方の形態において、推定は、データベース表か
ら記録のサンプルを用い、サンプルの記録の数を決定
し、サンプルの属性に対する特異値の数を決定し、デー
タベース表のサイズを決定し、データベース表の特異値
の数の推定を計算するために、データベース表の属性に
対する特異値の数のモデルを解決する複数の数値法の1
つを選択する。
【0017】本発明の他の形態においては、記録のサン
プルは、データベース表の特異値を推定する以外の目的
で収集された記録の前もって収集されたサンプルであっ
て、かつサンプルの記録の数及びサンプルの特異値の数
は、サンプルが収集された時に決定されたものである。
本発明は、モデル 0 = 1 - N/n * (1-(1-t/T) (T/N) )
を用いることができるが、ここでNは、データベース表
の属性に対する特異値の数であり、nは、サンプルの属
性に対する特異値の数であり、tは、サンプルの記録の
数であり、Tは、データベース表のサイズであって、か
つここで、n,t,及びTの値を与えられてNを求めて
解決することが、データベース表の特異値の数の推定値
を生成する。本発明は、モデルを解決するために1つ又
は複数の数値法を用いることができ、かつ本発明は、平
方根を探索するために、例えば割線法、2分法、及びニ
ュートン法を用いることができる。
【0018】本発明は、幾つかの利点を有する。本発明
は、置換を伴うサンプリングに基づく単純化されたモデ
ルを用い、かつ正確な推定値を供給する。本発明は、比
較的小サンプルサイズを用いて精度を達成している。例
えば、記録のサンプルの記録の数は、データベース表の
サイズに関係なく、1,000 の記録から 5,000の記録の範
囲にある。本発明は、他の目的のために収集された小サ
ンプルを再使用し、かつ前もって収集されたサンプルの
特異値の数のような、データを再使用する。本発明の他
の特徴及び利点は、以下の説明及び各請求項から明かに
なるであろう。
【0019】
【実施例】図1は、リレーショナルデータベースシステ
ムを支援し、リレーショナルデータベース表、以後単に
表と呼ばれる、を記憶するのに適切なプラットフォーム
であるコンピュータシステム10を示す。コンピュータ
システム10は、1つ又は複数のコンピュータ12(そ
れぞれ、コンピュータ12a及び12b)を含む。複数
コンピュータは、コンピュータのクラスタを作成する高
速バックボーン、又はコンピュータを連結する局所又は
広域通信ネットワークコネクションであるリンク14に
より接続されてよい。コンピュータは、1つ又は複数の
永続データ記憶装置16aから16cを有する。データ
ベースは、「システムカタログ」と呼ばれる関係表の集
合を初期に含んでいる。システムカタログは、データベ
ースの全ての様相を記述し、全ての表18aからdの定
義を含んでいる。システムカタログは、又システム統計
データ、例えば、属性の特異値の数を記憶している。デ
ータベースシステムは、データベース表の情報を処理す
る速度を増すためにクエリーを最適化する。図2で示さ
れているように、システムがクエリーを受け取った後に
(ステップ20)、システムは、クエリーを最適化する
(ステップ22)。クエリー最適化のための1つの重要
な統計データは、表の属性に対する特異値の数である。
クエリー最適化プロセスは、与えられた属性に対する特
異値の真数を用いることができるし、又は属性に対する
特異値の数の推定値を取得するころができる(ステップ
30)。クエリーを最適化した後に、システムは、クエ
リーを実行する(ステップ24)。
【0020】図3に示されているように、属性に対する
特異値の数を推定する方法は、表から記録のサンプルを
検索することから始まる(ステップ32)。通常、デー
タベースシステムは、事前設定の時間間隔で、又は要求
時にサンプルを収集する。データベースシステムは、サ
ンプルを調べ、かつサンプルの属性に対する特異値の数
を決定する(ステップ34)。サンプルの特異値の数に
基づき、システムは、以下に説明されるように、表全体
の属性に対する特異値の数を推定する(ステップ3
6)。推定は、データが一様に分散されていると想定
し、かつサンプリングが置換を終了したと想定するモデ
ルに基づいている。これは、本法が実際には置換のない
サンプリングを、用いるにしても行われる。置換を伴う
サンプリングを想定することは、モデルを単純化し、そ
れ故にモデルを解決するのにかかる時間量を軽減し、数
学的エラーを生成する可能性を軽減し、かつモデルを解
決するのに選択された数値的技法が収束できないであろ
う可能性を軽減する。モデルは、n = N * (1-(1-t/T)
(T/N) ) と表され、ここでnは、サンプルの属性に対す
る特異値の数であり、Nは、表の属性に対する特異値の
数であり、tは、サンプルサイズであり、Tは、表のサ
イズである。
【0021】本方法は、関数の平方根 f(N) = 1-N/n *
(1-(1-t/T)(T/N) ) を探索することにより属性に対する
特異値の数を推定する。関数は、サンプルに現れる表の
記録の確率が t/Tであると、第1に考えることにより導
かれた。それ故に、表の記録がサンプルに現れない確率
は、1-t/T である。表の特定の属性値の出現の数は、一
様であると想定して、T/N であると推定される。従っ
て、特定の属性値がサンプルに現れない確率は、(1-t/
T) T/N であり、特定の属性値がサンプルに現れる確率
は、1-(1-t/T) T/N である。最後に、サンプルの属性に
対する特異値の数は、n = N * (1-(1-t/T) (T/N) ) で
あり、もしくは、0 = f(N) = 1-N/n * (1-(1-t/T)
(T/N) ) と表される。本方法は、Nを解決するために幾
つかの数値的技法の1つを選択し、表サイズ、サンプル
サイズ、及びサンプルの特異値の数によってある特定の
技法が、他の技法より適切であると認識する。
【0022】本方法により用いられる3つの平方根探索
技法は、割線法、2分法、及びニュートン法である。割
線法は、2点間の線がゼロを通過する場所を決定し、次
の反復に向け点を選択するために、その位置を用いる。
2分法は、2つのブラケティングポイント(即ち、相対
する符号を有する関数値を伴う点)を有する間隔の中間
点を調べ、その中間点の位置を用いて、中間点と同じ符
号を有するブラケティテングポイントを置き換える。ニ
ュートン法は、次の反復に向けて点を選択するために関
数及び微分を用いる。図4に描かれた流れ図に示されて
いるように、方法は、サンプルサイズ、表サイズ、及び
サンプルの特異値の数(即ち、n)を与えられた特異値
の数を推定する。サンプルサイズが表サイズと等しけれ
ば(ステップ40)、特異値の推定数は、サンプルの特
異値の数である(ステップ42)。サンプルの特異値の
数がサンプルサイズと等しければ(ステップ44)、推
定は、サンプルの特異値の数と表のサイズの和の半分で
ある(ステップ46)。
【0023】もしくは、サンプルサイズで除したサンプ
ルの特異値の数が、実験により得られたしきい値の値と
等しいか又は以下であるならば(ステップ48)、関数
の平方根を探索するために割線法が用いられるが(ステ
ップ50)、それが推定値である(ステップ52)。
(本実施例に関して、しきい値は、0.32の値を有すると
決定された)。サンプルサイズで除したサンプルの特異
値の数がしきい値の値を超える(ステップ48)か又は
割線法がエラーを生成するならば、関数の平方根を探索
するために2分法が用いられる(ステップ54)が、そ
れが推定値である(ステップ52)。2分法がエラーを
生成するならば、関数の平方根を探索するためにニュー
トン法が用いられる(ステップ56)が、それが推定値
である(ステップ52)。ニュートン法がエラーを生成
するならば、推定値は、サンプルの特異値の数と表のサ
イズの和の半分である(ステップ58)。
【0024】数値法が生成することがある1つの型のエ
ラーは、浮動小数点又はゼロ除算エラーのような数学的
エラーである。数値法は、さらに平方根探索技法が収束
できない場合に、エラーを生成することがある。最終ス
テップとして、本方法は、推定値がサンプルの値の固有
数に劣らず、かつ実際の表サイズを超えないことを確実
する(ステップ60)。本方法は、表サイズ(即ち、
T)に対する疑似データのパーミュテーション(順
列)、サンプルサイズ(即ち、t)、及び表の属性に対
する特異値の数(即ち、N)を用いて検査された。検査
は、表サイズには 5,000から 1,000,000,000にわたる1
7の値を用いた。検査は、サンプルサイズには 1,000の
ステップで1,000 から 5,000にわたる5つの値を用い
た。検査は、表で特異値の百分率(即ち、N/T*100)を表
す 0.0000000001 から 100にわたる38の値を用いた。
【0025】乱数発生プロセスは、サンプルを生成し
た。乱数発生プロセスは、サンプルサイズ、表サイズ及
び表の特異値の百分率を入力とした。該プロセスは、サ
ンプルの特異値の数を出力した。各検査項目に関して
は、エラーは、数式|(N- est - N)/N|を用いて計算さ
れたが、ここで、N - est は、表の特異値の推定数であ
り、N は,表の特異値の実数である。次の表に示されて
いるように、エラーは、検査データの幾つかの範囲に平
均化された。検査データの全てのパーミュテーション
(順列)に対する平均エラーは、0.552 であった。
【0026】
【表1】
【0027】前表で、第1及び第3列は、サンプルの属
性に対する特異値の百分率に基づき検査項目をまとめた
ものである。第2及び第4列は、それぞれの検査項目に
対するエラーの平均を含んでいる。本方法は、サンプル
サイズが小さい場合でも、高レベルの正確度を達成す
る。これにより本方法は、データベースシステムが他の
目的のために取得するサンプルを再使用することを可能
にしている。例えば、データベースシステムは、属性の
値の分散を示すヒストグラムを計算するために、表サイ
ズに関係なく、サイズが 1,000から 5,000の記録にわた
るサンプルを用いることがある。ヒストグラムを計算す
るために、データベースシステムは、サンプルの特異値
の数を決定したが、それは、対応する表の特異値の数を
決定するために、本方法が再使用できる結果1つであ
る。
【0028】図5で示されているのは、図1に関して前
に説明されたコンピュータシステムプラットフォームで
の使用に適した、コンピュータ102のブロック図であ
る。本発明は、デジタル電子回路で、又はコンピュータ
のハードウェア、ファームウェア、ソフトウェアで、又
はそれらの組み合わせで実施してよい。本発明の装置
は、コンピュータプロセッサによる実行のための機械可
読記憶装置に明白に具体化されたコンピュータプログラ
ム製品で実施してよい。本発明の方法のステップは、入
力データで作動し出力を生成することにより、本発明の
機能を遂行するためのプログラムを実行するコンピュー
タプロセッサにより遂行してよい。合目的プロセッサ1
020は、例として、汎用及び専用マイクロプロセッサ
双方を含む。通常、プロセッサは、読み取り専用メモリ
1022及び、又は読み取り書き込みメモリ1021か
ら、命令及びデータを受け取る。明かに具体化するコン
ピュータプログラム命令に適する記憶装置は、例とし
て、EPROM,EEPROMのような半導体メモリ装
置及びフラッシュメモリ装置、磁気テープ、内部ハード
ディスク及び可変型ディスク1040のような磁気ディ
スク、光磁気ディスク及びCD−ROMディスクを含む
あらゆる型の不揮発性メモリを含む。前述のどれも特別
に設計されるASICS(特定用途向け集積回路)によ
り補足されるか、又はそれに組み込まれてよい。
【0029】他の実施例は、次の請求項の範囲内であ
る。例えば、本発明のステップを施行する順序は、熟練
技術者により変更がされてもなお望ましい結果を得るこ
とが可能である。本発明は、モデルを解決するために他
の数値法を用いることができる。本発明は、多属性値に
対する特異値を探索できる。本発明は、又オブジェクト
関係データベースシステムに適用されるが、そこでは、
属性が複合データ型、即ち、1つ又は複数の既存データ
型から構成されるデータ型のものであり得る。例えば、
文字列及び整数は、人の名前を表す文字列及び人の年齢
を表す整数を有する、複合データ型の名前付きの人を生
成するために、結合編集される。
【0030】
【発明の効果】本発明は、幾つかの利点を有する。本発
明は、置換を伴うサンプリングに基づく単純化されたモ
デルを用い、かつ正確な推定値を供給する。本発明は、
比較的小サンプルサイズを用いて精度を達成している。
例えば、記録のサンプルの記録の数は、データベース表
のサイズに関係なく、1,000 の記録から 5,000の記録の
範囲にある。本発明は、他の目的のために収集された小
サンプルを再使用し、かつ前もって収集されたサンプル
の特異値の数のような、データを再使用する。
【図面の簡単な説明】
【図1】リレーショナルデータベースシステムを支援す
るコンピュータシステムのブロック図である。
【図2】本発明が用いられているコンテキストの流れ図
である。
【図3】本発明における予備段階の流れ図である。
【図4】データベース表の特異値の数のモデルを解決す
る技法を選択する方法の流れ図である。
【図5】データベースシステムの実施例に適するコンピ
ュータシステムプラットフォームのブロック図である。
【符号の説明】
10 コンピュータシステム 12a〜12b コンピュータ 16a〜16c 永続データ記憶装置 18a〜18d 表

Claims (30)

    【特許請求の範囲】
  1. 【請求項1】 リレーショナルデータベースシステムに
    おいて、データベース表の属性に対する特異値の数を推
    定するコンピュータを利用した方法であって、 前記データベース表のサイズを決定し、 前記データベース表から記録のサンプルを取得しかつ前
    記サンプルの記録の数及び前記サンプルの属性に対する
    特異値の数を決定し、 前記データベース表の属性に対する特異値の数の推定値
    を計算するために該データベース表の該属性に対する該
    特異値の数のモデルを解く複数の数値法の1つを選択す
    るために該データベース表の前記サイズ、前記サンプル
    の前記サイズ、及び前記サンプルの属性に対する特異値
    の数を用いる段階を具備することを特徴とする方法。
  2. 【請求項2】 前記サンプルは、前記データベース表の
    特異値の数を推定する以外の目的のために予め収集され
    たことを特徴とする請求項1に記載の方法。
  3. 【請求項3】 前記サンプルは、予め収集されかつ当該
    サンプルの前記記録の数及び該サンプルの前記特異値の
    数は、該サンプルが収集されたときに決定されたことを
    特徴とする請求項1に記載の方法。
  4. 【請求項4】 前記モデルは、0 = 1 - N/n * (1-(1-t/
    T)(T/N) ) であり、ここでNは、前記データベース表の
    前記属性に対する前記特異値の数であり、nは、前記サ
    ンプルの前記属性に対する前記特異値の数であり、t
    は、前記サンプルの前記記録の数であり、Tは、前記デ
    ータベース表の前記サイズであり、かつここで、n,
    t,及びTの値を与えて、Nを解くことが、該データベ
    ース表の該特異値の数の推定値をもたらすことを特徴と
    する請求項1に記載の方法。
  5. 【請求項5】 前記複数の数値法は、割線法及び2分法
    を含むことを特徴とする請求項1に記載の方法。
  6. 【請求項6】 前記複数の数値法は、割線法及び2分法
    を含むことを特徴とする請求項4に記載の方法。
  7. 【請求項7】 前記第1の選択した数値法を用いてエラ
    ーが生じるならば、第2の数値法を選択しかつ用いる段
    階を更に具備することを特徴とする請求項1に記載の方
    法。
  8. 【請求項8】 前記第2の選択した数値法を用いてエラ
    ーが生じるならば、第3の数値法を選択しかつ用いる段
    階を更に具備することを特徴とする請求項7に記載の方
    法。
  9. 【請求項9】 前記サンプルサイズで除したサンプルの
    特異値の数は、しきい値と比較され、商がしきい値以下
    ならば、選択数値法として割線法を用い、商がしきい値
    より大きいか又は割線法がエラーをもたらすならば、選
    択数値法として2分法を用い、2分法がエラーをもたら
    すならば、選択数値法としてニュートン法を用いること
    を特徴とする請求項4に記載の方法。
  10. 【請求項10】 ニュートン法がエラーをもたらすなら
    ば、前記特異値の推定数は、前記サンプルの前記特異値
    の数と前記データベース表のサイズの和の半分であるこ
    とを特徴とする請求項9に記載の方法。
  11. 【請求項11】 前記特異値の推定数が前記サンプルの
    前記特異値の数より小さいならば、前記特異値の推定数
    は、前記サンプルの前記特異値の数に設定され、かつ前
    記特異値の推定数が前記データベース表のサイズより大
    きいならば、前記特異値の推定値は、前記データベース
    表のサイズに設定されることを特徴とする請求項9に記
    載の方法。
  12. 【請求項12】 前記しきい値は、0.32であることを特
    徴とする請求項9に記載の方法。
  13. 【請求項13】 前記サンプルは、前記データベース表
    の特異値を推定する以外の目的のために予め収集され、 前記サンプルの前記記録の数及び前記サンプルの前記特
    異値の数は、サンプルが収集されたときに決定され、か
    つ数値法の適用から生じるエラーは、数値法が収束でき
    ないことを具備することを特徴とする請求項9に記載の
    方法。
  14. 【請求項14】 前記データベースクエリーオペレーシ
    ョンを最適化するために前記データベースの前記属性に
    対する前記特異値の数の推定値を用いる段階を更に具備
    することを特徴とする請求項1に記載の方法。
  15. 【請求項15】 データベース表の属性に対する特異値
    の数を推定するコンピュータを利用した方法であって、 Nが前記データベース表の前記属性に対する特異値の数
    であり、nが前記データベース表からのサンプルの属性
    に対する特異値の数であり、tが前記サンプルの記録の
    数であり、Tが前記データベース表のサイズであるよう
    な、前記データベース表の前記属性に対する特異値の数
    のモデル0 = 1 - N/n * (1-(1-t/T)(T/N ) ) を用いて、
    かつ前記モデルを満足するNに対する値を見つけるため
    に数値法を用いることによって、n,t,及びTの値を
    与えて、Nについて解く段階を具備し、 前記Nに対して見つけられた値は、前記データベース表
    の属性に対する特異値の数の推定値であることを特徴と
    する方法。
  16. 【請求項16】 コンピュータ読み取り可能媒体に存在
    しているコンピュータプログラムであって、コンピュー
    タに、 データベース表のサイズを決定させ、 前記データベース表から記録のサンプルを取得させ、前
    記サンプルの記録の数及び前記サンプルの属性に対する
    特異値の数を決定させ、かつ前記データベース表の属性
    に対する特異値の数の推定値を計算するために前記デー
    タベース表の属性に対する特異値の数のモデルを解くべ
    く複数の数値法の1つを選択するために、前記データベ
    ース表のサイズ、前記サンプルのサイズ、及び前記サン
    プルの属性に対する特異値の数を用いらせる命令を備え
    ていることを特徴とするコンピュータプログラム。
  17. 【請求項17】 前記サンプルは、前記データベース表
    の特異値の数を推定する以外の目的のために予め収集さ
    れたことを特徴とする請求項16に記載のコンピュータ
    プログラム。
  18. 【請求項18】 前記サンプルは、予め収集され、かつ
    該サンプルの記録の数及び該サンプルの特異値の数は、
    該サンプルが収集されたときに決定されたことを特徴と
    する請求項16に記載のコンピュータプログラム。
  19. 【請求項19】 前記モデルは、0 = 1 - N/n * (1-(1-
    t/T)(T/N) ) であり、ここでNは、前記データベース表
    の属性に対する特異値の数であり、nは、前記サンプル
    の属性に対する特異値の数であり、tは、前記サンプル
    の記録の数であり、Tは、前記データベース表のサイズ
    であり、かつここでn,t,及びTの値を与えてNを解
    くことが、前記データベース表の特異値の数の推定値を
    もたらすことを特徴とする請求項16に記載のコンピュ
    ータプログラム。
  20. 【請求項20】 前記数値法が割線法及び2分法を含む
    ことを特徴とする請求項16に記載のコンピュータプロ
    グラム。
  21. 【請求項21】 前記数値法が割線法及び2分法を含む
    ことを特徴とする請求項19に記載のコンピュータプロ
    グラム。
  22. 【請求項22】 第1の選択数値法を用いてエラーが生
    じるならば、第2の数値法を選択しかつ用いる段階を更
    に具備することを特徴とする請求項16に記載のコンピ
    ュータプログラム。
  23. 【請求項23】 第2の選択数値法を用いてエラーが生
    じるならば、第3の数値法を選択しかつ用いる段階を具
    備することを特徴とする請求項22に記載のコンピュー
    タプログラム。
  24. 【請求項24】 前記サンプルサイズで除算したサンプ
    ルの特異値の数がしきい値と比較され、商がしきい値以
    下ならば、選択数値法として割線法を用い、商がしきい
    値の値より大きいか又は割線法がエラーをもたらすなら
    ば、選択数値法として2分法を用い、かつ2分法がエラ
    ーをもたらすならば、選択数値法としてニュートン法を
    用いることを特徴とする請求項19に記載のコンピュー
    タプログラム。
  25. 【請求項25】 前記ニュートン法がエラーをもたらす
    ならば、特異値の推定数は、前記サンプルの特異値の数
    と前記データベース表のサイズの和の半分であることを
    特徴とする請求項24に記載のコンピュータプログラ
    ム。
  26. 【請求項26】 前記特異値の推定数がサンプルの特異
    値の数より小さいならば、該特異値の推定数は、該サン
    プルの特異値の数に設定され、かつ前記特異値の推定数
    が前記データベース表のサイズより大きいならば、該特
    異値の推定値は、前記データベース表のサイズに設定さ
    れることを特徴とする請求項24に記載のコンピュータ
    プログラム。
  27. 【請求項27】 前記しきい値は、0.32であることを特
    徴とする請求項24に記載のコンピュータプログラム。
  28. 【請求項28】 前記サンプルは、前記データベース表
    の特異値を推定する以外の目的のために予め収集され、 前記サンプルの記録の数及び前記サンプルの特異値の数
    は、該サンプルが収集されたときに決定され、かつ数値
    法の適用から生じるエラーは、数値法が収束できないこ
    とを具備することを特徴とする請求項24に記載のコン
    ピュータプログラム。
  29. 【請求項29】 前記データベースクエリーオペレーシ
    ョンを最適化するためにデータベースの属性に対する特
    異値の数の推定値を用いる段階を更に具備することを特
    徴とする請求項16に記載のコンピュータプログラム。
  30. 【請求項30】 コンピュータ読み取り可能媒体に存在
    しているコンピュータプログラムであって、コンピュー
    タに、 前記データベース表の属性に対する特異値のモデルを用
    いらせ、モデルは、0= 1 - N/n * (1-(1-t/T)(T/N) )
    であり、ここでNは、データベース表の属性に対する特
    異値の数であり、nは、データベース表からのサンプル
    の属性に対する特異値の数であり、tは、サンプルの記
    録の数であり、Tは、データベース表のサイズであり、
    かつ前記モデルを満足するNに対する値を見つけるため
    に、数値法を用いることによりn,t,及びTの値を与
    えてNを解かせる命令を備えており、前記Nに対し見つ
    けられた値は、前記データベース表の属性に対する特異
    値の数の推定値であることを特徴とするコンピュータプ
    ログラム。
JP10220985A 1997-06-30 1998-06-30 データベースの特異値の数を推定する方法及び装置 Pending JPH11134366A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/884,931 US5999928A (en) 1997-06-30 1997-06-30 Estimating the number of distinct values for an attribute in a relational database table
US08/884931 1997-06-30

Publications (1)

Publication Number Publication Date
JPH11134366A true JPH11134366A (ja) 1999-05-21

Family

ID=25385750

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10220985A Pending JPH11134366A (ja) 1997-06-30 1998-06-30 データベースの特異値の数を推定する方法及び装置

Country Status (6)

Country Link
US (1) US5999928A (ja)
EP (1) EP0889424A3 (ja)
JP (1) JPH11134366A (ja)
AU (1) AU734618B2 (ja)
BR (1) BR9802310A (ja)
CA (1) CA2242001A1 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6295533B2 (en) * 1997-02-25 2001-09-25 At&T Corp. System and method for accessing heterogeneous databases
US5999928A (en) * 1997-06-30 1999-12-07 Informix Software, Inc. Estimating the number of distinct values for an attribute in a relational database table
US6108647A (en) * 1998-05-21 2000-08-22 Lucent Technologies, Inc. Method, apparatus and programmed medium for approximating the data cube and obtaining approximate answers to queries in relational databases
US6532458B1 (en) * 1999-03-15 2003-03-11 Microsoft Corporation Sampling for database systems
US6381629B1 (en) * 1999-08-30 2002-04-30 International Business Machines Corporation Technique for creating a unique item identification number in a multi-threaded/multi-process environment
US6535870B1 (en) * 2000-02-09 2003-03-18 International Business Machines Corporation Method of estimating an amount of changed data over plurality of intervals of time measurements
US6519604B1 (en) * 2000-07-19 2003-02-11 Lucent Technologies Inc. Approximate querying method for databases with multiple grouping attributes
US6732085B1 (en) * 2001-05-31 2004-05-04 Oracle International Corporation Method and system for sample size determination for database optimizers
US7480854B2 (en) * 2001-10-02 2009-01-20 International Business Machines Corporation Data conversion system and method
CA2374298A1 (en) * 2002-03-01 2003-09-01 Ibm Canada Limited-Ibm Canada Limitee Computation of frequent data values
WO2004036461A2 (en) * 2002-10-14 2004-04-29 Battelle Memorial Institute Information reservoir
US7136851B2 (en) * 2004-05-14 2006-11-14 Microsoft Corporation Method and system for indexing and searching databases
US20060074875A1 (en) * 2004-09-30 2006-04-06 International Business Machines Corporation Method and apparatus for predicting relative selectivity of database query conditions using respective cardinalities associated with different subsets of database records
US20070174256A1 (en) * 2006-01-13 2007-07-26 John Mark Morris Method for aging and resampling optimizer statistics
US7987177B2 (en) * 2008-01-30 2011-07-26 International Business Machines Corporation Method for estimating the number of distinct values in a partitioned dataset
US10496646B2 (en) * 2016-11-11 2019-12-03 Sap Se Estimating distinct values for database systems

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07104868B2 (ja) * 1988-04-08 1995-11-13 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン データ記憶検索システム
US5295256A (en) * 1990-12-14 1994-03-15 Racal-Datacom, Inc. Automatic storage of persistent objects in a relational schema
GB9103777D0 (en) * 1991-02-22 1991-04-10 B & W Loudspeakers Analogue and digital convertors
US5469568A (en) * 1993-01-07 1995-11-21 International Business Machines Corporation Method for choosing largest selectivities among eligible predicates of join equivalence classes for query optimization
US5546575A (en) * 1994-05-23 1996-08-13 Basil E. Potter & Associates, Inc. Encoding method for compressing a tabular database by selecting effective compression routines for each field and structure of partitions of equal sized records
US5542089A (en) * 1994-07-26 1996-07-30 International Business Machines Corporation Method and apparatus for estimating the number of occurrences of frequent values in a data set
US5659728A (en) * 1994-12-30 1997-08-19 International Business Machines Corporation System and method for generating uniqueness information for optimizing an SQL query
US5724573A (en) * 1995-12-22 1998-03-03 International Business Machines Corporation Method and system for mining quantitative association rules in large relational tables
US5752025A (en) * 1996-07-12 1998-05-12 Microsoft Corporation Method, computer program product, and system for creating and displaying a categorization table
US5878426A (en) * 1996-12-23 1999-03-02 Unisys Corporation Statistical database query using random sampling of records
US5999928A (en) * 1997-06-30 1999-12-07 Informix Software, Inc. Estimating the number of distinct values for an attribute in a relational database table

Also Published As

Publication number Publication date
AU734618B2 (en) 2001-06-21
US5999928A (en) 1999-12-07
BR9802310A (pt) 1999-10-19
CA2242001A1 (en) 1998-12-30
AU7323298A (en) 1999-01-07
EP0889424A2 (en) 1999-01-07
EP0889424A3 (en) 2000-11-22

Similar Documents

Publication Publication Date Title
CN100449546C (zh) 搜索文本中关键词的系统及其方法
JPH11134366A (ja) データベースの特異値の数を推定する方法及び装置
US6105020A (en) System and method for identifying and constructing star joins for execution by bitmap ANDing
JP4814570B2 (ja) あいまいな重複に強い検出器
US6349296B1 (en) Method for clustering closely resembling data objects
JP4397978B2 (ja) 濃度を利用した結合順序付け方法
US5893090A (en) Method and apparatus for performing an aggregate query in a database system
JP3072708B2 (ja) データベース検索方法及び装置
US7343369B2 (en) Method and apparatus for predicting selectivity of database query join conditions using hypothetical query predicates having skewed value constants
JPH11203294A (ja) 情報検索システム、装置、方法及び記録媒体
JP2002278761A (ja) 否定項を含む相関ルール抽出方法およびシステム
JPH0673136B2 (ja) キ−数を推計する方法
JP2002523814A (ja) 通常表現を使用するトランザクションの認識および予測
US20050131914A1 (en) Apparatus and method for estimating cardinality when data skew is present
US6941293B1 (en) Methods and apparatus for determining equivalent descriptions for an information need
Zhang et al. A survey of key technologies for high utility patterns mining
US20080005077A1 (en) Encoded version columns optimized for current version access
CN112346950A (zh) 基于查询日志分析的数据库索引性能估计系统与方法
US20060230024A1 (en) Method and apparatus for a context based cache infrastructure to enable subset query over a cached object
US8255388B1 (en) Providing a progress indicator in a database system
JP3630414B2 (ja) 塩基配列のクラスタ生成システム、塩基配列のクラスタ生成方法、該クラスタ生成方法を実行するためのプログラム、および該プログラムを記憶したコンピュータ可読な記録媒体、および塩基配列情報提供システム
CN110597857A (zh) 一种基于共享样本的在线聚集方法
JP3131142B2 (ja) 地図データリンケージシステム
CN114625761A (zh) 一种优化方法、装置、电子设备及介质
US20030109940A1 (en) Device, storage medium and a method for detecting objects strongly resembling a given object

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20040227

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050223

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080408

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080909