JPH07129450A - 区分されたオブジェクトのデータベースの多層索引構造を生成する方法及びシステム - Google Patents

区分されたオブジェクトのデータベースの多層索引構造を生成する方法及びシステム

Info

Publication number
JPH07129450A
JPH07129450A JP5316885A JP31688593A JPH07129450A JP H07129450 A JPH07129450 A JP H07129450A JP 5316885 A JP5316885 A JP 5316885A JP 31688593 A JP31688593 A JP 31688593A JP H07129450 A JPH07129450 A JP H07129450A
Authority
JP
Japan
Prior art keywords
index
entry
key value
partition
database
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
JP5316885A
Other languages
English (en)
Other versions
JP2583010B2 (ja
Inventor
David M Choy
デービッド・エム・チョイ
Chandrasekaran Mohan
チャンドラセハラン・モーン
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 JPH07129450A publication Critical patent/JPH07129450A/ja
Application granted granted Critical
Publication of JP2583010B2 publication Critical patent/JP2583010B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/355Indexed addressing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • 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/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users

Landscapes

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

Abstract

(57)【要約】 (修正有) 【目的】 並列又は分散データベースシステム内の区分
されたテーブルの多層索引方法を提供する。 【構成】 テーブルの区画毎に局所索引が生成・維持さ
れ且つ概略大域索引が生成・維持される。概略大域索引
は区分識別子により索引付き区画を識別し且つ個々の索
引キー値をそれらの目標区画と関連づけ、索引キーの高
度の区分選択探索属性を有するアクセス要求が容易に目
標区画に指向され処理できるようにする。索引エントリ
の挿入及び削除を処理し、且つ異なるトランザクション
による同時索引アクセス中の局所索引エントリと概略大
域索引エントリの間の一貫性を保証する索引維持ロッキ
ングプロトコルも開示される。ロッキングプロトコルは
挿入又は削除されたキーを含む場合に且つ挿入又は削除
されたキーに続くキー及びたぶんそれらに先行するキー
に対してのみロッキングを最小化し、同時に起きる読取
り者、挿入者及び削除者の動作の間の高い同時性を可能
にする。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は一般にデータベース管理
システムにおける索引機構、特に区分データの多層索引
方法に関する。
【0002】
【従来の技術】データベースシステムに頻繁に記憶させ
たい情報量が増大するにつれて、データ即ち完全なレコ
ードが2以上のデータベース記憶サイトにしばしば記憶
される。データベースプログラムの1つの重要な側面は
個々のデータベースにあるレコードに迅速かつ効率的に
アクセスできる能力である。データの配置及び検索を適
切に扱うために、データ処理システムはしばしばデータ
ベース管理プログラムを含む。これらのプログラムは多
くのノード又はサイトに記憶された複数のレコードから
成ることがある各データベース情報に対するアクセスを
容易にする。リレーショナルデータベース管理プログラ
ムはこの能力を提供する。
【0003】1つの一般的なデータベースの構成はテー
ブル毎に行及び列の情報を含む種々のテーブルから成る
構成である。テーブル内の1つの行を横切って記憶され
た情報は1つのレコードを構成し、該レコードのフィー
ルドは該テーブル内の列を構成する。すなわち、テーブ
ルは個々のレコードの行及びレコードフィールドの列を
含む。1つのレコードは2以上のフィールドの情報を含
みうるので、フィールドの情報はデータベーステーブル
の列を構成する。技術的には他のデータベース構成も存
在する。データベース管理プログラムは複数のユーザを
支援し、各ユーザが同時に同じテーブルをアクセスする
ことを可能にする。
【0004】関連するテーブルのレコードの迅速且つ効
率的なアクセスを可能にするために一般にデータベース
管理プログラムにより索引ファイルが用いられる。一般
にこれらの索引ファイルはB木構造で構成される。B木
構造は多くのレベルのノードが分岐する根ノードを含
む。これらのノードに含まれた情報は、木の次のレベル
にあるノードを指すポインタを含むか、又はデータベー
ス内に記憶された2以上のレコードを指すポインタを含
むことができる。これらのポインタはデータベース内に
記憶されたレコードを参照することができる追加のキー
レコード情報を含む。レコードキーは木の種々の分岐点
にノードを通じて配列された形式で記憶される。例え
ば、従業員名のアルファベット順リストの索引木が存在
しうる。根ノードは該木内の次のレベルのノードにより
間接又は直接に参照できる個々のレコード情報に関連す
る参照キーデータを含む。参照キーは索引フィールドに
関する情報、例えば従業員名のアルファベットのスペリ
ングを含む。よって、根ノード内の配列されたキーはノ
ードの連続する次のレベルを指す。すなわち、連続する
次のノードはA、B及びCで始まる全ての従業員名を間
接又は直接に参照する。連続する最初のノードと並行す
る、連続する次のノードは姓が文字D〜Mで始まる従業
員レコードを含むことがある。このレベルの連続する最
後のノードはN〜Zで始まる姓を有する従業員のレコー
ドを参照する。索引木による探索が開始されると、最後
には下部のノードに達する。下部のノードの内容は記憶
装置内の個々のレコードを指すレコードキー情報を含む
か又は木のなかの分岐ノードの1つを再指定できる。
【0005】並列データベース又は分散データベースシ
ステムでは、複数の記憶サイトにわたって区分されたテ
ーブルをアクセスする問題はより複雑になる。1つのサ
イトは少なくとも1つの区分テーブルを記憶できる。各
区分テーブルは一般に物理記憶装置のグループと関連づ
けられる。一般に区分(又は区画)はテーブルのレコー
ドの水平部分である。データベースオブジェクトを水平
に区分する動機はユーザ照会の並列処理を容易にし又は
それ自身の局所的に記憶されたレコードの効率的なアク
セスを各ノードが保持しうるように複数の記憶サイトの
間で非常に大きいテーブルの情報、例えば大会社の全従
業員の情報を区分することかも知れない。別の動機は物
理的な記憶容量のより良好な管理を容易にするように複
数の管理サイトにわたる大きなデータベーステーブルを
区分することかも知れない。
【0006】データベースオブジェクトはそのレコード
及びフィールドの内容により水平又は垂直に区分され
る。水平区分はテーブルの一定の行を1つの記憶サイト
に記憶するが該テーブルの他の行は別の記憶サイトに記
憶することを意味する。垂直区分はテーブルの一定の列
即ちフィールドを1つの記憶サイトに記憶するが他のフ
ィールドは別のサイトに記憶することを意味する。各区
分に別々の索引木を構築できる。1つの木は従業員A〜
Jの氏名及び住所を含むが別の木は従業員K〜Lの氏名
及び住所を含むことがある。以下、同様である。このよ
うに、記憶された情報のタイプ及びアプリケーションに
より、極めて大量のレコード情報をテーブル区分方法に
より複数の記憶サイトにわたり記憶することができる。
【0007】複数の区分又はノードに分散されているデ
ータ情報を管理するためにリレーショナルデータベース
管理システム(RDBMS) を用いることができる。データベ
ーステーブルをそのレコードの内容で区分する場合、特
定のテーブルレコードの少なくとも1つのフィールドを
当該個々のレコードの区分キーとして指定できる。ある
場合には、当該従業員のレコードの区分キーとして従業
員一連番号を指定し一定の値の範囲内の一連番号を含む
レコードのセットを各区分に記憶することがある。異な
る区分基準がそれらのレコードをそれらの区分キー値
(従業員の仕事場所のようなレコードに含まれた他の情
報の1つでもよい)により直ちにグループ化し、仕事場
フィールドの値でハッシュすることにより区分を決定す
ることがある。他方、従業員のレコードに含まれた情報
とは無関係なテーブル間の関係、というよりはむしろ挿
入記憶サイト又はノードのような内容に基づかない基準
を用いて、データベーステーブルが区分されることもあ
る。
【0008】従来技術の1つの問題として、関連する探
索の効率的な支援に関するものがある。関連探索の効率
性を高めるために、探索フィールド又は記憶されたデー
タのフィールドにしばしば索引が維持される。
【0009】一般に索引は別個のテーブル、即ち(索引
キー、レコードポインタの)形式を有するエントリのリ
ストを含む。この索引テーブルは一般にレコード情報の
ある特定の部分かも知れない索引キー値により配置さ
れ、そして一般に前述のようなB木構造に構築される。
索引キー値は従業員の一連番号又はある他のレコード情
報かも知れない。索引キーエントリの値による索引テー
ブルの配置は候補レコードのリストを制限し探索を容易
にするので、ユーザが必要とするレコードのアクセス時
間を短縮する。レコードポインタはもう1つの索引テー
ブルエントリであり、レコード識別子(RID) と呼ばれる
システム割当てトークンのような固定長の1つの情報か
も知れない。あるデータベース構成では、レコードポイ
ンタをユーザが与えることがある。いずれの場合も、レ
コードポインタはデータレコードを一意的に識別する。
【0010】区分データの場合、個々のテーブル区分毎
に別個に局所索引と呼ばれる索引が維持されることがあ
る。複数の区分にあるデータを参照する索引が1つも維
持されない場合、これは関連アクセス効率問題に対する
局所索引単独解法として知られている。局所索引単独解
法は区分されたデータの索引機能を提供する簡単な方法
である。この解法では、局所索引は前述の索引テーブル
に類似のテーブル又はリストでもよい。
【0011】局所索引単独解法の簡明さは非常に大きい
データベースで使用禁止されている厳しい性能ペナルテ
ィが付随している。各区分サイトには局所索引のみが存
在するから、大抵のアクセス要求は処理のため全ての区
分に同報通信される。各ノードはそのテーブルを検査し
所望のレコード情報が当該ノードに存在するかどうかを
調べなければならない。局所索引単独解法も大部分のア
クセス要求を正しく評価するためにテーブルの全区分が
使用できることを必要とする。複数のノードを有するシ
ステムにわたり、貴重な処理資源が無用な活動により消
費されることがある。
【0012】処理資源を消費するのはユーザだけではな
い。各サイトに送られたアクセス要求は必ずしもユーザ
が明白に指定したものだけとは限らない。高いレベルの
ユーザ要求を処理し評価する際にデータベース管理シス
テムにより生成された低いレベルの要求があるかも知れ
ない。複数の記憶サイトにわたる参照の完全性を維持す
る一定のデータベース拘束を強制するシステム要求もあ
るかも知れない。加えて、アクセス要求はキーの一意性
を強制する特定のキー値の存在の検査のような全オブジ
ェクトに関する一定の情報を得る必要があるかも知れな
い。更に、次の命令セットに着手する前に全ての局所ノ
ードがそれらのそれぞれの動作を終了するまで待つ時間
のために照会応答時間が延長される。複数の区画にわた
る多くの情報がアクセスされる照会時間の延長はかなり
の性能低下をもたらす。性能の影響はテーブルを構成す
る区画の数とともに急速に増すことがある。その結果、
データベースワークロードがかなり増加するのでシステ
ム効率スループットが低下し、このようなシステムはユ
ーザには動作が鈍いものに見える。
【0013】無用な活動のために、局所索引単独解法は
関連探索には評価できる解法ではない。すなわち、テー
ブルの区画の数が急激に増加し始めると局所索引単独解
法の良好な実行は続かない。
【0014】区分されたデータに更に効率的な索引支援
を提供するために、索引されるテーブルの全ての区画を
カバーする索引である完全大域索引が利用できる。完全
大域索引はテーブル内の関連するオブジェクト毎に少な
くとも1つのエントリを含むので、全テーブル内の関連
する全てのオブジェクトと1対1の関係を有する。大域
索引の1つの方法は一次キー方法と呼ばれる。ここで、
大域索引は形式 (索引キー、一次キー) を有するエント
リのリストとして維持され、一次キーは区分キーであ
る。この場合、各データレコードはユーザ提供の一次キ
ー値により全ての区画にわたり一意的に識別される。目
標区画の区分識別子(PID) は区分基準に関連した一次キ
ー値を用いて決定できる。レコードは一次キーのみを用
いてそれらを検索できるように記憶されなければならな
いので、これは一次キーに集合する局所索引が維持さ
れ、一次キーを集合キー値とするデータベース設計につ
ながる。1つの方法は索引の木にレコード自身を記憶
し、できればレコードをアクセスする余分な入出力動作
を避けることである。
【0015】一次キー方法の代替方法として、大域索引
エントリが (索引キー、区分キー)の形式をとる区分キ
ー方法がある。区分キーは一次キーではない。さもなけ
れば、この方法は前述の一次キー方法と同じである。区
分キーは一意的でなければならない。さもなければ、正
しいデータ検索を保証するために、索引キーに付加され
た選択属性が、検索されたレコードに再付加されなけれ
ばならない。これは区分キーに集合する局所索引が維持
され且つ区分キー値を集合キー値とするデータベース設
計にしばしばつながる。大域索引は関連する区画にのみ
アクセス要求を再指向することを可能にし且つ大域的に
使用できる索引キー情報を迅速に供給することによりユ
ーザの照会を評価する効率を改善する。しかしながら、
大域索引は、特に各区画が別個のデータベース記憶サイ
トに記憶される構成で、索引テーブルとデータレコード
の間の一貫性を保証するデータベース管理システムの費
用である索引管理費用を増す欠点を有する。
【0016】本発明の背景の理解に適切と思われる他の
論文として下記のものがある。
【0017】Levine et al., "Method For Concurrent
Record Access, Inspection, Deletion and Alteration
Using An Index Tree", US Patent No. 4,914,569, (A
pril 3, 1990): 索引木を通じたキーレコードの少なく
とも一部分により、レコードキーのグループ内のキーレ
コードデータを取出し、異なるトランザクションにより
レコードキーの同時アクセスを可能にする方法が開示さ
れている。
【0018】Mohan, "ARIES/KVL: A Key-Value Locking
Method for Concurrency Control ofMultiaction Tran
sactions Operating on B-Tree Indexes", Proceedings
of VLDB, August 1990: 索引キー値ロッキングと次の
キーロッキングを介したロック状態反復とが論述されて
いる。
【0019】Mohan and levine, "ARIES/IM: An Effici
ent and High Concurrent Index Management Method Us
ing Write-Ahead Logging", Proceedings SIGMOD Confe
rence,June 1992: コミットされない最初のインスタン
スの索引エントリロッキング及び左側伝播が論述されて
いる。
【0020】Mohan, "COMMIT_LSN: A Novel and Simple
Method for Reducing Locking and Latching in Trans
action Processing Systems", Proceedings of VLDB, A
ugust1990: COMMIT_LSNの着想が論述されている。
【0021】Mohan, Haderle, Wang, and Cheng, "Sing
le Table Access Using Multiple Indexes: Optimizati
on, Execution and Concurrency Control Techniques",
Proceedings 2nd International Conference on Exten
ding Database Technology, Italy, March 1990: 索引
論理積/論理和及び属性の再評価が論述されている。
【0022】
【発明が解決しようとする課題】本発明の第1の目的
は、複雑な照会評価及び索引維持を高めるために局所索
引エントリが同じノードにある対応する区画と同じ場所
に配置された場合に各区画の概略大域索引及び局所索引
を有する区分データの多層索引方法を提供することにあ
る。
【0023】本発明の第2の目的は、異なるトランザク
ションによる同時索引アクセスが最大化されるように局
所索引と概略大域索引の間の一貫性を保証する索引管理
の方法を提供することにある。
【0024】本発明の第3の目的は、挿入又は削除され
たキー及びたぶん前記挿入又は削除されたキーに先行す
るキーの場合にのみロッキングを最小化する一意的及び
非一意的の局所索引方式のロッキングプロトコルを有す
る索引管理方法を提供し、同時に存在する読取装置、挿
入装置及び削除装置の間に非常に高い同時性を可能にす
ることにある。
【0025】本発明の第4の目的は、索引キーの高度の
区分選択探索属性を有するアクセス要求を迅速且つ容易
に目標区画に指向し処理できるように、個々の索引キー
値をそれらの目標区画と関連づける概略大域索引を提供
することにある。
【0026】
【課題を解決するための手段】本発明の実施例に従って
前記目的を達成するために、区分データの分散データベ
ース多層索引方式はテーブルの区画毎に局所索引を生成
・維持し、更に概略大域索引が任意に生成・維持され
る。概略大域索引は区分識別子(PID) により索引区画を
識別する。索引維持アルゴリズムは、索引の挿入及び削
除を簡単かつ効率的に扱うロッキングプロトコルによ
り、異なるトランザクションによる同時索引アクセス中
の局所索引エントリ及び概略大域索引エントリの間の一
貫性を保証する。実際に概略大域索引更新動作が必要か
どうかを正しく判定するために対応する局所索引動作の
実行に必要な全てのロックが終了した後にのみ、概略大
域索引で実行する必要がある挿入及び削除動作を開始す
ることができる。
【0027】本発明により提供される区分データの多層
索引の第1の利点は、各区画をそれ自身のアクセス方法
を含む別個のデータモジュールとしてパッケージできる
ように個々の区画の局所索引を維持することにより除去
/移動可能なデータベース装置を提供し、そして、デー
タベースネットワーク故障の場合にも局所索引が使用で
きるのでデータベースのオブジェクト区画が局所照会の
評価にも使用でき、全局所データの使用可能度を増すこ
とである。
【0028】本発明により提供される区分データの多層
索引の第2の利点は、データベースシステムでレコード
の全ての索引エントリをそのレコードと同じノードに保
持することによりデータ集中検索を行うのでプロセッサ
間通信を少なくすると同時にデータページの非同期前取
出し及び局所索引動作を可能にし、局所ノードがより確
実に処理を実行し、並行動作を最大化するとともにノー
ド不均一及び自主性に適応し促進することである。
【0029】本発明の第3の利点は、もし特定の索引キ
ーが区分選択でなければ、概略大域索引なしに局所索引
のみを用いるオプションをデータベース設計者に提供す
るので当該特定のキーに関する情報の維持が不要とな
り、データベース設計の柔軟性を高め且つデータベース
最適化の機会を増すことである。
【0030】本発明により提供される区分データの多層
索引の第4の利点は、複数のアクセス方法を有するデー
タベースシステムに転送できるように、データが区分さ
れなかったかのように各区画内の各要求を迅速に評価す
ることである。
【0031】本発明により提供される区分データの多層
索引の第5の利点は、種々のデータ区分方式と互換性が
あり、種々の非キー反転局所アクセス方法、例えばハッ
シング、R木及び符号に容易に適応するので、厄介な制
約を付加されずに使用可能なアクセス方法のなかから照
会を処理する方法を最適化機能が自由に選択し、キーの
一意性を検査する大域索引単独アクセス、及び複数の大
域索引から得られたPID を組合わせる大域索引論理積/
論理和動作を含むように容易に拡張され、そして同じ場
所に配置されたオブジェクトについては、局所索引を使
用可能に維持し協同動作を容易にすることである。
【0032】本発明の第6の利点は、大域索引サイトに
ホットスポットを生成する確率を減らすために概略大域
索引を用いて目標区画に直にアクセス要求を経路指定す
るので、全容量を増やして非一意的な索引の場合にアク
セスをより効率的にし且つ大域索引サイトに記憶された
情報の量をより最小化することである。
【0033】本発明の第7の利点は、区分の程度に比例
する効率的で動的な索引解法を提供することによりデー
タアクセス効率を高め且つ区分されたデータベースの比
例性を最終的にかなり改善することである。
【0034】
【実施例】リレーショナルデータベース管理システム即
ちRDBMS により管理されるテーブルのようなデータベー
スオブジェクトは、オブジェクトの多くの区画の1つに
オブジェクトの各レコードが記憶されるように水平に区
分されることがある。一般にオブジェクトの各区画は他
の区画のものと共通の要素を持たず且つ別個のプロセッ
サにより管理されることもありされないこともある物理
的な記憶のグループに関連づけられる。区画は一意的な
区分識別子即ちPID を有する。データベースを水平に区
分する動機は、DBMS照会の並列処理を容易にするように
1つのDBMSシステム内の複数のノード又はプロセッサの
間でデータを区分し、各ノードが局所レコードのアクセ
ス効率を保持できるようにDBMSネットワーク内の複数の
ノード又はサイトの間に分散されたオブジェクトを支援
し、そして物理的な記憶容量の管理を容易にするように
複数の記憶グループにわたる大きなデータベースオブジ
ェクトを区分することにある。データベースオブジェク
トの各区画が別々の局所DBMSノードにより管理される前
記パラダイムは本発明の良好な実施例の場合に想定され
るが、本発明は他の形式の区分データにも等しく適用で
きる。
【0035】関連探索効率を支援するために、少なくと
も1つの探索フィールドにしばしば索引が維持される。
索引は探索フィールドの反転である。それは論理的には
エントリのリストである。本発明の大域索引テーブル
は、それがエントリのリストを含み、各エントリが索引
キー値及びPID のセットであるので、概略であることが
望ましい。索引キー値に関連したPID のリストは重複し
ないので、たとえ対応する局所索引テーブルが索引キー
の複数のインスタンスを含んでいても、特定のキー値が
存在する所与の区画の大域索引テーブルに1つのエント
リしかない利点がある。一意的な大域索引が決められる
と、大域索引エントリは効率のためにIDを区分するほか
レコード識別子(RID) を包含できる。
【0036】RID を包含するための追加の索引維持費用
は少なく、RID を使用できることは局所索引アクセスを
省くので、一般に一意的なキーを用いて数レコードをア
クセスするトランザクション処理の性能を改善する。一
意的な大域索引に任意に記憶できるRID は、ノードの自
主性に対する影響及び通常は割高な通信費用のために、
分散データベースにとってはあまり魅力的ではない。デ
ータベースアプリケーションによっては、一意的な大域
索引テーブルにRID を記憶しないことが又はRID をそれ
らが使用できるときに用いずに局所索引テーブルをアク
セスすることが望ましいことがある。更に、大域索引テ
ーブルにRID を記憶することは一次キーが用いられない
限り分散データベースのノード自主性を低下させ、RID
を送りそして検索されたレコードを再認定する費用がデ
ータ集中照会に見合うものとなりうる。区画が認識され
ると、RID を含む一意的な大域索引だけが更新を必要と
するが他の全ての大域索引は影響を受けないことが利点
である。
【0037】各区画内では、あたかもデータが区分され
ていなかったかのように通常の方法で要求が評価され
る。これは物理的なレコードの集合、非同期入出力及び
大きなバッファのような使用できる全てのアクセス方法
の利用を含む。DBMSノード間のデータアクセスインタフ
ェースはコンパクトであり従来のDBMS APIにより近いの
で、アクセス要求は高いレベルに留まる。
【0038】大域索引を索引として生成すべきか又はド
ロップすべきかをユーザが指定できるように、DBMSのSQ
L DDL インタフェースは、例えば、索引生成、索引ドロ
ップ及び索引変更ステートメントに特別のキーワードを
含むように拡張できる。あるいは、明白な生成ステート
メント及びドロップステートメントが直に大域索引とし
て定義できる。他方、DBMSは予想されたシステムの必要
性に基づきそれ自身で大域索引を生成するように決定し
システム性能を高めることもできる。これはDDL 処理の
一部として実行するか又は照会コンパイル時間に最適化
機能により実行することができる。索引を用いる全ての
アクセス要求が大域索引単独でも区分選択でもない場
合、大域索引は無効である。この場合、局所索引単独解
法はこの索引について完全に適切であるので、大域索引
の維持費用及び記憶を完全に除去する。もし特定の索引
キーが区分選択ではなくかつそのキーに関する大域情報
を維持する必要がなければ、データベース設計者は概略
大域索引なしに局所索引だけを生成するオプションを有
する。本発明の索引方式はどちらの場合にも適用でき
る。
【0039】本発明の概略大域索引の意図的な使用は、
索引キーの高度に区分選択的な探索属性によるアクセス
要求が処理のために目標区画に指向されるように、個々
の索引キーをそれらの目標区画と関連づけることであ
る。それは索引キーに関する大域情報の維持にも用いら
れ、該大域情報が、例えば、キー値の存在を検査し又は
異なるキー値の数をカウントするために、索引単独アク
セスにより検索できるようにする。
【0040】本発明の索引方法の良好な実施例は区分さ
れたデータベースのオブジェクトの2層索引方法であ
る。この良好な方法は、データベースの各区画の局所索
引テーブルの生成、及び各局所索引テーブル内の異なる
局所索引キー毎に1つの一意的な大域索引エントリを含
む概略大域索引テーブルの生成を含む。局所索引テーブ
ルは該テーブルの対応する区画内の関連するオブジェク
ト毎に1つの局所索引エントリを含む。各局所索引エン
トリは、対応する区画内の関連するオブジェクトを識別
するオブジェクト識別子、例えばレコードポインタ、及
び識別された関連するオブジェクトに関する局所索引キ
ー値を含む。
【0041】図1に示すように、オブジェクトの各区画
に局所索引が維持される。RID 又は一次キーはレコード
ポインタとして用いられる。区画を索引するがレコード
は維持しない概略大域索引が維持され、区画IDが少なく
とも1つの局所索引を参照し該局所索引はオブジェクト
区画内の索引レコードを参照する。
【0042】既存のオブジェクトに索引を生成するため
には、オブジェクトを走査し索引キー及び対応するレコ
ードポインタを捕捉する必要がある。局所索引を生成す
るために索引キー値及びレコードポインタが各区画に記
憶される。大域索引が用いられると仮定して、異なるキ
ー値の分類されたリストが大域索引ノードに送られる。
分類されたキー値のリストを組合せて各リストと関連し
たPID を付加することにより概略大域索引テーブルが生
成される。区画内の複数のレコードが同じ索引キー値を
有する場合、概略大域索引には1つのエントリだけがあ
る。よって、キー値の最初のインスタンスが局所索引テ
ーブルに挿入されるときにのみ、大域索引テーブルにエ
ントリが挿入されるべきである。同様に、キー値の最後
のインスタンスが局所索引から削除されるときにのみ、
大域索引テーブルからエントリが削除されるべきであ
る。これは索引維持費用を軽減する。
【0043】一意的な索引のために、大域索引テーブル
は局所索引テーブルアクセスのスキップを可能にするよ
うに索引されたレコードの識別子を含むこともある。概
略大域索引がレコードポインタを含む場合、アクセス要
求はそれに仮のRID= 又は一次キー=選択属性が付加さ
れた後、目標区画に送られる。付加された属性は目標レ
コードを取出す高速経路として使用できる。走査された
大域索引テーブルエントリがロックされない、反復でき
ない読取り動作のようなトランザクションでは、大域索
引に付加された選択属性は後に、即ち高速経路から検索
されたレコードが原始探索属性を用いて再認定されねば
ならないときに再検査されねばならない。他のデータベ
ースオブジェクトのように、概略大域索引テーブルは必
要ならそれ自身区分することができる。
【0044】簡単なアクセス要求が適切な大域索引を用
いる区画のサブセットに探索範囲を縮小する探索キーの
みを含む場合、目標PID のリストを含むために大域探索
テーブルが正規の索引とほとんど同じに探索される。重
複するPID が除去された後、局所評価のためにこれらの
PID により識別された目標区画に同じアクセス要求が送
られる。適切な大域索引がない場合、評価のために全て
の区画に該要求が同報通信される。
【0045】本発明の大域及び局所索引テーブルの例と
して表1に示すデータベース内のテーブルは従業員名、
従業員番号及び各従業員の勤務地を含む。この情報は従
業員レコードのデータベースに何が含まれるかを表わ
す。表1の最初の列は関連した従業員レコードの各々の
レコード識別子を表わすRID の標識が付されている。例
えば、従業員Adams(アダムス) はRID=8を有し、この特
定の従業員レコードがこの区画で8により識別できるこ
とを意味する。PID=2は、このレコードが記憶されてい
る勤務地San Jose (サンノゼ) に対応するデータベース
区画である。このAdams のエントリの関連従業員番号は
1である。
【0046】
【表1】 RID 従業員名 従業員番号 勤務地 PID 8 ADAMS 1 SAN JOSE O2 17 ADAMS 3 WATSON 03 23 ANDREW 7 SAN JOSE O2 19 BAKER 4 ALMADEN 01 4 BLAIR 19 SAN JOSE O2 11 CUMMINGS 13 WATSON 03 15 ELLIOTT 2 WATSON 03 21 HOWARD 5 WATSON 03 37 HOWARD 11 SAN JOSE O2 12 HOWARD 8 SAN JOSE O2 18 JONES 8 ALMADEN 01 表1には、2つのAdams エントリがあることに注目され
たい。このデータベースは従業員の勤務地により区分さ
れているので、1つのAdams エントリは02のデータベー
ス区画にあり、もう1つのAdams エントリは03のデータ
ベース区画にある。また、3つのHowardエントリがあ
り、そのうちの2つはSan Jose区画に関連し、他の1つ
はWatson (ワトソン) 区画に関連する。
【0047】図2は、本発明の局所索引テーブルの例と
して、テーブル毎に名前エントリ及び関連したRID を示
す。前述の本発明の方法の良好な実施例に従って、デー
タベース内の従業員名及び各従業員エントリのRID を含
む各区画の局所索引が生成される。この例では、生成さ
れる局所索引テーブルが3つある。1つの局所索引は勤
務地Almaden(アルマデン) に関連したデータベース区画
に関するものであり、Almaden で働くこれらの特定の従
業員のエントリのみを含む。従って、Almaden区画の局
所索引テーブルは、Baker(ベーカー) 及びJones(ジョー
ンズ) のエントリとそれらのレコード識別子 (この場
合、それぞれ18及び19) を含む。San Jose区画の局所索
引はその特定の勤務地に対応するエントリを含む。従っ
て、この局所索引テーブルはRID=8のAdams、RID=23の
Andrew(アンドリュー)、RID=4のBlair(ブレア)、RID=
37のHoward(ハワード)及びRID=12の別の Howardを含
む。良好な実施例に従って、局所索引テーブルはレコー
ド毎にその対応する区画に図示のような重複キー値を含
む1つのエントリを有する。
【0048】Watson区画に関しては、局所索引テーブル
のエントリは RID=17の Adams、RID=11のCummings(カ
ミングス)、RID=15のElliott(エリオット)及び RID=2
1のもう一人のHowardである。三人の異なる従業員Howar
dがおり、そのうち二人のHowardは勤務地San Joseに配
置されているのでSan Jose区画に現われ、他の一人のHo
wardは勤務地Watsonに配置されているのでその区画の対
応する従業員エントリを有する局所索引テーブルに現わ
れる。同様に、二人の異なる従業員Adams がおり、その
一人は勤務地San Joseに配置され、他の一人は勤務地Wa
tsonに配置されている。従って、各従業員名は対応する
区画に生成された局所索引テーブルに現われる。
【0049】良好な実施例で説明したような概略大域索
引の生成の例として表2に示す大域索引テーブルは名前
エントリ及び関連したPID を含む。この例では、大域索
引はキー値及びPID を含む。このインスタンスでは、キ
ー値は従業員の名前である。表2の大域索引テーブル
は、区画01、即ち勤務地Almaden の局所索引に対応する
Baker の最初のエントリ及び PID=01を有する。大域索
引は一意的な局所索引エントリ毎に1つのエントリ (キ
ー値、PID)だけを含むので、区画01の局所索引のJones
エントリも列挙される。勤務地San Joseに指定された区
画 (即ち区画02)に関連した局所索引に関して、大域索
引はエントリ Adams 02、Andrew 02、Blair 02、及び1
つのエントリ Howard 02も含む。1つのエントリ Howar
d が含まれるのは、この索引方法によって大域索引が任
意の1つの局所索引テーブルに現われる任意の重複キー
値の1つのエントリだけを持ちうるためである。従っ
て、区画02の局所索引テーブルはHowardに関連した2つ
の同じキー値、即ち、Howard RID=37及びHoward RID=
12を有するから、大域索引は02の1つの区分識別子を有
するキー値"Howard"に対する一回の参照のみを含む。
【0050】
【表2】 大域索引 名前 PID ADAMS O2 ADAMS 03 ANDREW O2 BAKER 01 BLAIR O2 CUMMINGS 03 ELLIOTT 03 HOWARD 02 HOWARD O3 JONES 01 続いて、大域索引テーブルはエントリAdams 03、Cummin
gs 03、Elliot 03及びHoward 03 を有する。大域索引は
同じキー値、即ちAdams 又はHowardのキー値を持つエン
トリをそれぞれ2つ有する。しかし、これらのエントリ
の各々は異なる区画に関連し、従って異なる局所索引に
現われるので、大域索引ではこれらのエントリが重複し
て現われるが、どれか1つの局所索引に関連して重複し
て現われることはない。
【0051】図1、図2及び表1、表2に示された2層
索引方式の構成で分かるように、概略大域索引は仕事を
局所ノードに分散する傾向がある。更新トランザクショ
ンの場合、概略大域索引はレコード変更に対する反応が
ずっと低くなる。照会処理の際の典型的なデータ集中検
索の場合、本発明は索引されたレコードと同じノードに
全ての局所索引エントリを維持するので、通信費用を少
なくし、データページの非同期の事前取出し及び並行局
所索引動作を可能にする。索引ページの編集及び書込を
含む、局所索引及び大域索引の物理的な構成の費用は、
本発明の2層索引方法に局所索引の並行構成の利点を与
える索引の全サイズに比例する。
【0052】概略大域索引は、単に照会結果を列挙する
代わりに、処理する目標区画にアクセス要求を経路指定
するのに主として用いられる。概略大域索引は (例え
ば、所与のキー値の存在を証明し、キーの一意性を保証
し、又は関連制約又はキー濃度をサポートする) 索引キ
ーに関する大域情報を得るために用いられることもあ
る。その結果、索引されたオブジェクトのサイズととも
に区画の数が増すとき、区画当りのワークロード及び全
経過時間は割合に安定している。従って、概略大域索引
はデータアクセス効率を高め且つ資源消費を少なくす
る。更に、区分の柔軟性が成長を有効に扱う能力に寄与
する。従って、概略大域索引方法は区分されたデータベ
ースの伸縮性(スケイラビリティ)をかなり改善する。
【0053】下記の動作は選択されたレコードをオブジ
ェクトから検索する本発明の索引方法の実現を容易にす
る。
【0054】もしPID として評価できる区分キーに関す
る選択属性があれば、その属性を評価する。もし適切に
選択できる概略大域索引が使用可能であれば、資格のあ
るPID をその概略大域索引から取得する。PID を分類
し、重複を除去し、そして、区分キーに基づいたPID が
あれば、それらと組合わせる。一意的な索引のレコード
識別子を取得する。追加の概略大域索引がそれらから取
得されたPID の論理積/論理和の演算により用いられる
こともある。もしPID リストがあまりに長くなれば、即
ち、それがもはや選択的ではなくなれば、DBMSは大域索
引の使用を停止し、保持されているSロックをもしあれ
ば解放し、そして代わりに照会の同報通信を開始する。
もし照会が区分選択でなければ、PID は論理的に全区画
のリストにされる。識別された各区画に照会を送り評価
する。任意の使用可能な局所アクセス方法、例えば局所
索引等を利用する。どの局所索引を使用するかの選択は
使用された大域索引と異なることがある。任意の適切な
局所評価手法、例えば、索引論理積/論理和、リスト分
類又は非同期I/O を用いる。各ノードは、そのデータベ
ース統計、レコード集合方式及び使用可能なアクセス方
法により異なる照会評価計画を用いてもよい。走査され
た大域索引エントリがロックされない反復不可能な読取
りトランザクションでは、一意的な大域索引から得られ
たレコード識別子を用いて検索されるレコードは再認定
されるべきである。最後に、複数のノードで照会が評価
された場合、それらの結果を組合わせる。
【0055】良好な実施例の2層索引方法の場合、非一
意的な索引の大域索引は必ずしも用いられるとは限ら
ず、又は実施例によっては維持すらされない。局所索引
は索引されたデータレコードを識別する実索引である。
データ検索の場合、非一意的な大域索引は主として目標
区画選択に用いられる。次にこれらの目標区画から得ら
れた局所結果が組合わされて実際の結果を形成する。内
部ポインタ(RID) は公開されないので、保全性公開即ち
保全違反の危険を少なくする。もし大域索引が同報通信
により又は大域索引論理積により照会のための区分選択
をかなり改善する見込みがなければ、それは使用されな
い。すなわち、局所処理を省くために大域索引のみが使
用される。他方、もし大域索引が使用されれば、その対
応する局所索引は必ずしも使用されない。例えば、大域
索引を索引単独アクセスに使用し、局所索引を使用しな
いことがある。なぜなら、局所索引は照会のために集合
されないか又は低いレコード選択を有するためである。
【0056】レコード選択性に関しては、もし局所索引
内のキー値の索引エントリの数の平均がnならば、局所
索引更新動作が新たなキー値を挿入するか又はキー値の
インスタンスを削除するので、大域索引挿入又は削除は
通常は1/nよりも少なくされる。例えば、従業員テー
ブルの部門フィールドに関する索引の場合、社員の入
社、所属部門の移動又は退社の度に、索引が更新され
る。しかしながら、新たな部門に加わる最初の社員、及
び部門を(例えば、部門が解散されるとき)去る最後の
社員を除き、1つの勤務地での全ての他の社員の移動
は、部門の平均サイズにかかわらず大域索引更新を生じ
ない。
【0057】更に、局所照会プロセッサは、局所索引が
概略大域索引から得られたキー統計、例えば区画に関す
る資格のあるキー値の数に基づいて用いられるべきかど
うかを動的に判定する。前記走行時間局所最適化がデー
タスキューを処理するのに非常に役立つ。
【0058】この2層索引方法は区分されたデータを現
にサポートしない多くの既存のDBMS、即ち区分されたデ
ータの索引に用いる仮の局所索引単独解法のみを有する
DBMSと互換性がある利点がある。なぜなら、この方法は
一次アクセス方法として局所索引を用い続けるが大域索
引は任意選択とみなされるからである。既存のDBMSロジ
ック関連コードの大部分は再使用可能である、即ちこの
2層索引方法を組込むように容易に変更される。既存の
未区分のデータベースは性能低下の危険なしに同じロジ
ックによりサポートされる。よって、DBMS開発費用は低
くなる。
【0059】既存の最適化機能が先ず拡張され、簡単な
方法で大域索引を利用する、例えば、キーの一意性を検
査し且つ望ましい選択属性を用いて目標区画を選択する
ことがある。例えば、テーブルを結合する時間にわた
り、大域索引がより多く利用されるので、その実現は同
期して行うこともできる。
【0060】局所索引は個々の区画について維持される
から、各区画はそれ自身のアクセス方法を含む別々のデ
ータモジュールとしてパッケージできる。このような組
み込みのデータモジュールは、例えば大規模な分散デー
タベースシステムで、移動式データベース装置として用
いることができる。データモジュールが取付けられた
後、大域索引を更新するための局所索引は高速かつ容易
に走査される。データレコードが挿入、削除又は更新さ
れるとき、少なくとも1つの索引を更新せねばならない
こともある。大域索引の更新は、もしそれがプロセッサ
空間を横切るならば、局所索引の更新よりも費用が高
い。大域索引は任意選択である。それは新たなキー値が
局所索引に挿入されるとき又はキー値の最後のインスタ
ンスが局所索引から削除されるときにのみ更新される。
よって、非一意的な索引の概略大域索引更新費用が低く
なる利点がある。
【0061】一意的な索引の場合、この方法は大域索引
に加えて局所索引を維持する必要がある。局所索引は冗
長性がありかつそれらの維持費用及び記憶空間を節減す
るように除去できるけれども、この節減は、ある場合に
は、一意的な索引及び非一意的な索引、例えば、索引管
理ロジック、照会処理ロジック、ユーティリティ、使用
可能度及びノード自主性の間に結果として生じる非均一
性により生成された影響に及ぼす価値がないかも知れな
い。他方、一意的なキーに関する探索要求が区分選択で
はないために大域索引が用いられないとき、局所索引を
照会評価のために用いることができる。更に、局所索引
は局所照会の評価に使用でき、かつキーが大域索引アク
セスを最小化するように挿入されるときキー値の局所存
在に使用できる。
【0062】ノード不均一性及びノード自主性は分散デ
ータベースにとって重要である。不均一性は局所アクセ
ス方法、レコードポインタの形式、集合方法、ハードウ
ェア及び環境の相違、ならびに実現された最適化アルゴ
リズムを含む。この方法は大域索引内の各区画の最低量
の情報を保持しかつ処理の大部分の実行を局所ノードに
依存する。よって、ノード不均一性及び自主性を最もよ
く適応させることができる。区分されない局所オブジェ
クトをアクセスする既存のアプリケーションはたとえそ
のオブジェクトが分散オブジェクトの区画になっても機
能し続けるであろう。
【0063】本発明の2層索引方法が実現される分散デ
ータベースのオブジェクト区画は、DBMSネットワークが
故障してもなお局所照会の評価に使用できる。なぜな
ら、局所索引は依然として容易に使用可能であり、局所
データのアクセス可能性を高めるからである。探索範囲
を縮小する区分キーならびにレコードを見つける索引を
用いる照会評価計画は使用できるノードの数がより少な
くて済むようにすることができる。なぜならば、索引は
目標データにとって局所的であるからである。同様に、
更新動作のデータベースの使用可能度も高くなる。なぜ
ならば、新しいキー値が局所索引に挿入されないか又は
キー値の最後のインスタンスが局所索引テーブルから削
除されない限り大域索引はアクセスされないからであ
る。
【0064】更に、本発明の索引方法は物理的なデータ
ベース設計を最適化するアクセスパターンに適合するデ
ータ集合代替方法の完全な利用を可能にする。一例とし
て、テーブル間集合は関係及び複雑なオブジェクトをよ
り効率的にサポートするのに使用できる。あらゆるレコ
ード及びその局所索引エントリは常に同じノードで同時
に発見されるので、複雑な照会評価及び索引維持の効率
が高められる。
【0065】本発明は新たな最適化の機会を提供する。
より多くのアクセス経路選択のため、より効率的なアク
セス計画が可能になり得る。サイン、R木及びハッシン
グのような、キー変換(索引)のほかの他のタイプのア
クセス方法が実現できる。大域索引は全ワークロードを
少なくする区分選択照会に使用できるのに対し、同報通
信は大域索引アクセスの費用を回避するためにより少な
い区分選択照会に使用できる。使用する大域索引の最適
選択は使用された局所索引の最適選択と異なることがあ
る。なぜならば、大域レベルで使用できる索引ならびに
アクセス目標は局所レベルでのものと異なることがある
からである。
【0066】データスキュー、ワークロード又は非均一
性のため局所アクセス計画は互いに異なることがあるの
に対し、索引が使用されることになっている場合、従来
技術の方法が提供する代替方法は殆どない。例えば、各
大域索引から得られた長いリストのレコードポインタは
区分基準により分類する必要がある。そして分類された
サブリストは目標区画に配分される。区分キー方法及び
一次キー方法はより長い可変長のポインタの処理を必要
とすることがあり、実現された区分方式により、それら
が区分基準をあらゆるポインタに個々に適用する必要が
あり得るのに対し、本発明の2層索引方法は、大域索引
が概略であるために、より短いポインタ(PID) リストを
有するので、重複するPID は既知の分類、例えば、トー
ナメント式分類を用いて徐々に除去される。更に、単一
のPID がより短く且つ固定長であるので、その処理は容
易になる。大域索引は概略であり且つより短いPID を用
いるから、それは完全な大域索引が有するよりも1少な
いB木レベルを有することがあるので、その索引をアク
セスするには1少ないI/O を必要とすることがある。同
様に、局所索引もより少ないエントリを有し且つより短
いレコードポインタを用いるので、それがアクセスする
のに要するI/O は少なくて済む。
【0067】良好な実施例は2層索引の状況で論議され
ているが、良好な実施例の2層索引方式は一般化されて
多層方式にすることができる。よって、多層索引方式は
本明細書では本発明の範囲内で論議される。
【0068】例えば、分散データベース内のオブジェク
トは幾つかのDBMSサイトの間で水平に区分し、これらの
区画の各々は更に局所サイトで並行照会処理のために区
分することができる。分散データベースはそれ自身がネ
ットワーク、施設、ローカルエリアネットワーク又は他
の構成の階層として位相的に構成できる。このオブジェ
クトに索引を生成するために、オブジェクトの葉ノード
区画毎に局所索引が生成される。この階層内のあらゆる
非葉ノードについて、概略大域索引が生成されることが
ある。一般に、1つのレベルの大域索引はその階層内の
次に高いレベルの局所索引かも知れない。索引階層を維
持するために、階層内の索引のみが、データレコード又
は局所索引のようなそれが索引する目標アイテム、及び
もし存在すればその大域索引を知る必要がある。その情
報により2層索引維持アルゴリズムが使用できるので多
層階層が正しく維持される。全維持費用は基本局所索引
が更新されるとき更新される大域索引の数による。各大
域索引の粗さはより高いレベルの大域索引に対するレコ
ード更新の影響を徐々に減少する。
【0069】多層索引は必ずしもオブジェクトの多層区
分を必要としない。動作上、概略大域索引はあらゆる索
引が1つの親大域索引のみを有する限り適合する索引キ
ーを有する索引の任意のセットに生成できる。索引の識
別子又は論理的にそれと等価なものが大域索引内の目標
PID として使用できる。しかしながら、大域索引の生成
及び維持は、それが一定の可能な照会の評価に役立つ探
索範囲を定義する場合にのみ価値がある。これは、探索
範囲がユーザによって理解され、DBMSインタフェースに
より記述され、そして最適化機能により認識され得るも
のでなければならないことを意味する。よって、大域索
引にとって重要なのは論理的なグループ分けである(通
常それは最初に区分されたデータ及び葉レベル局所索引
を生成する物理的な区分である)。従って、本明細書で
は、たとえデータ区分のレベルが1つしかなく且つ各葉
レベル局所索引の特定の範囲がユーザの関心を失ってい
る場合でも、複数のレベルの探索範囲を定義する本多層
索引方式が前述のように使用される試みがなされる。
【0070】階層内の高いレベルの大域索引を用いるデ
ータ検索では、多くの索引(下位レベル当り1つ)が探
索されなければならない。性能を改善するために、複数
の親大域索引を有する索引を可能にすることにより階層
を制限するか又はそれを平坦にすることができる。後者
は下記のように局所索引維持アルゴリズムのロジックに
若干の付加を必要とする。それが挿入又は削除トランザ
クション要求をその大域索引に送るとき、それを全ての
大域索引にも送るべきである。
【0071】例えば、研究所により区分される職員テー
ブルを索引するために、最初に研究所毎に局所索引が生
成される。そして幾つかの研究所を含む部門毎に概略大
域索引が生成されることがある。最後に、全社の部門索
引上に概略大域索引が生成されることがある。最上レベ
ルの大域索引は全社的な探索に役立つが次のレベルの大
域索引は部門特有の探索に役立つ。
【0072】会社索引が研究所索引に直に生成されるこ
とがある。階層を平坦にする外に、多層アプローチは非
階層グループ分け又は部分重複探索範囲をサポートする
能力を導入する、即ち地理的な領域により研究所をグル
ープ分けするために地域の大域索引を研究所索引上に生
成することがある。このようなグループ分けは部門グル
ープ分けと直交するであろう。
【0073】本発明の方法は一意的及び非一意的な索引
エントリの挿入及び削除を処理する方法を含む利点があ
る。下記の表に示す擬似コードは本明細書に開示された
良好な実施例の理解及び実現を容易にする(表中に現れ
る英文字の列はコマンドなどを表す記号であり、翻訳で
きない)。
【0074】
【表3】 一意的な索引の場合の挿入の良好な実施例は、挿入され
る索引エントリ内の局所索引キー値が局所索引内に既に
存在するかどうかの最初の判定を含み、もしそれが既に
存在すれば挿入を拒絶する。さもなければ、索引エント
リを局所索引テーブルに挿入し、局所索引キー値に関す
る大域索引キー値が既に大域索引テーブルに存在するか
どうかを判定し、もしそれが既に存在すれば、挿入され
た局所索引エントリを局所索引テーブルから削除してそ
の挿入を拒絶する。もし局所索引キー値に関する大域索
引キー値が大域索引テーブル内に存在しなければ、局所
索引キー値に関する大域索引キー値と局所索引テーブル
を識別する局所索引識別子とを含む大域索引エントリを
大域索引テーブルに挿入する。
【0075】非一意的な索引の場合の挿入は索引エント
リを局所索引テーブルに挿入することを含む。そして、
もし当該キー値が局所索引内にまだ存在していなかった
ならば、局所索引キー値に関する大域索引キー値と局所
索引テーブルを識別する局所索引識別子とを含む大域索
引エントリを大域索引テーブルに挿入する。
【0076】一意的な索引エントリを削除する方法は、
局所索引テーブルからキーを削除し且つ局所索引キー値
に関する大域索引エントリと局所索引識別子とを大域索
引テーブルから削除することを含む。
【0077】非一意的な索引エントリを削除する方法
は、局所索引からキーを削除し且つ削除される索引エン
トリ内の局所索引キー値がもはや局所索引テーブル内に
存在しないかどうかを判定し、そしてもしそれがもはや
存在しなければ、局所索引キー値に関する大域索引キー
値と局所索引テーブルを識別する局所索引識別子とを含
む大域索引エントリを大域索引テーブルから削除するス
テップを含む。
【0078】この方法の挿入及び削除動作の説明から、
大域索引と局所索引の間の一貫性を維持する必要があ
る。大域索引と局所索引の間の一貫性を保証するため
に、索引エントリの挿入及び削除を正しく処理するロッ
キングプロトコルが指定されなければならない。これは
2つの状態の維持を必要とする。すなわち、特定のキー
値が特定の区画に存在することを大域索引が示す場合、
その区画の局所索引はそのキー値を含むべきであり、特
定のキー値が特定の区画に存在しないことを大域索引が
示す場合、その区画の局所索引はそのキー値を含むべき
ではない。
【0079】特定のキー挿入動作がキー値の真に最初の
インスタンスの挿入を生じるか又は特定のキー削除動作
がキー値の現に存在するインスタンスのみの削除を実行
するかを判定する前述の検査を行うと同時に、後に前記
推理を裏切ることがある他のトランザクションによる確
約されない挿入又は削除動作がないことが確認されなけ
ればならない。本発明の方法が新規の方法でロッキング
を用いるのはこれらの判定を行う際である。
【0080】一般に、同時に起きる活動を同期させるた
めにロック及びラッチが用いられる。ラッチはデータの
物理的な一貫性を保証するのに用いられるのに対し、ロ
ックはデータの論理的な一貫性を保証するのに用いられ
る。一般にラッチはプロセスにより所有され通常はロッ
クよりもずっと短い時間の周期のあいだ保持される。ロ
ックはトランザクションにより所有される。デッドロッ
ク検出器はラッチ待ちについては知らされない。ラッチ
はラッチのみを含むか又はラッチ及びロックを含むデッ
ドロックを回避するような方法で要求される。ラッチの
取得はロックの取得よりもずっと安価である。なぜなら
ば、ラッチ制御情報は常に仮想メモリ内の一定の場所に
あり且つラッチ情報に対する直接アドレス可能性はラッ
チ名が与えられると可能である。他方、ロックの記憶は
動的に管理されるのでロックを取得し解除するためによ
り多くの命令を実行する必要がある。
【0081】大域索引に対する索引単独アクセスを可能
にするために、例えば、キー存在検査の実行又は異なる
照会カウント実行のために、大域索引動作中にロッキン
グが実行される。一意的な大域索引では、大域索引と局
所索引の間の一貫性を維持するために、大域索引で試み
られたキー挿入動作が一意的なキー違反により拒絶され
る場合、局所索引挿入、即ち最初の大域索引動作の試み
をトリガした局所索引挿入は、制御がその局所索引挿入
の呼出し者に戻される前に取消される。
【0082】ロック要求は条件付き又は無条件オプショ
ンにより行うことができる。条件付き要求は、要求が処
理される時点でロックを直ちに許可できない場合に要求
者が待機する意志がないことを意味する。無条件要求
は、ロックが許可できるようになるまで要求者が待機す
る意志があることを意味する。ロックが保持される持続
時間は異なることがある。瞬時持続時間無条件ロック要
求は、ロックが実際には許可されないことを意味する
が、ロックマネジャはロックが許可できるようになるま
でロック要求の成功状態の返送を遅延させなければなら
ない。持続時間手動ロックは、それらが取得された後の
ある時点で且つ一般にトランザクション終了よりもかな
り以前に解除される。確約持続時間ロックは、トランザ
クションの終了時点で、即ち、確約又は放棄が終了した
後にのみ解除される。資源のロック要求がうまく返送さ
れた後、ロックマネジャは、現在のトランザクションが
既に保持されていたか且つ現在の要求が出される前にそ
の資源のロックがまだ解除されていなかったかどうかを
示す。この場合、前に取得されたロックのモードが返送
される。
【0083】通常、ラッチ及びロックは共有情報に対す
るアクセスの制御に用いられる。ロックは異なるモー
ド、例えばS(共有)モード、X(排他的)モード、IX
(排他的意図)モード、IS(共有意図)モード及び SIX
(共有排他的意図)モードで取得できる。Sロック及び
Xロックは最も一般的なロックである。Sロックは読取
り特権を与えXロックは読取り及び書込み特権を与え
る。所与のオブジェクトにあるロックは、これらのロッ
クモードが互換性を有する場合にのみ、異なるトランザ
クションにより同時に保持できる。異なるモードのロッ
キングの間の互換性関係は下記の表に示す。チェック記
号(V) は対応するモードが互換性を有することを示す。
【0084】
【表4】 階層ロッキングにより、一般により高いレベルの階層で
(例えば、テーブルで)ロック意図(IX、IS及び SIX)
が得られる。非意図モード(S又はX)は、一定の階層
レベルにあるオブジェクトに取得されたとき、より低い
レベルのオブジェクトに、そのより高いレベルのオブジ
ェクトの対応するモードのロックを暗に許可する。他
方、意図モードロックは、対応する意図又は非意図モー
ドロックを要求する権利をより低いレベルのオブジェク
トにのみ与える、例えば、テーブル上のSIX ロックは暗
にそのテーブルの全てのレコードにSロックを許可する
ので、そのテーブルのレコードのXロックを明白に要求
することができる。
【0085】現に挿入又は削除されるべき索引エントリ
に取得されるロックのほかに索引挿入及び削除動作で
は、ロックも次のエントリに取得される。非一意的な局
所索引単独では、ときにはロックが前のエントリに取得
されることもある。これらのロックが取得される順序は
次のエントリ、(もし必要なら)前のエントリ及び現在
のエントリの順である。本発明のロックモードは読取り
者、挿入者及び削除者の間の非常に高い同時性を可能に
する。
【0086】瞬時ロックが取得される毎に、対応するエ
ントリを保持するページのラッチは、そのページでキー
挿入又は削除動作が終了するまで保持されなければなら
ない。このようなページラッチは、ラッチ保持中に要求
されたロックが直ちに許可できない場合、ラッチを含む
デッドロックを回避するために解除されなければならな
い。もしページラッチを保持しないうちにロックが取得
されれば、ラッチは再取得されかつ全プロセスが反復さ
れなければならない。大域索引での実行を必要とするキ
ー挿入又は削除動作は、対応する局所索引動作の実行に
必要な全てのロッキングが終了した後にのみ開始でき
る。後者のステップの終了後にのみ、大域索引動作が必
要かどうかを正しく判定することができる。
【0087】簡単に言えば、技術的に既知の多くのDBMS
は、トランザクションにより行われた更新の結果として
記述されるログレコードに関してページ状態を追跡す
る。各ページはそれに関連したフィールドを有し、更新
トランザクションはそれがページの最後の更新で記述し
たログレコードのログシーケンス番号(LSN) をそこに保
管する。このフィールドはページLSN と呼ばれる。トラ
ンザクションがその最初の更新を行う前に、それは回復
ユニット開始(UR開始)ログレコードを記述する。トラ
ンザクションのUR開始ログレコードのLSN は常に当該ト
ランザクションによりデータベースの更新のために書込
まれた任意のログレコードのLSN よりも小さい。LSN は
常に増加し続けると仮定される。DBMSでの全ての活動状
態のトランザクションのUR開始の最小LSN 値は確約LSN
と呼ばれる。これはその前に未確約トランザクションが
ないシーケンス番号である。
【0088】局所索引でキー挿入中の次、前及び現在の
エントリのロッキングは下記の表の実現により遂行され
る。
【0089】
【表5】 局所索引でキー削除中のロッキングは下記の表のように
なる。
【0090】
【表6】 大域索引(一意的又は非一意的)でキー挿入又は削除中
に行われた索引エントリロッキングは一意的な局所索引
の場合と同じである。
【0091】重要なことは次のエントリのロックが常に
取得されることである。次のエントリがない場合、この
局所索引に特有の特別な索引終了ロックがこの目的のた
めに用いられる。
【0092】挿入中に次のエントリをロックする背景理
由について以下に説明する。1つの理由は、この索引が
既に走査され且つ読取り者が終了するまで新たに挿入す
べきエントリを欲しないことがある反復可能な読取り(R
R)トランザクションが現にあるかどうかを検査するため
である。読取り者がいた場合、それは次のエントリをS
モードでロックしているであろう。RRトランザクション
により取り残されたSロックは、存在しえたが脱落した
関連する範囲内のキー値を有するエントリに関して取り
残された記号のようなものである。脱落した値は、少な
くともそれらを脱落したトランザクションが終了するま
で、それらが読取りトランザクション自身により挿入さ
れない限り索引に現われるべきではない。現在の挿入ト
ランザクション自身が次のエントリの読取りを早期に実
行したトランザクションであることがあり得る。この場
合、ロックマネジャは、IXロック要求の戻りコードを介
して、Sロック又はSIX ロックが現在のトランザクショ
ンにより次のエントリに既に保持されていることを示
す。そして、読取り者に続く挿入者の次のエントリのS
ロックが挿入すべきエントリに加えられなければならな
い。これは次のキーのロッキングを介したロック状態反
復と呼ばれる。ロック状態反復(missed-you)記号は新た
に挿入されたエントリがロック状態反復記号を隠さない
ことを確かめるために新しいエントリに関して反復され
るので、新たに挿入されたエントリの背後のもう1つの
エントリの別のトランザクションによる挿入を可能にす
る。このような挿入は、最初のロック状態反復記号を隠
したキー挿入動作を最初のトランザクションが実行しな
かった場合には起こり得なかったであろう。従って、挿
入されたエントリで普通に取得されたIXロックは、現在
のトランザクションにより次のエントリが既にSモード
又はSIX モードで保持されている場合にはSIX に変更さ
れる。この反復は、新たに挿入されたキー値が脱落した
値よりも小さい場合には必要ではないであろうが、挿入
者は、脱落した値が何であるか又は何であったかが分か
らないから、この観察からは何も得ることができない。
【0093】局所索引が一意的な索引である場合、挿入
すべきものと同じキー値を有するもう1つのエントリの
別のトランザクションにより確約されない削除がないこ
とを確かめる。エントリの削除者は次のエントリでSIX
ロックを取得する。これが一意的な索引であり且つ同じ
トランザクションが同じキー値の別のインスタンスを早
期に削除していた場合、現在の挿入動作の実行は問題を
生じない。なぜならば、このトランザクションの前の索
引は最初に取消される現在の挿入トランザクションなし
には取消されないからである。これはロールバックが逆
年代順に実行されなければならないことによる。
【0094】局所索引に大域索引が存在し且つこの索引
には挿入すべきキー値の他のインスタンスが存在しない
場合、同じキー値を有するもう1つのエントリの別のト
ランザクションにより確約されない削除がないことを確
かめる。エントリの削除者は次のエントリでSIX ロック
を取得する。現にキー値のもう1つのインスタンスが別
のトランザクションT1により確約されない削除状態にあ
る場合、現在のトランザクションT2はその挿入動作の実
行を許可されるべきではない。なぜならば、挿入を許可
することによりT2がそのキー値を大域索引に挿入するか
らである。その後、T1はロールバックできるので、同じ
キー値を大域索引に戻す(T1はそのエントリを順方向処
理で削除しているであろう)。従って、大域索引には、
それが同じキー値及び同じ区画の重複したエントリを含
むべきではないときに、前記重複したエントリがあるで
あろう。
【0095】この非一意的な局所索引に大域索引が存在
し且つこの索引で次のエントリのキー値が挿入すべきエ
ントリのキー値と同じ場合、進行中の別のトランザクシ
ョンによりそのキー値の最初のインスタンスが確約され
ない状態ではないことを確かめる。最初のインスタンス
が確約されない状態である場合、そのインスタンスを挿
入したトランザクションのみが次のエントリを挿入でき
且つそのトランザクションが全ての既存のインスタンス
でXロックを保持しているであろう。現在のトランザク
ションが挿入すべきキー値の最初のインスタンスを挿入
したものである場合、ロックマネジャからの戻りコード
は、瞬時IXロックが次のエントリで要求されると、現在
のトランザクションが既にそのエントリでXロックを保
持していることを示す。この場合、現在のトランザクシ
ョンも挿入中の索引エントリでXロックを取得する。こ
れは確約されない最初のインスタンスの左側伝播と呼ば
れる。これは局所索引が一意的な索引である場合には必
ずしもそうではない。その場合、最初の挿入者はIXロッ
クのみを取得する必要があり且つその後の挿入トランザ
クションを試みる者は、一意的なキー違反があるかどう
かを判定するために既に存在するエントリのSロックを
要求するであろう。一意的なキー違反を報告できる前
に、最初のインスタンスが確約状態であるか又はそれが
現在のトランザクションによる挿入であるかが判定され
なければならない。
【0096】非一意的な局所索引で、最初のインスタン
スの最初のトランザクションT1の挿入がまだ確約されな
いとき2番目のトランザクションT2によるキー挿入動作
を許可しない理由は、T1がロールバックしT2が確約する
ことになっていた場合に大域索引に関して一貫性がなく
なる局所索引を処理する必要があるためである。局所索
引でそのキー値の挿入中に大域索引にエントリを挿入し
たT1は、大域索引で挿入を実行しなかったT2がたとえ確
約しても大域索引へのその挿入動作を取消すであろう。
T2は、局所索引でのその挿入がそのキー値の最初のイン
スタンスではなかったので大域索引での挿入を実行せ
ず、従って大域索引での対応するエントリなしに局所索
引にそのキー値を取り残す。
【0097】前のエントリのロッキングプロトコルの理
由は下記の通りである。意図は、挿入中のキー値の最初
のインスタンスの挿入者が確約したことを確かめるか又
はキー値の最初のインスタンスが現在のトランザクショ
ン自身による確約されない挿入動作であると判定する必
要がある場合にLSN 確約の着想を利用することである。
これが挿入中のキー値の最初のインスタンスではなく且
つ、最初の挿入トランザクションが確約されたに違いな
いと結論付けるのに十分な情報を次のエントリのロッキ
ングが提供しないので前のエントリを処理するトランザ
クションを必要とする場合でさえも、前のエントリが確
約された状態であると判定するのをLSN確約方法が助け
る場合には前のエントリの余分なロックをなお回避する
ことができる。その最初のインスタンスの挿入トランザ
クションがまだ確約されない場合は、そのキー値の全て
の他のインスタンスも同じトランザクションによる確約
されない挿入である場合でなければならない。更に、そ
のトランザクションは同じキー値を有する全ての索引エ
ントリのXロックを保持していなければならない。現在
のトランザクションが挿入すべきキー値の最初のインス
タンスを挿入したトランザクションである場合、瞬時IS
ロックが前のエントリで要求されるとき、ロックマネジ
ャからの戻りコードは現在のトランザクションが既に前
のエントリにXロックを保持していることを示す。この
場合、現在のトランザクションも挿入中の索引エントリ
でXロックを取得する。これは確約されない最初のイン
スタンス情報の右側伝播と呼ばれる。一意的な索引で
は、この問題を処理する必要はない。
【0098】現在用いられているエントリロック擬似コ
ードは挿入中のエントリで取得する必要があるロックの
種類を決定する。他のトランザクションが確約されない
データを読取らないことを保証するために、挿入された
エントリに少なくともIXロックが取得する必要がある。
確約されないデータの読取りを欲しない読取り者はSロ
ックを取得するものと仮定する。それは確約されないエ
ントリに削除者が墓石を生成しないことを保証するため
にも用いられる。なぜなら、確約されないエントリの挿
入トランザクションがその挿入をロールバックすること
になっていた場合、このような墓石は消えるからであ
る。
【0099】削除動作中に次のエントリのロックを取得
する理由は下記の通りである。キー削除中に、確約され
ない削除があることを他の読取り者トランザクションに
知らせる墓石を取り残すことが重要である。読取り者は
Sロックを要求すると仮定する。墓石(次のエントリ)
のロックは、(1) 墓石エントリの背後の削除されたキー
値よりも高いキー値を有するエントリを挿入することに
より削除動作が起きた場所から墓石を隠し、且つ(2) 墓
石をそれを削除することにより除去することができる他
のトランザクションがないものでなければならない。墓
石を隠す最初のインスタンスでは、次のエントリで瞬時
IXロックを挿入者に取得させることによりそれが処理さ
れる。墓石を除去する2番目のインスタンスでは、削除
すべきエントリでXロックを削除者に取得させることに
よりそれが処理される。最初の削除動作を実行した同じ
トランザクションが墓石の背後にエントリを挿入する場
合、それは挿入中の次のエントリロックでロックマネジ
ャを介して最初の墓石の回りに戻りコードを見つける。
そして、それは通常のIXロックの代わりに新たなエント
リでSIX 又はXロックを取得することにより新たに挿入
されたエントリに墓石を複製する。同じトランザクショ
ンにより墓石が削除中である場合、削除中の次のエント
リで取得されるSIX ロックにより最初の墓石の次のエン
トリに墓石が複製される。局所索引が一意的な索引であ
る場合、次のエントリロックは同じキー値の潜在的な将
来の挿入者にそのキー値を含む確約されない削除動作に
関して知らせる。前述のように、挿入者は次のエントリ
でIXロックを取得する。
【0100】次のエントリのキー値が削除すべきエント
リのキー値と同じ場合、そのキー値の少なくとも1つの
インスタンスは現在のトランザクションが終了するまで
他のトランザクションにより削除されないことを確かめ
る。削除者が削除すべきエントリでXロックを取得する
から、別のトランザクションによる将来の動作は次のエ
ントリを削除できない。次のエントリが現に確約されな
い状態である場合、その挿入者はこの時点でそれにIX又
はXロックを保持している。これはトランザクションT1
が最後ではないインスタンスを削除し、且つトランザク
ションT2が最後のインスタンスを削除し、キー値を大域
索引から除去したのち確約する状況にはならないことを
保証するために必要である。T1はロールバックすること
によりそのキー値を局所索引に再挿入する。これらの状
況の下では、局所索引のキー値は大域索引には存在しな
い。
【0101】キー値のインスタンスのみが削除中である
場合、他のトランザクションはそのキー値のインスタン
スを削除中のトランザクションが終了するまで挿入でき
ないことを保証する。これは挿入者が次のエントリでIX
ロックを取得するから保証される。このステップで望ま
れることは下記のシナリオを回避することである。T1は
最後のインスタンスを局所索引から削除し且つキー値を
大域索引から除去する。そしてT2は局所索引の最初のイ
ンスタンスを挿入し且つキー値を大域索引に挿入する。
T1はロールバックし且つ複製エントリを大域索引に導入
する。なぜなら、それは大域索引からのその早期の削除
動作を取消す。T1が複製の挿入を回避して終了する場
合、T2はロールバックできるので、局所索引と大域索引
の間に非一貫性を生成する。なぜなら、T2はそれが大域
索引に挿入したキー値を除去するからである。
【0102】削除中に前のエントリでロックを取得する
理由は下記の通りである。その意図は確約された状態に
ある削除中のキー値の少なくとも1つのインスタンスが
索引に現に存在するかどうかを調べること又は当該キー
値の全ての既存のインスタンスが現在のトランザクショ
ンによる未確約の挿入であると判定することである。現
在のトランザクションがキー値の唯一のインスタンスを
削除中ではないので大域索引からエントリを削除する必
要がない場合、現在のトランザクションは、後にキー値
の全ての残りのインスタンスはそれらが全て未確約の挿
入であったので削除されず、且つ全ての挿入トランザク
ションは誤って大域索引にキー値を取り残してこれらの
挿入をロールバックしたことを確かめる必要がある。キ
ー値の全ての残りのインスタンスが現在のトランザクシ
ョン以外のトランザクションの未確約の挿入である場
合、現在のトランザクションは、前のエントリでSロッ
クを要求することにより、これらのトランザクションの
少なくとも1つのトランザクションが終了し且つ再びキ
ーの状態を検査するまで待つ必要がある。前のエントリ
でSロックが直ちに許可できないことは必ずしも前のエ
ントリが未確約挿入であることを意味しない。他のトラ
ンザクションは要求されたSロックと衝突する前のエン
トリに現にロックを保持することがある。よって、これ
らの状態で待機することは従来のアプローチである。
【0103】更に、現在のトランザクションがキー値の
前のエントリ及びたぶん全ての他のインスタンスを挿入
したトランザクションである場合、現在のトランザクシ
ョンは現在のエントリを安全に削除できる。なぜなら、
現在のトランザクションがロールバックする場合、それ
は現在のエントリを再挿入するからである。その結果、
大域索引を変更する必要がない。他方、現在のトランザ
クションは、それが後に順方向処理の際に全ての他のイ
ンスタンスを削除することになっていた場合、その時点
で大域索引内の対応するエントリを削除する。
【0104】索引エントリのロッキングプロトコルは下
記の表に要約される。
【0105】
【表7】
【0106】
【表8】
【0107】
【表9】
【0108】エントリロッキングプロトコルの所与の説
明に基づいて、下記の表に要約されるキー値ロッキング
プロトコルのロッキング規則の背後の理由が容易に理解
されるであろう。
【0109】
【表10】
【0110】
【表11】
【0111】
【表12】
【0112】
【表13】
【0113】要するに、オブジェクトの区画毎に局所索
引が生成・維持され且つ概略大域索引がオプションとし
て生成・維持される並列又は分散データベースシステム
で区分されたデータが直接供給される新規の多層索引方
法が提供される。概略大域索引は区分識別子(PID) によ
り索引付き区画を識別する。概略大域索引は個々の索引
キー値をそれらの目標区画と関連づけ、索引キーに関す
る高度の区分選択探索属性を有するアクセス要求を迅速
且つ容易に目標区画に指向し処理できるようにする。索
引維持ロッキングプロトコルも提供され、異なるトラン
ザクションによる同時索引アクセス中に局所索引エント
リと概略大域索引エントリの間の一貫性を保証する。ロ
ッキングプロトコルは索引エントリの挿入及び削除を簡
単に且つ効率的に処理する。挿入又は削除されたキーを
含む場合に且つ挿入又は削除されたキーに続くキー及び
たぶんそれらに先行するキーにのみロッキングを最小化
する一意的及び非一意的な局所索引方式のロッキングプ
ロトコルは、同時に起きる読取り者、挿入者及び削除者
の間の非常に高い同時性を可能にする。概略大域索引で
の実行を必要とする挿入又は削除動作は、実際に概略大
域索引更新動作が必要かどうかを正しく判定するため
に、対応する局所索引動作の実行に必要な全てのロッキ
ングが終了した後にのみ開始できる。
【0114】
【発明の効果】本発明の方法は複雑な照会評価及び索引
維持の効率を高め且つトランザクション処理の高いスル
ープットを取得する。
【図面の簡単な説明】
【図1】区画を索引するがレコードは索引しない概略大
域索引を、少なくとも1つの局所索引を参照し次いでオ
ブジェクト区画内のレコードを参照する区分IDとともに
維持する、本発明の2層索引階層を示す図である。
【図2】図2に示されたデータベーステーブルに関する
本発明の局所索引テーブル毎に名前エントリ及び関連し
たレコード識別子、即ちRID を示す図である。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 チャンドラセハラン・モーン アメリカ合衆国カリフォルニア州、サン・ ノゼ、ポーツウッド・ドライブ 727番地

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】区分されたオブジェクトのデータベースの
    多層索引構造を生成する方法であって、 (a) 前記データベースの区画毎に索引キー値の第2の索
    引テーブルを生成するステップと、 (b) 各第2の索引テーブル内の異なる第2の索引キー値
    毎に少なくとも1つの一意的な第1の索引エントリを含
    む第1の索引テーブルを生成するステップと、 を含む方法。
  2. 【請求項2】第2の索引テーブルが前記データベースの
    対応する区画内の関連するオブジェクト毎に少なくとも
    1つの第2の索引エントリを含む請求項1の方法。
  3. 【請求項3】各第2の索引エントリが (a) 対応する区画内の関連するオブジェクトを識別する
    オブジェクト識別子と、 (b) 識別された関連するオブジェクトに関する第2の索
    引キー値とを含む請求項2の方法。
  4. 【請求項4】前記各第1の索引エントリが更に (a) 前記第2の索引テーブルを識別する第2の索引識別
    子と、 (b) 前記識別された第2の索引テーブル内の第2の索引
    キー値に関する第1の索引キー値とを含む請求項1の方
    法。
  5. 【請求項5】索引エントリの挿入を処理して一意的な索
    引にする多層索引構造において第2の索引テーブルと第
    1の索引テーブルの間の一貫性を維持する方法であっ
    て、第2の索引テーブルは第2の索引識別子を有しかつ
    第2の索引エントリを含み、第2の索引エントリの各々
    はデータベース区画内の関連するオブジェクトを識別す
    る識別子、及び識別されたオブジェクトに関する第2の
    索引キー値を有し、そして第1の索引テーブルは各第2
    の索引テーブル内の異なる第2の索引キー値毎に少なく
    とも1つの第1の索引エントリを有しかつ各第1の索引
    エントリは第2の索引テーブルを識別する第2の索引識
    別子、及び識別された第2の索引テーブル内の第2の索
    引キー値に関する第1の索引キー値を有し、 挿入される索引エントリ内の第2の索引キーが既に第2
    の索引テーブル内に存在するかどうかを判定し、もしそ
    れが既に存在すれば挿入を拒絶し、さもなければ (1) その索引エントリを第2の索引テーブルに挿入する
    ステップと、 (2) 第2の索引キー値に関する第1の索引キー値が既に
    第1の索引テーブル内に存在するかどうかを判定するス
    テップとを実行し、もしそれが既に存在すれば (i) 挿入された第2の索引エントリを第2の索引テーブ
    ルから削除するステップと、 (ii)挿入を削除するステップとを実行し、そして (3) 第2の索引キー値に関する第1の索引キー値が第1
    の索引テーブル内に存在するかどうかを判定し、もしそ
    れが存在しなければ、第2の索引キー値に関する第1の
    索引キー値、及び第2の索引テーブルを識別する第2の
    索引識別子を有する第1の索引エントリを第1の索引テ
    ーブルに挿入するステップを実行するステップを含む方
    法。
  6. 【請求項6】一意的な索引で索引エントリの削除を処理
    する多層索引構造内の第2の索引テーブルと第1の索引
    テーブルの間の一貫性を維持する方法であって、第2の
    索引テーブルは第2の索引識別子を有しかつ第2の索引
    エントリを含み、第2の索引エントリの各々はデータベ
    ース区画内の関連するオブジェクトを識別する識別子、
    及び識別されたオブジェクトに関する第2の索引キー値
    を有し、そして第1の索引テーブルは各第2の索引テー
    ブル内の異なる第2の索引キー値毎に少なくとも1つの
    第1の索引エントリを有しかつ各第1の索引エントリは
    第2の索引テーブルを識別する第2の索引識別子、及び
    識別された第2の索引テーブル内の第2の索引キー値に
    関する第1の索引キー値を有し、 挿入される索引エントリ内の第2の索引キーが既に第2
    の索引テーブル内に存在するかどうかを判定し、もしそ
    れが既に存在すればその索引エントリを第2の索引テー
    ブルに挿入し、さもなければ (1) その索引エントリを第2の索引テーブルから削除す
    るステップと、 (2) 第1の索引テーブルから、第2の索引キー値及び第
    2の索引識別子に関する第1の索引エントリを削除する
    ステップとを実行するステップを含む方法。
  7. 【請求項7】索引エントリの挿入を処理して非一意的な
    索引にする多層索引構造において第2の索引テーブルと
    第1の索引テーブルの間の一貫性を維持する方法であっ
    て、第2の索引テーブルは第2の索引識別子を有しかつ
    第2の索引エントリを含み、第2の索引エントリの各々
    はデータベース区画内の関連するオブジェクトを識別す
    る識別子、及び識別されたオブジェクトに関する第2の
    索引キー値を有し、そして第1の索引テーブルは各第2
    の索引テーブル内の異なる第2の索引キー値毎に少なく
    とも1つの第1の索引エントリを有しかつ各第1の索引
    エントリは第2の索引テーブルを識別する第2の索引識
    別子、及び識別された第2の索引テーブル内の第2の索
    引キー値に関する第1の索引キー値を有し、 挿入される索引エントリ内の第2の索引キーが既に第2
    の索引テーブル内に存在するかどうかを判定し、もしそ
    れが既に存在すればその索引エントリを第2の索引テー
    ブルから削除し、さもなければ (1) その索引エントリを第2の索引テーブルに挿入する
    ステップと、 (2) 第1の索引テーブルに、第2の索引キー値に関する
    第1の索引キー値、及び第2の索引テーブルを識別する
    第2の索引識別子を有する第1の索引エントリを挿入す
    るステップとを実行するステップを含む方法。
  8. 【請求項8】非一意的な索引で索引エントリの削除を処
    理する多層索引構造において第2の索引テーブルと第1
    の索引テーブルの間の一貫性を維持する方法であって、
    第2の索引テーブルは第2の索引識別子を有しかつ第2
    の索引エントリを含み、第2の索引エントリの各々はデ
    ータベース区画内の関連するオブジェクトを識別する識
    別子、及び識別されたオブジェクトに関する第2の索引
    キー値を有し、そして第1の索引テーブルは各第2の索
    引テーブル内の異なる第2の索引キー値毎に少なくとも
    1つの第1の索引エントリを有しかつ各第1の索引エン
    トリは第2の索引テーブルを識別する第2の索引識別
    子、及び識別された第2の索引テーブル内の第2の索引
    キー値に関する第1の索引キー値を有し、 (a) 索引エントリを第2の索引テーブルから削除するス
    テップと、 (b) 削除された索引エントリ内の第2の索引キー値がな
    お第2の索引テーブル内に存在するかどうかを判定し、
    もしそれがもはや存在しなければ、第1の索引テーブル
    から、第2の索引キー値に関する第1の索引キー値、及
    び第2の索引テーブルを識別する第2の索引識別子を有
    する第1の索引エントリを削除するステップとを含む方
    法。
  9. 【請求項9】区分されたデータベースのオブジェクトの
    多層索引構造を生成する方法であって、 (a) データベースの区画毎に第2の索引テーブルを生成
    し、第2の索引テーブルは対応するデータベースの区画
    内の関連するオブジェクト毎に少なくとも1つの第2の
    索引エントリを含み、第2の索引エントリは (1) 対応する区画内の関連するオブジェクトを識別する
    オブジェクト識別子と、 (2) 識別された関連するオブジェクトに関する第2の索
    引キーとを含み、かつ (b) 各第2の索引テーブル内の異なる第2の索引キー値
    毎に少なくとも1つの一意的な第1の索引エントリを含
    む第1の索引テーブルを生成し、第1の索引エントリは (1) 第2の索引テーブルを識別する第2の索引識別子
    と、 (2) 識別された第2の索引テーブル内の第2の索引キー
    値に関する第1の索引キー値とを含むステップを含む方
    法。
  10. 【請求項10】区分されたデータベースコンピュータシ
    ステムであって、 前記区分されたデータベースコンピュータシステム内の
    情報を処理し、 (1) 少なくとも1つのデータベース区画と、 (2) 前記少なくとも1つのデータベースディスクから情
    報を読取りかつ更新するデータベース管理手段と、 (3) (i) 区画毎に、対応する区画内の関連する各オブジ
    ェクトの少なくとも1つの第2の索引エントリを有し、
    かつ対応する区画内の関連するオブジェクトを識別する
    オブジェクト識別子と、識別された関連するオブジェク
    トに関する第2の索引キー値とを含む多層索引構造と(i
    i) 各第2の索引テーブル内の異なる第2の索引キー値
    毎に少なくとも1つの一意的な第1の索引エントリを有
    し、かつ第2の索引テーブルを識別する第2の索引識別
    子と、識別された第2の索引テーブル内の第2の索引キ
    ー値に関する第1の索引キー値とを含む第1の索引テー
    ブルを含む多層索引構造とを含むシステム。
JP5316885A 1993-01-07 1993-12-16 多層インデックス構造におけるローカルインデックステーブル及び大域インデックステーブルの間の一貫性を維持する方法 Expired - Lifetime JP2583010B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US149193A 1993-01-07 1993-01-07
US001491 1995-07-17

Publications (2)

Publication Number Publication Date
JPH07129450A true JPH07129450A (ja) 1995-05-19
JP2583010B2 JP2583010B2 (ja) 1997-02-19

Family

ID=21696291

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5316885A Expired - Lifetime JP2583010B2 (ja) 1993-01-07 1993-12-16 多層インデックス構造におけるローカルインデックステーブル及び大域インデックステーブルの間の一貫性を維持する方法

Country Status (2)

Country Link
US (1) US5551027A (ja)
JP (1) JP2583010B2 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0772139A3 (en) * 1995-11-01 1998-04-01 FileTek, Inc. Method and apparatus for segmenting a database
JP2000259522A (ja) * 1999-03-08 2000-09-22 Nec Corp ネットワーク管理システムおよび管理情報転送方法
JP2001229060A (ja) * 2000-02-17 2001-08-24 Nec Corp ディレクトリ検索システム及び方法、ディレクトリ検索プログラムを記録したコンピュータ読取可能な記録媒体
JP2007025735A (ja) * 2005-07-12 2007-02-01 Hitachi Ltd データベース管理システムのインデックス運用方法
JP2007317138A (ja) * 2006-05-29 2007-12-06 Nomura Research Institute Ltd データ記憶システム、ファイル検索装置およびプログラム
JP2008108088A (ja) * 2006-10-26 2008-05-08 Chugoku Electric Power Co Inc:The 情報管理システム
CN100442282C (zh) * 2005-08-16 2008-12-10 杭州华三通信技术有限公司 分布式系统中数据查询的方法及板间数据同步的方法
JP2016522928A (ja) * 2013-05-07 2016-08-04 華為技術有限公司Huawei Technologies Co.,Ltd. 分散記憶システムにおけるセカンダリインデックスを確立するための方法、装置及びシステム

Families Citing this family (356)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1995009395A1 (en) 1993-09-27 1995-04-06 Oracle Corporation Method and apparatus for parallel processing in a database system
JP3023441B2 (ja) * 1993-11-16 2000-03-21 株式会社日立製作所 データベース分割管理方法および並列データベースシステム
US7599910B1 (en) 1993-11-16 2009-10-06 Hitachi, Ltd. Method and system of database divisional management for parallel database system
US6101495A (en) * 1994-11-16 2000-08-08 Hitachi, Ltd. Method of executing partition operations in a parallel database system
US5671407A (en) * 1994-12-07 1997-09-23 Xerox Corporation Application-specific conflict detection for weakly consistent replicated databases
US5978577A (en) * 1995-03-17 1999-11-02 Csg Systems, Inc. Method and apparatus for transaction processing in a distributed database system
CA2150745C (en) * 1995-06-01 2001-05-01 Chaitanya K. Baru Method and apparatus for implementing partial declustering in a parallel database system
JP3140944B2 (ja) * 1995-06-20 2001-03-05 松下電器産業株式会社 感性入力装置及びデータ検索装置
JPH0916607A (ja) * 1995-06-26 1997-01-17 Hitachi Ltd データベース管理システムにおけるインデクス管理方法
US5960194A (en) * 1995-09-11 1999-09-28 International Business Machines Corporation Method for generating a multi-tiered index for partitioned data
US8732457B2 (en) * 1995-10-02 2014-05-20 Assa Abloy Ab Scalable certificate validation and simplified PKI management
US7716486B2 (en) 1995-10-02 2010-05-11 Corestreet, Ltd. Controlling group access to doors
US8015597B2 (en) 1995-10-02 2011-09-06 Corestreet, Ltd. Disseminating additional data used for controlling access
US6097811A (en) * 1995-11-02 2000-08-01 Micali; Silvio Tree-based certificate revocation system
US7600129B2 (en) 1995-10-02 2009-10-06 Corestreet, Ltd. Controlling access using additional data
US6487658B1 (en) 1995-10-02 2002-11-26 Corestreet Security, Ltd. Efficient certificate revocation
US7337315B2 (en) 1995-10-02 2008-02-26 Corestreet, Ltd. Efficient certificate revocation
US7660994B2 (en) * 1995-10-24 2010-02-09 Corestreet, Ltd. Access control
US7353396B2 (en) 1995-10-02 2008-04-01 Corestreet, Ltd. Physical access control
US6766450B2 (en) * 1995-10-24 2004-07-20 Corestreet, Ltd. Certificate revocation system
US7822989B2 (en) * 1995-10-02 2010-10-26 Corestreet, Ltd. Controlling access to an area
US8261319B2 (en) 1995-10-24 2012-09-04 Corestreet, Ltd. Logging access attempts to an area
US6301659B1 (en) 1995-11-02 2001-10-09 Silvio Micali Tree-based certificate revocation system
US5758345A (en) * 1995-11-08 1998-05-26 International Business Machines Corporation Program and method for establishing a physical database layout on a distributed processor system
US5978812A (en) * 1995-11-10 1999-11-02 Sony Corporation Information processor and method of information processing
US6427147B1 (en) * 1995-12-01 2002-07-30 Sand Technology Systems International Deletion of ordered sets of keys in a compact O-complete tree
US5758353A (en) * 1995-12-01 1998-05-26 Sand Technology Systems International, Inc. Storage and retrieval of ordered sets of keys in a compact 0-complete tree
US5740423A (en) * 1995-12-28 1998-04-14 Csg Systems, Inc. System and method for accessing distributed data on a plurality of databases
US5761659A (en) * 1996-02-29 1998-06-02 Sun Microsystems, Inc. Method, product, and structure for flexible range locking of read and write requests using shared and exclusive locks, flags, sub-locks, and counters
US6016498A (en) * 1996-03-04 2000-01-18 Bakke; Stephen Peter Object oriented architecture with bidirectional linking of relationships between objects
US6105025A (en) * 1996-03-08 2000-08-15 Oracle Corporation Method for using an index as a workspace for deferred enforcement of uniqueness constraints
US5761652A (en) * 1996-03-20 1998-06-02 International Business Machines Corporation Constructing balanced multidimensional range-based bitmap indices
US5768532A (en) * 1996-06-17 1998-06-16 International Business Machines Corporation Method and distributed database file system for implementing self-describing distributed file objects
US6574654B1 (en) 1996-06-24 2003-06-03 Oracle Corporation Method and apparatus for lock caching
US6412017B1 (en) * 1996-07-01 2002-06-25 Microsoft Corporation Urgent replication facility
US5855013A (en) * 1996-07-01 1998-12-29 Sun Microsystems, Inc. Method and apparatus for creating and maintaining a computer database utilizing a multi-purpose data format
US6138123A (en) * 1996-07-25 2000-10-24 Rathbun; Kyle R. Method for creating and using parallel data structures
US5809502A (en) * 1996-08-09 1998-09-15 Digital Equipment Corporation Object-oriented interface for an index
US5832500A (en) * 1996-08-09 1998-11-03 Digital Equipment Corporation Method for searching an index
US5745894A (en) * 1996-08-09 1998-04-28 Digital Equipment Corporation Method for generating and searching a range-based index of word-locations
US5864863A (en) * 1996-08-09 1999-01-26 Digital Equipment Corporation Method for parsing, indexing and searching world-wide-web pages
US5852820A (en) * 1996-08-09 1998-12-22 Digital Equipment Corporation Method for optimizing entries for searching an index
US5745899A (en) * 1996-08-09 1998-04-28 Digital Equipment Corporation Method for indexing information of a database
US5787435A (en) * 1996-08-09 1998-07-28 Digital Equipment Corporation Method for mapping an index of a database into an array of files
US5745900A (en) * 1996-08-09 1998-04-28 Digital Equipment Corporation Method for indexing duplicate database records using a full-record fingerprint
US5745898A (en) * 1996-08-09 1998-04-28 Digital Equipment Corporation Method for generating a compressed index of information of records of a database
US5745890A (en) * 1996-08-09 1998-04-28 Digital Equipment Corporation Sequential searching of a database index using constraints on word-location pairs
US5765168A (en) * 1996-08-09 1998-06-09 Digital Equipment Corporation Method for maintaining an index
US5765158A (en) * 1996-08-09 1998-06-09 Digital Equipment Corporation Method for sampling a compressed index to create a summarized index
US5745889A (en) * 1996-08-09 1998-04-28 Digital Equipment Corporation Method for parsing information of databases records using word-location pairs and metaword-location pairs
US6009425A (en) * 1996-08-21 1999-12-28 International Business Machines Corporation System and method for performing record deletions using index scans
AUPO194696A0 (en) * 1996-08-28 1996-09-19 Canon Information Systems Research Australia Pty Ltd A method of efficiently updating hashed page tables
US6112278A (en) * 1996-09-30 2000-08-29 Lsi Logic Corporation Method to store initiator information for SCSI data transfer
US6754656B1 (en) * 1996-10-22 2004-06-22 International Business Machines Corporation System and method for selective partition locking
US7480653B2 (en) * 1996-10-22 2009-01-20 International Business Machines Corporation System and method for selective partition locking
US5852822A (en) * 1996-12-09 1998-12-22 Oracle Corporation Index-only tables with nested group keys
AP9901621A0 (en) * 1997-01-13 1999-09-30 John Overton Automated system for image archiving.
JP3499105B2 (ja) * 1997-03-03 2004-02-23 株式会社東芝 情報検索方法および情報検索装置
US6604124B1 (en) * 1997-03-13 2003-08-05 A:\Scribes Corporation Systems and methods for automatically managing work flow based on tracking job step completion status
US5842208A (en) * 1997-04-09 1998-11-24 International Business Machines Corporation High performance recover/build index system by unloading database files in parallel
US6286011B1 (en) * 1997-04-30 2001-09-04 Bellsouth Corporation System and method for recording transactions using a chronological list superimposed on an indexed list
US6041384A (en) * 1997-05-30 2000-03-21 Oracle Corporation Method for managing shared resources in a multiprocessing computer system
US6092062A (en) * 1997-06-30 2000-07-18 International Business Machines Corporation Relational database query optimization to perform query evaluation plan, pruning based on the partition properties
US6081801A (en) * 1997-06-30 2000-06-27 International Business Machines Corporation Shared nothing parallel execution of procedural constructs in SQL
US6092061A (en) * 1997-08-15 2000-07-18 International Business Machines Corporation Data partitioning by co-locating referenced and referencing records
US6990458B2 (en) * 1997-08-28 2006-01-24 Csg Systems, Inc. System and method for computer-aided technician dispatch and communication
US5926809A (en) * 1997-08-29 1999-07-20 Advanced Micro Devices, Inc. Two-tier query methodology for a database
US6560682B1 (en) * 1997-10-03 2003-05-06 Intel Corporation System and method for terminating lock-step sequences in a multiprocessor system
US6356928B1 (en) 1997-10-09 2002-03-12 At&T Corp. Method for partitioning tasks into stateless elements
US5924096A (en) * 1997-10-15 1999-07-13 Novell, Inc. Distributed database using indexed into tags to tracks events according to type, update cache, create virtual update log on demand
US6240428B1 (en) * 1997-10-31 2001-05-29 Oracle Corporation Import/export and repartitioning of partitioned objects
US6134558A (en) * 1997-10-31 2000-10-17 Oracle Corporation References that indicate where global database objects reside
US6721752B1 (en) * 1997-10-31 2004-04-13 Electronic Data Systems Corporation Computer-based system and method for inferring a four-digit calendar year from a date expressed in a format having a two-digit calendar year
US6675173B1 (en) 1998-01-22 2004-01-06 Ori Software Development Ltd. Database apparatus
CA2319177A1 (en) * 1998-01-22 1999-07-29 Ori Software Development Ltd. Database apparatus
US6434271B1 (en) 1998-02-06 2002-08-13 Compaq Computer Corporation Technique for locating objects within an image
US6421462B1 (en) 1998-02-06 2002-07-16 Compaq Computer Corporation Technique for differencing an image
US6556708B1 (en) 1998-02-06 2003-04-29 Compaq Computer Corporation Technique for classifying objects within an image
US6400830B1 (en) 1998-02-06 2002-06-04 Compaq Computer Corporation Technique for tracking objects through a series of images
US6184858B1 (en) 1998-02-06 2001-02-06 Compaq Computer Corporation Technique for updating a background image
US6141434A (en) * 1998-02-06 2000-10-31 Christian; Andrew Dean Technique for processing images
US6240197B1 (en) 1998-02-06 2001-05-29 Compaq Computer Corporation Technique for disambiguating proximate objects within an image
US6043827A (en) * 1998-02-06 2000-03-28 Digital Equipment Corporation Technique for acknowledging multiple objects using a computer generated face
US6052132A (en) * 1998-02-06 2000-04-18 Digital Equipment Corporation Technique for providing a computer generated face having coordinated eye and head movement
US6003036A (en) * 1998-02-12 1999-12-14 Martin; Michael W. Interval-partitioning method for multidimensional data
US6792432B1 (en) * 1998-03-31 2004-09-14 Sybase, Inc. Database system with methods providing high-concurrency access in B-Tree structures
US6081624A (en) * 1998-06-01 2000-06-27 Autodesk, Inc. Spatial index compression through spatial subdivision encoding
US6249292B1 (en) 1998-05-04 2001-06-19 Compaq Computer Corporation Technique for controlling a presentation of a computer generated object having a plurality of movable components
US6163822A (en) * 1998-05-04 2000-12-19 Compaq Computer Corporation Technique for controlling and processing a section of an interactive presentation simultaneously with detecting stimulus event in manner that overrides process
US6247108B1 (en) * 1998-06-03 2001-06-12 Lucent Technologies Inc. Memory management during processing of binary decision diagrams in a computer system
US6216125B1 (en) * 1998-07-02 2001-04-10 At&T Corp. Coarse indexes for a data warehouse
US7103640B1 (en) * 1999-09-14 2006-09-05 Econnectix, Llc Network distributed tracking wire transfer protocol
US7233978B2 (en) * 1998-07-08 2007-06-19 Econnectix, Llc Method and apparatus for managing location information in a network separate from the data to which the location information pertains
US6334134B1 (en) 1998-08-18 2001-12-25 International Business Machines Corporation Insert performance on a multi-system transaction environment
US6405198B1 (en) 1998-09-04 2002-06-11 International Business Machines Corporation Complex data query support in a partitioned database system
US6226650B1 (en) * 1998-09-17 2001-05-01 Synchrologic, Inc. Database synchronization and organization system and method
US6212515B1 (en) 1998-11-03 2001-04-03 Platinum Technology, Inc. Method and apparatus for populating sparse matrix entries from corresponding data
US6886012B1 (en) * 1998-11-18 2005-04-26 International Business Machines Corporation Providing traditional update semantics when updates change the location of data records
SE515578C2 (sv) 1998-11-26 2001-09-03 Ericsson Telefon Ab L M Metod för lastreglering i en distribuerad databas
US6349363B2 (en) * 1998-12-08 2002-02-19 Intel Corporation Multi-section cache with different attributes for each section
US6304873B1 (en) * 1999-07-06 2001-10-16 Compaq Computer Corporation System and method for performing database operations and for skipping over tuples locked in an incompatible mode
US6339772B1 (en) * 1999-07-06 2002-01-15 Compaq Computer Corporation System and method for performing database operations on a continuous stream of tuples
US6453313B1 (en) 1999-07-06 2002-09-17 Compaq Information Technologies Group, L.P. Database management system and method for dequeuing rows published to a database table
US6421677B1 (en) 1999-07-19 2002-07-16 International Business Machines Corporation Extension of data definition language (DDL) capabilities for relational databases for applications issuing DDL statements
US6453322B1 (en) 1999-07-19 2002-09-17 International Business Machines Corporation Extension of data definition language (DDL) capabilities for relational databases for applications issuing multiple units of work
US6480848B1 (en) 1999-07-19 2002-11-12 International Business Machines Corporation Extension of data definition language (DDL) capabilities for relational databases for applications issuing DML and DDL statements
US6272498B1 (en) * 1999-07-22 2001-08-07 Lucent Technologies Inc. Method for partitioning multi-dimensional data sets into rectangular partitions
US6380947B1 (en) * 1999-07-22 2002-04-30 At&T Corp. Method and apparatus for displaying and tree scrolling a hierarchical data structure
US9977831B1 (en) 1999-08-16 2018-05-22 Dise Technologies, Llc Targeting users' interests with a dynamic index and search engine server
US8504554B2 (en) * 1999-08-16 2013-08-06 Raichur Revocable Trust, Arvind A. and Becky D. Raichur Dynamic index and search engine server
US7613992B1 (en) 1999-08-16 2009-11-03 Raichur Arvind A Dynamic index and search engine server
US9195756B1 (en) 1999-08-16 2015-11-24 Dise Technologies, Llc Building a master topical index of information
US6438562B1 (en) * 1999-08-24 2002-08-20 Oracle Corporation Parallel index maintenance
US6516337B1 (en) * 1999-10-14 2003-02-04 Arcessa, Inc. Sending to a central indexing site meta data or signatures from objects on a computer network
US6557111B1 (en) 1999-11-29 2003-04-29 Xerox Corporation Multicast-enhanced update propagation in a weakly-consistant, replicated data storage system
US6772141B1 (en) 1999-12-14 2004-08-03 Novell, Inc. Method and apparatus for organizing and using indexes utilizing a search decision table
US6604093B1 (en) * 1999-12-27 2003-08-05 International Business Machines Corporation Situation awareness system
US6542883B1 (en) * 2000-03-09 2003-04-01 International Business Machines Corporation Ordering relational database operations according to referential integrity constraints
US6473763B1 (en) 2000-03-31 2002-10-29 International Business Machines Corporation System, method and computer program for filtering multi-action rule set
US20080005275A1 (en) * 2000-06-02 2008-01-03 Econnectix, Llc Method and apparatus for managing location information in a network separate from the data to which the location information pertains
US7162499B2 (en) * 2000-06-21 2007-01-09 Microsoft Corporation Linked value replication
US7752100B1 (en) * 2000-06-29 2010-07-06 Terodata US, Inc. Selector function for life-time value financial processing in a relational database management system
US6523033B1 (en) * 2000-07-13 2003-02-18 International Business Machines Corporation Apparatus and method for file locking for computer programs that use different size locks
US6708161B2 (en) * 2000-09-26 2004-03-16 I2 Technologies Us, Inc. System and method for selective database indexing
US7299255B2 (en) 2000-09-26 2007-11-20 I2 Technologies Us, Inc. System and method for migrating data in an electronic commerce system
US20020111870A1 (en) * 2000-09-26 2002-08-15 I2 Technologies, Inc. System and method for identifying a product
US7590558B2 (en) * 2000-09-26 2009-09-15 I2 Technologies Us, Inc. System and method for facilitating electronic commerce transactions
US7689560B2 (en) 2000-10-13 2010-03-30 Miosoft Corporation Persistent data storage techniques
US7587428B2 (en) * 2000-10-13 2009-09-08 Microsoft Corporation Maintaining a relationship between two different items of data
US6654039B1 (en) 2000-10-13 2003-11-25 International Business Machines Corporation Method, system and program for scrolling index scans
US6748377B1 (en) 2000-10-18 2004-06-08 International Business Machines Corporation Facilitating query pushdown in a multi-tiered database environment
GB2369695B (en) * 2000-11-30 2005-03-16 Indigo One Technologies Ltd Database
US7512635B1 (en) * 2000-12-18 2009-03-31 Bmc Software, Inc. System and method for updating information on a computer system using a limited amount of space
US6934840B2 (en) * 2000-12-21 2005-08-23 International Business Machines Corporation Composite keystore facility apparatus and method therefor
US6804677B2 (en) * 2001-02-26 2004-10-12 Ori Software Development Ltd. Encoding semi-structured data for efficient search and browsing
US6879564B2 (en) * 2001-02-28 2005-04-12 Microsoft Corp. Method for designating communication paths in a network
US6778977B1 (en) * 2001-04-19 2004-08-17 Microsoft Corporation Method and system for creating a database table index using multiple processors
US7349868B2 (en) 2001-05-15 2008-03-25 I2 Technologies Us, Inc. Pre-qualifying sellers during the matching phase of an electronic commerce transaction
US7475030B1 (en) 2001-05-16 2009-01-06 I2 Technologies Us, Inc. Facilitating electronic commerce transactions using a shared product data repository
US7263515B1 (en) 2001-06-18 2007-08-28 I2 Technologies Us, Inc. Content enhancement in an electronic marketplace
US6944615B2 (en) 2001-06-28 2005-09-13 International Business Machines Corporation System and method for avoiding deadlock situations due to pseudo-deleted entries
US7162453B1 (en) 2001-06-29 2007-01-09 I2 Technologies Us, Inc. Protecting content from unauthorized reproduction
US7346560B1 (en) 2001-06-29 2008-03-18 I2 Technologies Us, Inc. Protecting content from unauthorized reproduction
US6795821B2 (en) * 2001-07-17 2004-09-21 Trendium, Inc. Database systems, methods and computer program products including primary key and super key indexes for use with partitioned tables
US6725216B2 (en) 2001-08-10 2004-04-20 International Businesss Machines Corporation Partitioning search key thereby distributing table across multiple non-contiguous memory segments, memory banks or memory modules
US7158994B1 (en) 2001-09-28 2007-01-02 Oracle International Corporation Object-oriented materialized views
US6792414B2 (en) * 2001-10-19 2004-09-14 Microsoft Corporation Generalized keyword matching for keyword based searching over relational databases
US6801904B2 (en) * 2001-10-19 2004-10-05 Microsoft Corporation System for keyword based searching over relational databases
JP4162184B2 (ja) * 2001-11-14 2008-10-08 株式会社日立製作所 データベース管理システムの実行情報を取得する手段を有する記憶装置
US7035922B2 (en) * 2001-11-27 2006-04-25 Microsoft Corporation Non-invasive latency monitoring in a store-and-forward replication system
US20040205046A1 (en) * 2001-11-29 2004-10-14 International Business Machines Corporation Indexing and retrieval of textual collections on PDAS
US7185359B2 (en) * 2001-12-21 2007-02-27 Microsoft Corporation Authentication and authorization across autonomous network systems
US7031969B2 (en) * 2002-02-20 2006-04-18 Lawrence Technologies, Llc System and method for identifying relationships between database records
US7287033B2 (en) 2002-03-06 2007-10-23 Ori Software Development, Ltd. Efficient traversals over hierarchical data and indexing semistructured data
US7412424B1 (en) 2002-03-19 2008-08-12 I2 Technologies Us, Inc. Third party certification of content in electronic commerce transactions
US7111020B1 (en) * 2002-03-26 2006-09-19 Oracle International Corporation Incremental refresh of materialized views containing rank function, and rewrite of queries containing rank or rownumber or min/max aggregate functions using such a materialized view
US7620664B2 (en) * 2002-04-02 2009-11-17 Mcgoveran David O Computer-implemented method for translating among multiple representations and storage structures
US7263512B2 (en) * 2002-04-02 2007-08-28 Mcgoveran David O Accessing and updating views and relations in a relational database
US8271530B2 (en) * 2002-04-08 2012-09-18 Oracale International Corporation Method and mechanism for managing and accessing static and dynamic data
US7280527B2 (en) * 2002-05-13 2007-10-09 International Business Machines Corporation Logically grouping physical ports into logical interfaces to expand bandwidth
US8463781B1 (en) * 2002-06-25 2013-06-11 Emc Corporation Pre-fetch of records identified by an index record
US7155437B2 (en) * 2002-07-29 2006-12-26 Inventec Appliances Corp. Method for multiple configurations of wireless network connection settings
US6807546B2 (en) * 2002-08-12 2004-10-19 Sybase, Inc. Database system with methodology for distributing query optimization effort over large search spaces
US6968335B2 (en) 2002-11-14 2005-11-22 Sesint, Inc. Method and system for parallel processing of database queries
US8676843B2 (en) * 2002-11-14 2014-03-18 LexiNexis Risk Data Management Inc. Failure recovery in a parallel-processing database system
US7185003B2 (en) * 2002-11-14 2007-02-27 Seisint, Inc. Query scheduling in a parallel-processing database system
US7240059B2 (en) * 2002-11-14 2007-07-03 Seisint, Inc. System and method for configuring a parallel-processing database system
US7945581B2 (en) * 2002-11-14 2011-05-17 Lexisnexis Risk Data Management, Inc. Global-results processing matrix for processing queries
US7293024B2 (en) * 2002-11-14 2007-11-06 Seisint, Inc. Method for sorting and distributing data among a plurality of nodes
US7293011B1 (en) 2002-11-27 2007-11-06 Oracle International Corporation TQ distribution that increases parallism by distributing one slave to a particular data block
US7188113B1 (en) 2002-11-27 2007-03-06 Oracle International Corporation Reducing contention by slaves for free lists when modifying data in a table partition
US7299239B1 (en) * 2002-12-02 2007-11-20 Oracle International Corporation Methods for partitioning an object
US7562090B2 (en) * 2002-12-19 2009-07-14 International Business Machines Corporation System and method for automating data partitioning in a parallel database
US7158996B2 (en) * 2003-01-27 2007-01-02 International Business Machines Corporation Method, system, and program for managing database operations with respect to a database table
US7146365B2 (en) 2003-01-27 2006-12-05 International Business Machines Corporation Method, system, and program for optimizing database query execution
US7403942B1 (en) 2003-02-04 2008-07-22 Seisint, Inc. Method and system for processing data records
US7657540B1 (en) 2003-02-04 2010-02-02 Seisint, Inc. Method and system for linking and delinking data records
US7912842B1 (en) 2003-02-04 2011-03-22 Lexisnexis Risk Data Management Inc. Method and system for processing and linking data records
US7720846B1 (en) 2003-02-04 2010-05-18 Lexisnexis Risk Data Management, Inc. System and method of using ghost identifiers in a database
US7469253B2 (en) * 2003-04-01 2008-12-23 Microsoft Corporation Associative hash partitioning using pseudo-random number generator
US7447786B2 (en) * 2003-05-09 2008-11-04 Oracle International Corporation Efficient locking of shared data that is accessed for reads in a cluster database
US7657751B2 (en) * 2003-05-13 2010-02-02 Corestreet, Ltd. Efficient and secure data currentness systems
US7311303B2 (en) * 2003-07-25 2007-12-25 Hewlett-Packard Development Company, L.P. Apparatus and method for distributing print media
US20050027692A1 (en) * 2003-07-29 2005-02-03 International Business Machines Corporation. Method, system, and program for accessing data in a database table
US6885930B2 (en) * 2003-07-31 2005-04-26 Siemens Energy & Automation, Inc. System and method for slip slide control
US7254580B1 (en) * 2003-07-31 2007-08-07 Google Inc. System and method for selectively searching partitions of a database
US20050102271A1 (en) * 2003-08-01 2005-05-12 Gavin Robertson Indexes with embedded data
US7440964B2 (en) 2003-08-29 2008-10-21 Vortaloptics, Inc. Method, device and software for querying and presenting search results
US8321400B2 (en) * 2003-08-29 2012-11-27 Vortaloptics, Inc. Method, device and software for querying and presenting search results
CA2537270C (en) * 2003-08-29 2014-02-18 Vortaloptics, Inc. Method, device and software for querying and presenting search results
US7761453B2 (en) * 2005-01-26 2010-07-20 Honeywell International Inc. Method and system for indexing and searching an iris image database
US8090157B2 (en) 2005-01-26 2012-01-03 Honeywell International Inc. Approaches and apparatus for eye detection in a digital image
US8442276B2 (en) 2006-03-03 2013-05-14 Honeywell International Inc. Invariant radial iris segmentation
US8064647B2 (en) * 2006-03-03 2011-11-22 Honeywell International Inc. System for iris detection tracking and recognition at a distance
US8098901B2 (en) 2005-01-26 2012-01-17 Honeywell International Inc. Standoff iris recognition system
US7593550B2 (en) 2005-01-26 2009-09-22 Honeywell International Inc. Distance iris recognition
US8705808B2 (en) * 2003-09-05 2014-04-22 Honeywell International Inc. Combined face and iris recognition system
CA2544273C (en) * 2003-11-19 2015-01-13 Corestreet, Ltd. Distributed delegated path discovery and validation
KR20060123470A (ko) * 2004-01-09 2006-12-01 코아스트리트 리미티드 OCSP 및 분산 OCSP를 위한 서명-효율적인RTC(Real Time Credentials)
US20050210023A1 (en) * 2004-03-18 2005-09-22 Renato Barrera Query optimizer using implied predicates
US7890497B2 (en) 2004-04-14 2011-02-15 Oracle International Corporation Using estimated cost to schedule an order for refreshing a set of materialized views (MVS)
US7734602B2 (en) 2004-04-14 2010-06-08 Oracle International Corporation Choosing whether to use a delayed index maintenance depending on the portion of the materialized view (MV) changed
US8478742B2 (en) * 2004-04-14 2013-07-02 Oracle Corporation Using estimated cost to refresh a set of materialized views (MVS)
US8583657B2 (en) * 2004-05-06 2013-11-12 Oracle International Corporation Method and apparatus for using a hash-partitioned index to access a table that is not partitioned or partitioned independently of the hash partitioned index
US7921419B2 (en) * 2004-05-12 2011-04-05 Oracle International Corporation Method and mechanism for managing incompatible changes in a distributed system
US7778997B1 (en) 2004-06-11 2010-08-17 Seisint, Inc. System and method for managing throughput in the processing of query requests in a database system
US7873650B1 (en) * 2004-06-11 2011-01-18 Seisint, Inc. System and method for distributing data in a parallel processing system
US8266234B1 (en) * 2004-06-11 2012-09-11 Seisint, Inc. System and method for enhancing system reliability using multiple channels and multicast
US7739287B1 (en) 2004-06-11 2010-06-15 Seisint, Inc. System and method for dynamically creating keys in a database system
US7797333B1 (en) 2004-06-11 2010-09-14 Seisint, Inc. System and method for returning results of a query from one or more slave nodes to one or more master nodes of a database system
US7693826B1 (en) 2004-06-11 2010-04-06 Seisint, Inc. System and method for pre-compiling a query and pre-keying a database system
US7917495B1 (en) 2004-06-11 2011-03-29 Seisint, Inc. System and method for processing query requests in a database system
US7801911B1 (en) * 2004-06-11 2010-09-21 Seisint, Inc. System and method for using activity identifications in a database system
US7702627B2 (en) * 2004-06-22 2010-04-20 Oracle International Corporation Efficient interaction among cost-based transformations
US20050283471A1 (en) * 2004-06-22 2005-12-22 Oracle International Corporation Multi-tier query processing
US7707195B2 (en) * 2004-06-29 2010-04-27 Microsoft Corporation Allocation locks and their use
US7814042B2 (en) * 2004-08-17 2010-10-12 Oracle International Corporation Selecting candidate queries
US7205882B2 (en) * 2004-11-10 2007-04-17 Corestreet, Ltd. Actuating a security system using a wireless device
US7548903B2 (en) * 2005-01-11 2009-06-16 International Business Machines Corporation Method and apparatus for automatic recommendation and selection of clustering indexes
US7779008B2 (en) * 2005-02-16 2010-08-17 Oracle International Corporation Parallel partition-wise aggregation
US7509392B2 (en) * 2005-03-24 2009-03-24 International Business Machines Corporation Creating and removing application server partitions in a server cluster based on client request contexts
US7209990B2 (en) * 2005-04-05 2007-04-24 Oracle International Corporation Maintain fairness of resource allocation in a multi-node environment
JP4729987B2 (ja) * 2005-06-02 2011-07-20 富士ゼロックス株式会社 データ管理システム及びデータサーバ
US7617189B2 (en) * 2005-09-27 2009-11-10 Oracle International Corporation Parallel query processing techniques for minus and intersect operators
US7877379B2 (en) * 2005-09-30 2011-01-25 Oracle International Corporation Delaying evaluation of expensive expressions in a query
KR100682670B1 (ko) * 2005-11-02 2007-02-15 엘지전자 주식회사 힌지 구조 및 상기 힌지 구조를 사용한 스탠드
US20070156769A1 (en) * 2005-12-01 2007-07-05 Ncr Corporation Partition elimination system for a database that uses a multi-level partitioning definition
US8775974B2 (en) * 2005-12-21 2014-07-08 International Business Machines Corporation Multi-contextual delta navigation in a compare view
US7904759B2 (en) * 2006-01-11 2011-03-08 Amazon Technologies, Inc. System and method for service availability management
US8447829B1 (en) 2006-02-10 2013-05-21 Amazon Technologies, Inc. System and method for controlling access to web services resources
US7979460B2 (en) * 2006-02-15 2011-07-12 Sony Computer Entainment America Inc. Systems and methods for server management
JP2009529201A (ja) 2006-03-03 2009-08-13 ハネウェル・インターナショナル・インコーポレーテッド 都合のよい符合化システム
JP4738488B2 (ja) 2006-03-03 2011-08-03 ハネウェル・インターナショナル・インコーポレーテッド 画像品質メトリックを有する虹彩認識システム
WO2007101276A1 (en) 2006-03-03 2007-09-07 Honeywell International, Inc. Single lens splitter camera
JP2009529197A (ja) * 2006-03-03 2009-08-13 ハネウェル・インターナショナル・インコーポレーテッド モジュールバイオメトリクス収集システムアーキテクチャ
WO2007101275A1 (en) * 2006-03-03 2007-09-07 Honeywell International, Inc. Camera with auto-focus capability
US7979439B1 (en) * 2006-03-14 2011-07-12 Amazon Technologies, Inc. Method and system for collecting and analyzing time-series data
US8601112B1 (en) * 2006-03-14 2013-12-03 Amazon Technologies, Inc. Method and system for collecting and analyzing time-series data
US9037698B1 (en) 2006-03-14 2015-05-19 Amazon Technologies, Inc. Method and system for collecting and analyzing time-series data
US7945562B2 (en) * 2006-03-15 2011-05-17 Oracle International Corporation Join predicate push-down optimizations
US7809713B2 (en) * 2006-03-15 2010-10-05 Oracle International Corporation Efficient search space analysis for join factorization
US7644062B2 (en) * 2006-03-15 2010-01-05 Oracle International Corporation Join factorization of union/union all queries
US7945543B2 (en) * 2006-03-30 2011-05-17 International Business Machines Corporation Method and system for deferred maintenance of database indexes
US20070239663A1 (en) * 2006-04-06 2007-10-11 Clareos, Inc. Parallel processing of count distinct values
US7877373B2 (en) * 2006-06-30 2011-01-25 Oracle International Corporation Executing alternative plans for a SQL statement
US7801856B2 (en) * 2006-08-09 2010-09-21 Oracle International Corporation Using XML for flexible replication of complex types
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
US20080114735A1 (en) * 2006-09-29 2008-05-15 Peter Salemink Systems and methods for managing information
US7650371B2 (en) * 2006-12-14 2010-01-19 Microsoft Corporation Finalizable object usage in software transactions
US7830873B1 (en) * 2007-01-09 2010-11-09 Marvell Israel (M.I.S.L.) Ltd. Implementation of distributed traffic rate limiters
US7792822B2 (en) * 2007-03-02 2010-09-07 Microsoft Corporation Systems and methods for modeling partitioned tables as logical indexes
US8063889B2 (en) 2007-04-25 2011-11-22 Honeywell International Inc. Biometric data collection system
US8135688B2 (en) * 2007-06-15 2012-03-13 Oracle International Corporation Partition/table allocation on demand
US8209294B2 (en) * 2007-06-15 2012-06-26 Oracle International Corporation Dynamic creation of database partitions
US8396862B2 (en) * 2007-07-30 2013-03-12 Teradata Us, Inc. Product join dynamic partition elimination for multilevel partitioning
US7831590B2 (en) * 2007-08-31 2010-11-09 Teradata Us, Inc. Techniques for partitioning indexes
US8903801B2 (en) 2007-09-14 2014-12-02 Oracle International Corporation Fully automated SQL tuning
US8341178B2 (en) * 2007-09-18 2012-12-25 Oracle International Corporation SQL performance analyzer
US20090092283A1 (en) * 2007-10-09 2009-04-09 Honeywell International Inc. Surveillance and monitoring system
US8700608B2 (en) 2007-10-17 2014-04-15 Oracle International Corporation SQL execution plan verification
US8438152B2 (en) * 2007-10-29 2013-05-07 Oracle International Corporation Techniques for bushy tree execution plans for snowstorm schema
KR101407959B1 (ko) * 2008-01-22 2014-06-20 삼성전자주식회사 볼 밸런서를 구비한 드럼 세탁기 및 그 제어방법
US20090210617A1 (en) * 2008-02-19 2009-08-20 Ibm Corporation Multi-level volume table of contents
US8266168B2 (en) 2008-04-24 2012-09-11 Lexisnexis Risk & Information Analytics Group Inc. Database systems and methods for linking records and entity representations with sufficiently high confidence
US8436907B2 (en) 2008-05-09 2013-05-07 Honeywell International Inc. Heterogeneous video capturing system
WO2009137967A1 (en) * 2008-05-16 2009-11-19 Shanghai Hewlett-Packard Co., Ltd Provisioning a geographical image for retrieval
US8290917B2 (en) * 2008-06-02 2012-10-16 Microsoft Corporation Reordering of data elements in a data parallel system
US8484211B2 (en) * 2008-07-02 2013-07-09 Lexisnexis Risk Solutions Fl Inc. Batch entity representation identification using field match templates
US9418107B2 (en) * 2008-07-30 2016-08-16 At&T Intellectual Property I, L.P. Method and apparatus for performing query aware partitioning
US8090246B2 (en) 2008-08-08 2012-01-03 Honeywell International Inc. Image acquisition system
US8280119B2 (en) * 2008-12-05 2012-10-02 Honeywell International Inc. Iris recognition system using quality metrics
US8135716B2 (en) * 2008-12-10 2012-03-13 Sap Ag Systems and method for mapping large object data content in a database table to a work area
CN104166673B (zh) 2008-12-22 2017-09-19 谷歌公司 用于复制内容可寻址存储集群的异步分布式去重
US8472681B2 (en) 2009-06-15 2013-06-25 Honeywell International Inc. Iris and ocular recognition system using trace transforms
US8630464B2 (en) * 2009-06-15 2014-01-14 Honeywell International Inc. Adaptive iris matching using database indexing
US8224787B2 (en) * 2009-07-23 2012-07-17 Applied Minds, Llc Redundant, multi-dimensional data partitioning: methods, program product and system
US8756244B2 (en) * 2009-07-29 2014-06-17 Teradata Us, Inc. Metadata as comments for search problem determination and analysis
KR20120120159A (ko) * 2009-12-04 2012-11-01 다카토시 야나세 표 검색 장치, 표 검색 방법, 및, 표 검색 시스템
US9411859B2 (en) 2009-12-14 2016-08-09 Lexisnexis Risk Solutions Fl Inc External linking based on hierarchical level weightings
US8930332B2 (en) * 2010-03-12 2015-01-06 Salesforce.Com, Inc. Method and system for partitioning search indexes
US9104674B1 (en) 2010-04-14 2015-08-11 Inmar, Inc. System, method and computer program product for time sharing access control to data
US8935248B2 (en) 2010-05-17 2015-01-13 United States Postal Service Localized data affinity system and hybrid method
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
US9189505B2 (en) 2010-08-09 2015-11-17 Lexisnexis Risk Data Management, Inc. System of and method for entity representation splitting without the need for human interaction
US8742887B2 (en) 2010-09-03 2014-06-03 Honeywell International Inc. Biometric visitor check system
US8412701B2 (en) * 2010-09-27 2013-04-02 Computer Associates Think, Inc. Multi-dataset global index
US9110938B2 (en) 2010-10-18 2015-08-18 International Business Machines Corporation Parallelizing I/O processing of index insertions during insertion of data into a database
GB2485551A (en) * 2010-11-17 2012-05-23 Index Layers Ltd Federated database with a hierarchical index.
US10713280B2 (en) 2010-12-23 2020-07-14 Mongodb, Inc. Systems and methods for managing distributed database deployments
US10346430B2 (en) 2010-12-23 2019-07-09 Mongodb, Inc. System and method for determining consensus within a distributed database
US10614098B2 (en) 2010-12-23 2020-04-07 Mongodb, Inc. System and method for determining consensus within a distributed database
US8572031B2 (en) 2010-12-23 2013-10-29 Mongodb, Inc. Method and apparatus for maintaining replica sets
US9740762B2 (en) 2011-04-01 2017-08-22 Mongodb, Inc. System and method for optimizing data migration in a partitioned database
US10262050B2 (en) 2015-09-25 2019-04-16 Mongodb, Inc. Distributed database systems and methods with pluggable storage engines
US9805108B2 (en) 2010-12-23 2017-10-31 Mongodb, Inc. Large distributed database clustering systems and methods
US10977277B2 (en) 2010-12-23 2021-04-13 Mongodb, Inc. Systems and methods for database zone sharding and API integration
US11544288B2 (en) 2010-12-23 2023-01-03 Mongodb, Inc. Systems and methods for managing distributed database deployments
US10366100B2 (en) 2012-07-26 2019-07-30 Mongodb, Inc. Aggregation framework system architecture and method
US11615115B2 (en) 2010-12-23 2023-03-28 Mongodb, Inc. Systems and methods for managing distributed database deployments
US8996463B2 (en) 2012-07-26 2015-03-31 Mongodb, Inc. Aggregation framework system architecture and method
US9881034B2 (en) 2015-12-15 2018-01-30 Mongodb, Inc. Systems and methods for automating management of distributed databases
US10740353B2 (en) 2010-12-23 2020-08-11 Mongodb, Inc. Systems and methods for managing distributed database deployments
US10997211B2 (en) 2010-12-23 2021-05-04 Mongodb, Inc. Systems and methods for database zone sharding and API integration
US8793287B2 (en) 2011-05-27 2014-07-29 Sap Ag Equi-joins between split tables
KR20130049111A (ko) * 2011-11-03 2013-05-13 한국전자통신연구원 분산 처리를 이용한 포렌식 인덱스 방법 및 장치
CN102402623A (zh) * 2011-12-28 2012-04-04 北京人大金仓信息技术股份有限公司 面向嵌入式数据库系统的无日志事务处理方法
US8667010B2 (en) * 2012-01-27 2014-03-04 Microsfot Corporation Database table partitioning allowing overlaps used in full text query
US9396227B2 (en) * 2012-03-29 2016-07-19 Hewlett Packard Enterprise Development Lp Controlled lock violation for data transactions
US9639575B2 (en) * 2012-03-30 2017-05-02 Khalifa University Of Science, Technology And Research Method and system for processing data queries
US11544284B2 (en) 2012-07-26 2023-01-03 Mongodb, Inc. Aggregation framework system architecture and method
US11403317B2 (en) 2012-07-26 2022-08-02 Mongodb, Inc. Aggregation framework system architecture and method
US10872095B2 (en) 2012-07-26 2020-12-22 Mongodb, Inc. Aggregation framework system architecture and method
US9612955B2 (en) * 2013-01-09 2017-04-04 Wisconsin Alumni Research Foundation High-performance indexing for data-intensive systems
US9069987B2 (en) * 2013-06-21 2015-06-30 International Business Machines Corporation Secure data access using SQL query rewrites
WO2015025401A1 (ja) 2013-08-22 2015-02-26 株式会社日立製作所 データベース管理システム及びデータベース管理方法
CN105960637B (zh) * 2013-11-28 2020-09-11 英特尔公司 基于块的索引技术
US9870390B2 (en) 2014-02-18 2018-01-16 Oracle International Corporation Selecting from OR-expansion states of a query
US10146813B2 (en) * 2014-07-03 2018-12-04 DocConnects, LLC Single table index relational database
US10621064B2 (en) 2014-07-07 2020-04-14 Oracle International Corporation Proactive impact measurement of database changes on production systems
US9805080B2 (en) 2014-08-22 2017-10-31 Xcalar, Inc. Data driven relational algorithm formation for execution against big data
US10417301B2 (en) 2014-09-10 2019-09-17 Adobe Inc. Analytics based on scalable hierarchical categorization of web content
US10303796B2 (en) * 2015-01-09 2019-05-28 Ariba, Inc. Updating distributed shards without compromising on consistency
US10585887B2 (en) 2015-03-30 2020-03-10 Oracle International Corporation Multi-system query execution plan
US10846275B2 (en) * 2015-06-26 2020-11-24 Pure Storage, Inc. Key management in a storage device
US10496669B2 (en) 2015-07-02 2019-12-03 Mongodb, Inc. System and method for augmenting consensus election in a distributed database
US10846411B2 (en) 2015-09-25 2020-11-24 Mongodb, Inc. Distributed database systems and methods with encrypted storage engines
US10673623B2 (en) 2015-09-25 2020-06-02 Mongodb, Inc. Systems and methods for hierarchical key management in encrypted distributed databases
US10394822B2 (en) 2015-09-25 2019-08-27 Mongodb, Inc. Systems and methods for data conversion and comparison
US10423626B2 (en) 2015-09-25 2019-09-24 Mongodb, Inc. Systems and methods for data conversion and comparison
US10929360B2 (en) * 2015-10-19 2021-02-23 Oracle International Corporation Filtered partition maintenance operations
CN105404679B (zh) * 2015-11-24 2019-02-01 华为技术有限公司 数据处理方法和装置
US11210279B2 (en) * 2016-04-15 2021-12-28 Apple Inc. Distributed offline indexing
US10671496B2 (en) 2016-05-31 2020-06-02 Mongodb, Inc. Method and apparatus for reading and writing committed data
US10776220B2 (en) 2016-06-27 2020-09-15 Mongodb, Inc. Systems and methods for monitoring distributed database deployments
US10296235B2 (en) 2016-06-27 2019-05-21 International Business Machines Corporation Partial volume reorganization to increase data availability
EP4002149A1 (en) * 2017-05-12 2022-05-25 QlikTech International AB Index machine
US10866868B2 (en) 2017-06-20 2020-12-15 Mongodb, Inc. Systems and methods for optimization of database operations
US10459810B2 (en) 2017-07-06 2019-10-29 Oracle International Corporation Technique for higher availability in a multi-node system using replicated lock information to determine a set of data blocks for recovery
US9934287B1 (en) 2017-07-25 2018-04-03 Capital One Services, Llc Systems and methods for expedited large file processing
US11106670B2 (en) * 2017-09-27 2021-08-31 Sap Se Local identifiers for database objects
US11386058B2 (en) 2017-09-29 2022-07-12 Oracle International Corporation Rule-based autonomous database cloud service framework
US10747814B2 (en) * 2017-09-29 2020-08-18 Oracle International Corporation Handling semi-structured and unstructured data in a sharded database environment
US11327932B2 (en) 2017-09-30 2022-05-10 Oracle International Corporation Autonomous multitenant database cloud service framework
CN111868708A (zh) * 2018-01-22 2020-10-30 艾瑞星食品公司 用于提供食品相关信息的系统和方法
US11120046B2 (en) 2018-05-04 2021-09-14 Microsoft Technology Licensing Llc Data replication in a distributed storage system
US10817197B2 (en) 2018-05-04 2020-10-27 Microsoft Technology Licensing, Llc Data partitioning in a distributed storage system
US10725686B2 (en) 2018-09-28 2020-07-28 Burlywood, Inc. Write stream separation into multiple partitions
US11157478B2 (en) 2018-12-28 2021-10-26 Oracle International Corporation Technique of comprehensively support autonomous JSON document object (AJD) cloud service
EP3767486B1 (en) 2019-07-19 2023-03-22 Microsoft Technology Licensing, LLC Multi-record index structure for key-value stores
US11321294B2 (en) * 2019-09-09 2022-05-03 Salesforce.Com, Inc. Database index repair
US11636081B2 (en) 2019-11-20 2023-04-25 International Business Machines Corporation Dynamic index management for computing storage resources
CN113239013B (zh) * 2021-05-17 2024-04-09 北京青云科技股份有限公司 分布式系统及存储介质
US20220405263A1 (en) * 2021-06-21 2022-12-22 International Business Machines Corporation Increasing Index Availability in Databases
KR20230135257A (ko) * 2022-03-16 2023-09-25 주식회사 티맥스티베로 상이한 파티션 정보를 갖는 테이블들을 쿼리하기 위한 방법

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4468728A (en) * 1981-06-25 1984-08-28 At&T Bell Laboratories Data structure and search method for a data base management system
US4811199A (en) * 1987-05-08 1989-03-07 Kuechler William L System for storing and manipulating information in an information base
US5058002A (en) * 1987-06-23 1991-10-15 Mitsubishi Denki Kabushiki Kaisha Page splitting method and apparatus for a database stored in a plurality of memory storage units
US4914569A (en) * 1987-10-30 1990-04-03 International Business Machines Corporation Method for concurrent record access, insertion, deletion and alteration using an index tree
US4853843A (en) * 1987-12-18 1989-08-01 Tektronix, Inc. System for merging virtual partitions of a distributed database
US4961139A (en) * 1988-06-30 1990-10-02 Hewlett-Packard Company Data base management system for real-time applications
US4961134A (en) * 1988-07-15 1990-10-02 International Business Machines Corporation Method for minimizing locking and reading in a segmented storage space
US4933848A (en) * 1988-07-15 1990-06-12 International Business Machines Corporation Method for enforcing referential constraints in a database management system
US4937760A (en) * 1988-09-19 1990-06-26 International Business Machines Corporation Method for sharing common values implicitly among communicating generative objects
US5093911A (en) * 1989-09-14 1992-03-03 International Business Machines Corporation Storage and retrieval system
US5247672A (en) * 1990-02-15 1993-09-21 International Business Machines Corporation Transaction processing system and method with reduced locking
US5257365A (en) * 1990-03-16 1993-10-26 Powers Frederick A Database system with multi-dimensional summary search tree nodes for reducing the necessity to access records
US5261088A (en) * 1990-04-26 1993-11-09 International Business Machines Corporation Managing locality in space reuse in a shadow written B-tree via interior node free space list
US5301286A (en) * 1991-01-02 1994-04-05 At&T Bell Laboratories Memory archiving indexing arrangement
US5293616A (en) * 1991-10-22 1994-03-08 Flint Orin O Method and apparatus for representing and interrogating an index in a digital memory
US5499359A (en) * 1994-01-18 1996-03-12 Borland International, Inc. Methods for improved referential integrity in a relational database management system
US5511190A (en) * 1995-01-20 1996-04-23 Tandem Computers, Inc. Hash-based database grouping system and method

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0772139A3 (en) * 1995-11-01 1998-04-01 FileTek, Inc. Method and apparatus for segmenting a database
US6049804A (en) * 1995-11-01 2000-04-11 Filetek, Inc. Method and apparatus for segmenting a database
JP2000259522A (ja) * 1999-03-08 2000-09-22 Nec Corp ネットワーク管理システムおよび管理情報転送方法
JP2001229060A (ja) * 2000-02-17 2001-08-24 Nec Corp ディレクトリ検索システム及び方法、ディレクトリ検索プログラムを記録したコンピュータ読取可能な記録媒体
JP2007025735A (ja) * 2005-07-12 2007-02-01 Hitachi Ltd データベース管理システムのインデックス運用方法
CN100442282C (zh) * 2005-08-16 2008-12-10 杭州华三通信技术有限公司 分布式系统中数据查询的方法及板间数据同步的方法
JP2007317138A (ja) * 2006-05-29 2007-12-06 Nomura Research Institute Ltd データ記憶システム、ファイル検索装置およびプログラム
JP2008108088A (ja) * 2006-10-26 2008-05-08 Chugoku Electric Power Co Inc:The 情報管理システム
JP2016522928A (ja) * 2013-05-07 2016-08-04 華為技術有限公司Huawei Technologies Co.,Ltd. 分散記憶システムにおけるセカンダリインデックスを確立するための方法、装置及びシステム

Also Published As

Publication number Publication date
JP2583010B2 (ja) 1997-02-19
US5551027A (en) 1996-08-27

Similar Documents

Publication Publication Date Title
JP2583010B2 (ja) 多層インデックス構造におけるローカルインデックステーブル及び大域インデックステーブルの間の一貫性を維持する方法
US5960194A (en) Method for generating a multi-tiered index for partitioned data
Olken et al. Random sampling from databases: a survey
DeWitt et al. Implementation techniques for main memory database systems
JP3945771B2 (ja) データベース・システム
Idreos et al. Updating a cracked database
Lu et al. T-tree or b-tree: Main memory database index structure revisited
Kornacker et al. High-concurrency locking in R-trees
US7765211B2 (en) System and method for space management of multidimensionally clustered tables
US6161109A (en) Accumulating changes in a database management system by copying the data object to the image copy if the data object identifier of the data object is greater than the image identifier of the image copy
US5560007A (en) B-tree key-range bit map index optimization of database queries
EP2471013B1 (en) Continuous full scan data store table and distributed data store featuring predictable answer time for unpredictable workload
JPH04337850A (ja) データベース・トランザクション及び照会処理システム
Taniar et al. A taxonomy of indexing schemes for parallel database systems
Graefe et al. Transactional support for adaptive indexing
US6647386B2 (en) Method, system, and program for reverse index scanning
US7080072B1 (en) Row hash match scan in a partitioned database system
US6944633B1 (en) Performing a join in a partitioned database system
US7136861B1 (en) Method and system for multiple function database indexing
Taniar et al. Global parallel index for multi-processors database systems
Christodoulou et al. HINT: a hierarchical interval index for Allen relationships
Graefe Executing nested queries
Skidanov et al. A column store engine for real-time streaming analytics
Srinivasan et al. On-line index construction algorithms
Kuno et al. Deferred maintenance of indexes and of materialized views

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term