JPH09507109A - コンピュータデータベースに関するトランザクションの処理を促進させるための装置 - Google Patents

コンピュータデータベースに関するトランザクションの処理を促進させるための装置

Info

Publication number
JPH09507109A
JPH09507109A JP7513213A JP51321395A JPH09507109A JP H09507109 A JPH09507109 A JP H09507109A JP 7513213 A JP7513213 A JP 7513213A JP 51321395 A JP51321395 A JP 51321395A JP H09507109 A JPH09507109 A JP H09507109A
Authority
JP
Japan
Prior art keywords
value
key
search
address
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP7513213A
Other languages
English (en)
Inventor
リン エム ヒューエイ
Original Assignee
パラコム コーポレイション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by パラコム コーポレイション filed Critical パラコム コーポレイション
Publication of JPH09507109A publication Critical patent/JPH09507109A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99932Access augmentation or optimizing

Landscapes

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

Abstract

(57)【要約】 コンピュータデータベース(110)を管理するためのハドウエアアクセラレータ(120)は、レコードアドレス値に対するレコードキー値のマップを記憶するキーメモリ(124)と、所定のキー値についてキーメモリ(124)を探索し、関連したレコードアドレス値を中央処理装置(102)へと与える探索プロセッサ(122)と、中央処理装置(102)に対して探索プロセッサ(122)およびキーメモリ(124)をインターフェイスするバスインターフェイス(130)とを備える。中央処理装置(102)に関して実行するデータベース管理ソフトウエア(116)は、バスインターフェイス(130)を介して探索プロセッサ(122)へ要求を発することにより、キー値からレコードアドレス値へのマッピングを要求する。アクセラレータ(120)は、また、キーメモリ(124)においてエントリを追加したり削除したりする動作も行なう。アクセラレータ(124)は、エントリの探索値が単一でないようなメモリを探索するのに特に有用な変形バイナリ探索を使用する。この変形バイナリ探索は、所定の値に整合するメモリにおける最初のエントリを見つけ出す。バイナリ探索を繰り返す毎に、探索されたエントリと所定の値との比較によって発生されるCARRYは、その探索の次の繰り返しにおいて算出されるプローブアドレスを変更するために使用される。この探索は、所定の値が見つけ出されたときに終了するのでなく、始端および終端アドレスが所定のエントリと整合する最初のエントリに収れんするまで続けられる。

Description

【発明の詳細な説明】 コンピュータデータベースに関するトラン ザクションの処理を促進させるための装置 発明の背景 本発明は、コンピュータデータベースに関するトランザクションの処理を促進 させるための装置および方法に関する。 コンピュータデータベースは、データレコードの収集体である。各データレコ ードは、そのレコードのための“名称”として役立つ1つまたはそれ以上の論理 的キーを有している。典型的には、あるアプリケーションプログラムがそのデー タベースにおけるあるレコードに対してアクセス要求をするとき、そのアプリケ ーションプログラムは、データベース管理プログラムへある論理的キー値を与え る。すると、そのデータベース管理プログラムは、ディスクまたはメモリに保持 されたインデックスからの情報に問い合わせて、その論理的キー値をレコードア ドレス値へとマッピングする。このレコードアドレス値は、その論理的キー値に 関連したデータ記録が見だされるはずであるディスクの場所を特定している。こ うして、データベースインデックスは、書物の索引と非常によく似た機能を果た すものである。読者がある論理的キー値(興味のある題目)を与えると、その索 引が、その情報が見だされるはずであるレコードアドレス値(頁番号)を与える 。 データベースは、多重キーを有しうる。典型的には、1つのキーは、レコード への明白ですばやいアクセスを与える“一次キー”として選定されており、“二 次キー”は、単一レコードへのよりゆっくりとしているか、より特定的でないア クセスを与える。例えば、従業員データベースは、その一次キーとして従業員番 号を使用し、二次キーとして従業員の名前および所属部の番号を使用することが できる。キーインデックスは、それがディスク上に存在するとき、データベース の永久的な部分である。キーインデックスは、(書物の目次がその本文と共通の 綴じ込みとなっているのと同様に)データレコード自体と同じファイルに記憶さ れてもよいし、(何巻もからなる百科事典の索引/概観巻のように)別のファイ ルに記憶されていてもよい。 既知のデータベース管理システムは、2つの論理 的レイヤーに分けられている。すなわち、データベースマネージャーと称される 上部レイヤーは、ユーザインターフェイス(例えば、データベース質問言語)を 与え、データベースエンジンと称される下部レイヤーは、データベースの構造、 すなわち、実際にデータベースファイルに記憶された物理的データと論理的キー との間の関係を維持する。 発明の概要 第1の観点においては、本発明は、コンピュータデータベースを管理するため のハードウエアアクセラレータを提供する。このアクセラレータは、レコードキ ー値をレコードアドレス値に関連付けるマップを記憶するためのキーメモリと、 該キーメモリを所定の値について検索し且つ関連したレコードアドレス値を中央 処理装置へ与えるための探索プロセッサと、前記探索プロセッサおよびキーメモ リを前記中央処理装置に対してインターフェイスするためのバスインターフェイ スと、該バスインターフェイスを介して要求を前記探索プロセッサへと発するこ とにより、レコードキー値からレコードアドレス値へのマッピングの要求を前記 中央処理装置において実行させるためのデータベース管理ソフトウエアとを含む 。 本発明の好ましい実施例においては、次のような諸特徴が含まれる。キーメモ リマップは、例えば、単一でない二次キーの場合には、単一キー値から多重レコ ードアドレスへのマッピングを含みうる。探索プロセッサは、所定のキー値と整 合するキーメモリの最初のエントリを与えるバイナリ探索構造でもってキーメモ リを探索するための構造を含みうる。データベース管理ソフトウエアは、レコー ドアドレスへのマッピングを行なうために探索プロセッサへキー値を与える前に 、論理的キー値からエンコードされたキー値へのマッピングを行なうための構造 を有する。中央処理装置は、キーメモリを割り当てるための構造を含む。ホスト コンピュータのディスクメモリに記憶されたインデックスファイルは、そのキー メモリの内容のイメージを記憶しうる。中央処理装置がキーメモリに対して読み 出しを行ったり書き込みを行ったりすることができるメモリポートを設けること ができる。探索プロセッサは、中央処理装置へ、所定のキー値に対応するキーメ モリのエントリのインデックスを与えることができ、また、そのときは、データ ベ ース管理ソフトウエアは、そのインデックスに対応するエットリをキーメモリか ら読み出すことができる。データベースアクセラレータは、キーメモリへエント リを加えたり、および/または、キーメモリからエントリを削除したりするため の構造を含みうる。 第2の観点においては、本発明は、エントリの探索値が単一でないメモリを探 索するのに特に有用な変形バイナリサーチを特徴とする。この変形バイナリ探索 は、所定の値に整合する最初のエントリをメモリ内に見つけ出す。通常のバイナ リ探索におけるように、それらエントリは、分類された順序にてメモリに記憶さ れている。始端アドレスと終端アドレスとの平均であるプローブアドレスが形成 され、対応するエントリが探索される。探索エントリと所定の値との比較に依存 して、始端アドレスまたは終端アドレスが、そのプローブアドレスと等しく設定 される。変形バイナリ探索では、探索エントリと所定の値との比較により発生さ れたCARRYを用いて、その探索の次の繰り返しにおいて算出されるプローブ アドレスを変更する。所定の値が見つけ出されたときに終了する代わりに、この 探索は、始端アドレスと終端アドレスとが所定の値に整合する最初のエントリに 収れんするまで、続けられる。 本発明の種々ある効果として、次のようなものが挙げられる。データベースア クセラレータを使用しているデータベースマネージャーは、アクセラレータを持 たないものと比較して、はるかに速く動作する。何故ならば、論理的キー値のレ コードアドレス値へのマッピングが、インデックス情報のディスクコピーへのア クセスなしに行われうるからである。本発明は、データベースソフトウエアベン ダーに対するコピー防止機能を与える。すなわち、データベース管理ソフトウエ アの不正なコピーは、データベースアクセラレータボード無しでは使用できない 。従来のソフトウエアデータベースエンジンでは、探索のためには速くアクセス できるようにするが、レコードの追加または削除についてはゆっくりとしたアク セスしかできないようにする(階層的組織において典型的である)か、または、 レコードの追加または削除については速くアクセスすることができるようにする が、ゆっくりとした探索しかできないようにする(関係形式データベースにおい て典型的である)か、のどちらかにせざるを得なかった。これに対して、本発明 によ れば、それらのどちらのソフトウエアデータベースエンジンよりも、はるかに速 く探索機能も更新機能も行え、また、構造設計もより簡単とされる。 本発明のその他の効果および特徴については、次の添付図面に関連してなされ る好ましい実施例の説明から明らかとなろう。 図面の簡単な説明 第1図は、データベースアクセラレータを有したコンピュータを示すブロック 図である。 第2図は、データベースのディスクレコードおよびキーメモリを有するデータ ベースアクセラレータを示す図である。 第3図は、データベースアクセラレータのブロック図である。 第4図は、データベースアクセラレータの動作のフローチャートを示す図であ る。 好ましい実施例の説明 第1図を参照するに、パーソナルコンピュータ100は、中央処理装置(CP U)102と、ランダムアクセスメモリ(RAM)104と、ディスクまたはそ の他の大型記憶装置106とを有しており、これらのすべては、システムバス1 08を介して通信するようにされている。ディスク106は、データベースを構 成するデータファイル110およびインデックスファイル112を保持しており 、CPU102は、RAM104に記憶されたデータベース管理ソフトウエア1 14およびアプリケーションソフトウエア116を実行させる。データベースア クセラレータ120もまた、バス108を介して通信し、コントロールロジック 122およびキーメモリ124を有している。 後述する始動段階中において、論理的キー値をレコードアドレス値へとマッピ ングするためのインデックス情報は、高速アクセスのためにインデックスファイ ル112からキーメモリ124へとロードされる。 一般的動作においては、アプリケーションソフトウエア116は、データベー スマネージャー114からの動作を要求する。もし、その要求が、SEARCH 、ADDITIONまたはDELETIONのうちの一つであるならば、そのと きには、データベースマネージャー114は、その要求をシステムバス108を 介 してバスインターフェイス130を通してデータベースアクセラレータ120へ と通過させ、データベースインデックスファイル112へアクセスする段階をバ イパスする。探索動作を、データベースアクセラレータ120によって行われる 代表的な動作として考え(SEARCH、ADDITIONおよびDELETI ONについては、後で、第4図を参照して、より詳細に説明する)、データベー スマネージャー114は、ある論理的キー値をデータベースアクセラレータ12 0へ与え、且つ、その論理的キーを探索するためのコマンドを与える。データベ ースアクセラレータ120内において、コントロールロジック122(状態マシ ンでありうる)は、そのアクセラレータのキーメモリ124におけるその要求さ れた動作を指示する。もし、その論理値がキーメモリ124において見出される ならば、コントロールロジック122は、その論理的キー値に関連したレコード アドレス値をデータベースマネージャー114へ与える。その時、そのデータベ ースマネージャー114は、データベースファイル110における適当なデータ ベースレコードにアクセスできる。 第2図を参照するに、データベースアクセラレータのキーメモリ124は、2 つのコラム、すなわち、エンコードされた論理的キー値のための左側コラム20 2と、関連するレコードアドレス値のための右側コラム204とを有しているか のように、組織されている。第2図において、インデックス112を有したデー タベース110は、各々が一次キーおよび二次キーを有した5つのデータレコー ドを有するようなものとして例示されている。始動段階中において、これらの一 次および二次のエンコードされた論理的キー値は、それらの関連したレコードア ドレスと共に、それらのキー値にしたがった分類された順番にて、キーメモリ1 24にロードされている。一般的な動作中において、コントロールロジック12 2は、エンコードされた論理的キー値211−215または221−225につ いて左側コラム202の探索を指示する。そのエンコードされた論理的キー値が 見つけ出されるときには、その右側コラムにおける対応するエントリが、そのレ コード251−255のためのレコードアドレス値231−235または241 −245である。こうして、キーメモリ124は、インデックスファイル112 における情報に関するキャッシュとして作用する。 第3図を参照するに、データベースアクセラレータ120は、バスインターフ ェイス130を有する。このバスインターフェイス130の設計は、ホストコン ピュータのバスプロトコル、例えば、種々な型のパーソナルコンピュータにおい て見出されるAT、ISA、EISA、Microchannel、またはMacIntoshバスア ーキテクチャによって、主として決定されている。第3図のロジックは、任意の 都合のよい技法、例えば、カスタムVLSI、ゲートアレイ、フィールドプログ ラマブルゲートアレイ、プログラマブルロジックアレイ(PALs)、ビットス ライスプロセッサ、またはマイクロプロセッサにて実施されうる。キーメモリ1 20は、データベース110の所望のキーを保持するようなサイズとされており 、典型的には、256kBである。 データベースアクセラレータ120は、ホストプロセッサ102のメモリスペ ースへマッピングされている多数のコントロールレジスタおよびデータを有する 。ホストプロセッサ102は、典型的には、例えば、探索するための値、探索す るためのキーメモリの領域の低限界および高限界、コマンド値(例えば、SEA RCH)およびGOコマンド等の値をレジスタへと書き込むことにより、データ ベースアクセラレータからのサービスを要求する。データベースアクセラレータ 120がその要求をサービスするとき、ホストプロセッサ102は、その他の機 能を行なうか、または、データベースアクセラレータの状態レジスタに関するス ピンウエイトを実行するか、によってその動作が完了するまで待つことができる 。このような段階については、後で、より詳細に説明する。 キーメモリ124は、ホストによって読み出されたり、書き込まれたりされう る。キーメモリにアクセスするために、ホスト102は、メモリLOADまたは UNLOADコマンドをコントロールバッファ301へ書き込む。それに応答し て、アドレスマルチプレクサは、アドレスバッファ309のアドレス値をキーメ モリ124へと通す。コントロールバッファ301がLOADへセットされると き、メモリデータバッファ303へ書き込まれている、どのデータ値もアドレス バッファ309に指定されたアドレスで、キーメモリ124へ書き込まれる。同 様に、コントロールバッファ301がUNLOADへセットされるとき、アドレ スバッファ309によってアドレスされるセル値が、ホストが読み出すためにメ モリデータバッファ303へコピーされる。キーメモリ124は典型的には非常 に大きいので、コントロールバッファ301は、ウインドウをキーメモリ124 に亘って移動させる高アドレスビットを記憶し、低いアドレスビットは、アドレ スバッファ309に記憶される。 次に、始動段階についてより詳細に説明するに、始動段階は、次のようにして 進められる。キーメモリ124には、エンコードされた論理的キー/レコードア ドレス値対がロードされる。そのエンコードされた論理的キー値は、キーメモリ 124の一方のコラム202に、16ビットのエンコードされたキー値として記 憶され、ホストプロセッサ120は、任意の都合のよい方法、例えば、CRC( 円形冗長検査)の如き既知のハッシュ関数による方法によって、各任意長の論理 的キー値を16ビットのエンコードされたキー値へとマッピングする。こうして 、いくつかの論理的キー値は、同一のエンコードされたキー値へとマッピングさ れ得て、異なるレコードアドレスを有し得る。第2図におけるレコードアドレス 値コラムは、データベースファイル110内のレコード番号を表す16ビットの 整数として第2のコラム204に記憶される。キーメモリ124にロードするた め、ホストデータベースソフトウエア114は、データベース110、112か ら、レコードの番号のカウントおよびそのデータベースレコードのためのレコー ドアドレス値を得て、どのエンコードされた論理的キーおよびレコードアドレス がキーメモリ124に記憶されるかを選択する。例えば、インデックスファイル 112は、そのエンコードされた論理的キーおよびレコードアドレスを、厳密に 、キーメモリ124に使用されるフォーマットにて記憶しうる。その場合におい て、単に、インデックスファイル112からのインデックスをキーメモリ124 へとコピーするだけで、キーメモリ124にロードすることが可能である。また は、ホストデータベース114は、データベースファイル110のレコードを読 み出し、論理的キーを抽出し、それらを、16ビットのエンコードされたキーへ とマッピングし、そのエンコードされたキー/レコードアドレス対を前述したよ うなLOADコマンドを使用してキーメモリ124に記憶することもできる。 ホストデータベースソフトウエア114は、キーメモリ124を管理し、例え ば、多重論理的キーの間にキーメモリ124を配分する。例えば、もし、キーメ モリ124が4096個のエントリを有し、データベースファイル110が3つ のキー(典型的には、1つの一次キーと2つの二次キー)を有する場合には、ホ ストデータベースソフトウエア114は、その一次キーをエントリ0から136 5に記憶させ、二次キーをエントリ1366から2730に記憶させ、三次キー をエントリ2731から4095に記憶させるように決定することができる。ホ ストデータベースソフトウエア114は、各SEARCH、ADDITION、 またはDELETION要求に対して正しい限界を指定することができるように 、各論理的キーに配分されたキーメモリの領域を維持する。キーメモリ124に おけるエントリは、データベースアクセラレータ120の探索回路によって実施 される探索戦略によって必要とされるように管理される。例えば、もし、データ ベースアクセラレータ120がバイナリ探索を使用している場合には、キーメモ リにおけるエントリは、1つの論理的キーに割り当てられた領域内にギャップが ないようにして分類された順序にて記憶されなければならない。 第4図は、キーメモリ124が配分されロードされた後のデータベースアクセ ラレータ120の動作を示している。ステップ402において、ホストプロセッ サ102は、アクセラレータのデータレジスタのうちのいくつかにコマンドおよ びデータ値を書き込む。これらデータレジスタの使用は、後述するような各動作 について特定されている。比較ステップ408は、種々なコマンドの間でSEA RCH、DELETIONおよびADDITION動作を区別する。これら動作 の各々については、後述する。 第3図および第4図を参照するに、SEARCHコマンドは、エンコードされ たキー値に対応するキーメモリの選択された領域における最初のキー値をつきと めるためにバイナリ探索を使用しており、したがって、キーメモリ124のエン トリは、エンコードされたキー値202によって昇り順序にて分類されて記憶さ れる。ステップ402において、ホストプロセッサ102は、始端アドレスレジ スタSAR316および終端アドレスレジスタEAR314において探索を行な うための間隔を定めるキーメモリ124のエントリ番号を記憶する。探索すべき エンコードされたキー値は、データバッファ310に記憶されている。SEAR CHコマンドを指定する値は、コントロールバッファ301に記憶されている。 これらのデータがステップ402および404において各レジスタに記憶された とき、ホスト102は、ステップ404においてGO信号をゴー/結果バッファ 307へ書き込む。 ステップ406において、データベースアクセラレータ120は、ホストプロ セッサ102によって読み出されるように、コントロールバッファ301の値を BUSYへセットするように応答する。ステップ408において、コントロール ロジック302は、実行すべきコマンドがどれかを決定し、その適当なコマンド を実行するようにデータベースアクセラレータ120のロジックを制御する。S EARCH手順は、ステップ410で始まる。比較器318からのCARRY信 号は、コントロールロジック302によって1へセットされる。この探索の後の ステップにおいて、このCARRY信号は、比較器320によって自動的に発生 され、もし、ある選択されたエンコードされたキー値がキーメモリ124に何回 も現れる場合には、その探索を最初にヒットするところで終了させる代わりに、 これらの多重エントリのうちの次に続く最初のエントリのところで終了させるよ うに、バイナリ探索のための通常のルールを変更するのに使用される。FOUN D信号も、ステップ410にて0へセットされる。このFOUND信号は、キー メモリ124におけるいずれかのエントリがそのエンコードされた論理的キー値 と整合しているかを指示し、したがって、その探索が成功したかを指示する。ス テップ412において、加算器317は、SAR316、EAR314の内容と CARRYとを加算し、シフトレジスタ320にて2で除算し、このバイナリ探 索のこのステップにて探索すべきキーメモリ124におけるアドレスである値M 1を形成する。ステップ414において、FINISHEDフラッグは、比較器 319を介してSAR316の現在値と比較されるM1の値を記録し、これが、 このバイナリ探索の最後のプローブであることを指示する。先にステップ426 を見ると、もし、FINISHEDフラッグがステップ414にてセットされた 場合には、エントリM1でのこのプローブは、そのバイナリ探索の最終プローブ であり、この探索は、この繰り返しにて終了することができる。 ステップ416において、M1は、キーメモリ124にアドレスするために、 アドレスマルチプレクサ308を介して多重化される。キーメモリ124のエン トリM1でのエンコードされたキー/レコードアドレス値は、暫定バッファ31 1にロードされる。ステップ418において、データバッファ310からの探索 キー値は、比較器320によって探索されエンコードされたキー値311と比較 される。コントロールロジック302は、比較器320の結果を使用して、その 探索されエンコードされたキー値がその探索キー値より小さいか、等しいか、大 きいかを決定する。ステップ422において、もし、その探索キー値と探索され エンコードされたキー値とが等しい場合には、比較器320からのCARRYが クリアされる(CARRY:=0)。コントロールロジック302は、FOUN Dフラッグをセットし(FOUND:=1)、EAR314の内容をM1の値と 置き換える。ステップ420において、もし、暫定バッファ311(探索された キー値を保持している)がデータバッファ310(探索キー値を保持している) より小さい場合には、値M1は、アドレスMUX308からSAR316へとラ ッチされ、CARRYがセットされる(1へ)。さもなければ、ステップ424 において、探索されたキー値311は、探索キー値310より大きく、アドレス M1は、アドレスMUX308からEAR314へとラッチされ、CARRYが クリアされる。ここで注目すべき点は、このバイナリ探索は、探索キー値がキー メモリ124からのエンコードされたキー値と整合したときに停止するのでなく 、このバイナリ探索は、キーメモリ124におけるエントリがデータバッファ3 10に記憶された探索キー値と最初に整合してこの探索のための低限界SAR3 16および高限界EAR314が終わるまでは、続けられるということである。 ステップ426において、このバイナリ探索がSARの内容のうちの一つ内に て終わったときに(すなわち、EAR314の内容(値M1に等しい)、もし、 そのようなエントリが指定された元のSAR値とEAR値との間に存在する場合 には、エンコードされたキー値に整合するキーメモリ124における最初のエン トリをM1は指している。もし、FOUNDフラッグがステップ422において セットされた場合には、少なくとも1つの整合エントリがあることが分かる。し たがって、ステップ426での比較の結果が肯定(Yes)となり、ステップ4 28へと進められる。ステップ428では、その値M1がゴー/結果バッファ3 07へと書き込まれ、FOUND状態値がコントロールバッファ301へと書 き込まれる。比較の結果が否定(No)であると、そのバイナリ探索が続けられ なければならないことが指示され、EARとSARとの間の差が半分で終わった ことを指示している。 このデータベースアクセラレータの探索動作は、ステップ430で完了する。 もし、ホストプロセッサ102がビジーであって、コントロールバッファ301 を待っている場合には、それは実行を継続することができる。ホストプロセッサ 102は、ゴー/結果バッファ307からM1値を読み出し、次いで、読み出す べきキーメモリ124におけるエントリを特定する。もし、このエントリのエン コードされたキーが探索されたエンコードされたキーと整合する場合には、この エントリの低16ビットが、データベースファイル110から読み出すべきレコ ードを特定する。ホストプロセッサ102は、典型的には、データベースファイ ル110から指示されたレコードを読み出す。 同一のエンコードされたキー値を有する多数のレコードがあるので(特に、論 理的キー自体が単一でないことがありうる二次キーの場合において)、典型的に は、探索されたエンコードされたキー値を有するレコードのすべてを調べること が必要である。探索手順410から430により、探索されたエンコードされた キー値と整合するキーメモリの最初のエントリのみが与えられ、ホストプロセッ サ102は、典型的には、キーメモリ124から読み出されるエンコードされた キー値が探索されたエンコードされたキーと最早整合しなくなるまで、キーメモ リ124から相続くエントリを読み出し且つデータベースファイル110からレ コードを読み出すために前述したUNLOADコマンドを使用する。 DELETIONおよびADDITION動作は、フローチャートのステップ 440から452に例示されている。エンコードされたキーのアレイおよびレコ ードアドレス値対は、密に維持されねばならないので(特定の論理的キーに対し て専用されるキーメモリスペースにどのような孔があってもならない)、ADD ITIONは、挿入されたキー値よりも高いアレイの部分を、1つのキーメモリ 位置だけ上に移動させるように作動する。ホストプロセッサ102は、その新し いエンコードされたキーおよびレコードアドレス対を選択された位置へ書き込む 。ステップ450から454のDELETIONは、キーメモリの上方部分を1 つ のエントリだけ下にコピーするように作動する。ホストデータベースソフトウエ ア114は、正しいEAR値がキーメモリ124に関する次の動作を適切に境界 付けるために使用されうるように、その終端値を更新する。 ADDITION(DELETION)コマンドを実行するために、ステップ 402から404において、ホストプロセッサ102は、挿入(削除される)メ モリ位置に対するキーメモリエントリ番号をUCR306へ書き込み、最後の正 当エントリ番号をEAR314へ書き込み、ADDITION(DELETIO N)コマンド値をコントロールバッファ301へ書き込み、GO信号をゴーバッ ファ307へ書き込む。ステップ406において、コントロールロジック302 は、コントロールバッファ301の値を、BUSYにセットし、また、そのデー タ移動が完了するときに、FOUNDまたはNOTBUSYにセットする。ステ ップ440から442(450から452)において、ADDITION(DE LETION)コマンドは、UCR306にて特定されたエントリより上方のす べてのエントリを1つのエントリ分だけ上方(下方)に移動させる。ADDIT IONコマンドがデータベースアクセラレータによって完了されるとき、キーメ モリにおける1つのエントリが複写され、新しいエントリが、前述したLOAD コマンドを使用してそれら複写のうちの最初のものの上に書き込まれる。ADD ITION(DELETION)コマンドは、ステップ446(454)にて完 了する。 キーマップ124は、例えば、DELETIONおよびADDITIONコマ ンドの後で、データベースファイル110と矛盾のないように維持される。伝統 的なソフトウエアデータベースエンジンに使用される技術のあるものは、有用な ものとして利用でき、また、いくつかの技術は、劇的に簡単化されうる。ホスト コンピュータ102において作動するデータベースマネージャー114は、デー タベースファイルに書き込むすべてのトランザクションを記録するトランザクシ ョンのログファイルを維持する。トランザクションのログファイルは、クラッシ ュ回復を助けるために維持される。インデックス探索、挿入および削除はインデ ックスファイル112におけるディスク速度の代わりに、キーメモリ124にお けるRAM速度で起きるので、階層的データベースマネージャーから許容しうる 性能を得るのに普通に使用されるコンプレックスインデックスファイル112( およびインデックスファイルを操作するためのコンプレックスデータベースエン ジンソフトウエア)は不必要である。キーメモリの124個のエンコードされた キー/レコードアドレス対の単なるイメージであるインデックスファイルで充分 であり、これは、頻繁には更新されず、例えば、ユーザがその日の終わりとする ときに更新されうる。もし、コンピュータがインデックスファイル112をデー タベースファイル110と一致するように更新せずにクラッシュする場合には、 インデックスファイル112は、データベースファイル110におけるレコード から再生されうる。ユーザが普通にエクシットするとき、ホストは、そのアクセ スウインドウを使用してキーメモリ124からエントリを読み出し、キーメモリ 124のイメージをインデックスファイル112へ記憶させて、インデクッスフ ァイル112をデータベースファイル110と一致させるようにする。ユーザが 次にデータベースへログするとき、キーメモリ124は、インデックスファイル 112から直接的にロードされうる。 ホストデータベースソフトウエア114がデータベースアクセラレータ120 へコマンドを発するとき、ホストプロセッサ102は、データベースアクセラレ ータを待つスピンウエイトに入り、コントロールバッファ301に“動作完了” 状態コードをセットする。データベースアクセラレータは、例えば、16個のプ ローブを使用する256Kメモリにおける64Kエントリの探索を、ホストプロ セッサのためのスピンループの2または3回の繰り返しである、16MHzデー タベースアクセラレータクロックについて937nsにて完了するに充分に速い 。 その他の実施例においては、キーメモリを種々異なった形に組織することがで きる。例えば、大きなデータベースの場合には、エンコードされたキーおよびレ コードアドレスに対して32ビット(またはより大きい)表現を使用することが 望ましい。長さレジスタは、エンコードされたキー値の長さを特定し、または、 タイプレジスタは、論理的キーの照合シーケンスを特定する。レコードアドレス は、任意の都合のよい表現、例えば、データレコードを見出すべきディスクボリ ューム、シリンダ、ヘッドおよびレコードを記憶する表現にて記憶されうる。キ ーメモリは、任意の都合のよい探索技術、例えば、Bトリー、ハッシュテーブル 、 フィボナッチ探索または補間探索を使用するように組織されうる。キーメモリ組 織は、探索に関する挿入および削除の相対的頻度によって選択される。 その他の実施例は、次の請求の範囲内に入るものである。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,DE, DK,ES,FR,GB,GR,IE,IT,LU,M C,NL,PT,SE),OA(BF,BJ,CF,CG ,CI,CM,GA,GN,ML,MR,NE,SN, TD,TG),AP(KE,MW,SD,SZ),AM, AT,AU,BB,BG,BR,BY,CA,CH,C N,CZ,DE,DK,EE,ES,FI,GB,GE ,HU,JP,KE,KG,KP,KR,KZ,LK, LT,LU,LV,MD,MG,MN,MW,NL,N O,NZ,PL,PT,RO,RU,SD,SE,SI ,SK,TJ,TT,UA,UZ,VN 【要約の続き】 モリにおける最初のエントリを見つけ出す。バイナリ探 索を繰り返す毎に、探索されたエントリと所定の値との 比較によって発生されるCARRYは、その探索の次の 繰り返しにおいて算出されるプローブアドレスを変更す るために使用される。この探索は、所定の値が見つけ出 されたときに終了するのでなく、始端および終端アドレ スが所定のエントリと整合する最初のエントリに収れん するまで続けられる。

Claims (1)

  1. 【特許請求の範囲】 1.ホストコンピュータと関連して記憶されたデータベースを管理するための装 置であって、前記データベースは、各々がレコードアドレス値および少なくとも 1つの論理的キー値によって識別される複数のレコードを有しており、前記ホス トコンピュータは、中央処理装置を有しているような装置において、 前記データベースのレコードのキー値の前記レコードのレコードアドレス値 へのマップを記憶するためのキーメモリと、 前記中央処理装置からの要求に応答して所定のキー値について前記キーメモ リを探索し、それに関連したレコードアドレス値を前記中央処理装置へと与える ための探索プロセッサと、 前記探索プロセッサおよびキーメモリを前記中央処理装置に対してインター フェイスするためのバスインターフェイスと、 前記中央処理装置にて実行するためのデータベース管理ソフトウエアとを備 えており、前記ソフトウエアは、前記バスインターフェイスを通して通信される 要求を前記探索プロセッサへ発することにより、前記所定のキー値から前記レコ ードアドレス値へのマッピングを要求するように構成されていることを特徴とす る装置。 2.単一のキー値を前記キーメモリマップにおける多重レコードアドレス値へと マッピングするためのマッピング手段をさらに備える請求項1記載の装置。 3.前記探索プロセッサは、前記所定のキー値と整合する前記キーメモリの最初 のエントリを与えるバイナリ探索手段でもって前記キーメモリを探索するための 手段を備える請求項1記載の装置。 4.前記バイナリ手段は、 (a) 前記キー値を、前記キーメモリのインデックスされたエントリにおいて分 類された順序で記憶するための手段と、 (b) 探索すべき間を示す前記キーメモリのエントリ番号に対応する始端アドレ スおよび終端アドレスを与えるための手段と、 (c) 探索される探索値を与えるための手段と、 (d) Falseの初期FOUND値および初期CARRY値を与えるための手 段と、 (e) 前記始端アドレス、終端アドレスおよびCARRYを加算し、その和を2 で除算することによりプローブアドレスを形成するための手段と、 (f) 前記プローブアドレスによってインデックスされた前記キーメモリエント リのキー値を読み出すための手段と、 (g) 前記探索値を前記読み出されたキー値と比較し、その比較にしたがって前 記CARRY値を0または1へセットするための手段と、 (h) 前記読み出されたキー値が前記探索される値より小さい場合に、前記始端 アドレスを前記プローブアドレスにセットするための手段と、 (i) 前記読み出されたキー値が前記探索される値に等しい場合に、FOUND をTrueにセットし、前記終端アドレスを前記プローブアドレスにセットする ための手段と、 (j) 前記読み出されたキー値が前記探索される値より大きい場合に、前記終端 アドレスを前記プローブアドレスへセットするための手段と、 (k) 探索インデックスが始端アドレスに等しくなるまで、前記手段(e)から(j) を繰り返すための手段、 とを備える請求項3記載の装置。 5.前記データベース管理ソフトウエアは、前記マッピングのために前記エンコ ードされたキー値を前記探索プロセッサへ与える前に、論理的キー値からエンコ ードされたキー値へのエンコーディングを行なうための手段を備える請求項1記 載の装置。 6.前記データベース管理ソフトウエアは、前記探索プロセッサが前記探索を行 っている間スピンウエイトを行なうための手段を備える請求項1記載の装置。 7.前記中央処理装置は、前記キーメモリを割り当てるための手段を備える請求 項1記載の装置。 8.前記ホストコンピュータのディスクメモリに記憶されるインデックスファイ ルを更に備え、該インデックスファイルは、前記キーメモリの内容のイメージを 記憶する請求項1記載の装置。 9.前記中央処理装置が前記キーメモリの読み出しおよび書き込みを行えるよう にするメモリポートを更に備える請求項1記載の装置。 10.前記探索プロセッサは、前記所定のキー値に対応する前記キーメモリのエン トリのインデックスを前記中央処理装置へと与え、前記データベース管理ソフト ウエアは、さらに、前記インデックスに対応する前記キーメモリからエントリを 読み出すための手段を備える請求項1記載の装置。 11.コンピュータ関連メモリに記憶されたデータベースのレコードを探し出すた めの方法であって、前記データベースは、各々がレコードアドレスおよび少なく とも1つの論理的キー値によって識別される複数のレコードを有しているような 方法において、 データベースアクセラレータ周辺装置のキーメモリに、前記レコードのキー 値からレコードアドレス値へのマップインデックスを記憶させ、 前記周辺装置へ前記データベースのレコードのキー値を与え、 前記与えられたキー値に関連したレコードアドレス値を決定するために前記 周辺装置に関して前記マップインデックスの探索を、前記周辺装置のプロセッサ によって行い、 前記決定されたレコードアドレス値と関連した前記データベースのレコード を参照する、 ことを特徴とする方法。 12.新しいレコードを前記データベースへ加え、新しいキー値および新しいレコ ードアドレスを前記周辺装置に記憶させる段階を更に含み、前記新しいキー値は 、前記新しいレコードに関連しており、前記新しいレコードアドレス値は、前記 新しいレコードの前記データベースにおける位置を指示している請求項11記載 の方法。 13.前記データベースからあるレコードを削除し、前記周辺装置から前記削除さ れたレコードに関連したキー値および前記削除されたレコードのレコードアドレ ス値を削除する段階を更に含む請求項11記載の方法。 14.前記探索のために前記探索プロセッサへ前記キー値を与える前に、論理的キ ー値をエンコードされたキー値へとエンコーディングする段階を更に含む請求 項11記載の方法。 15.前記中央処理装置へ、前記所定のキー値に対応する前記キーメモリのエント リのインデックスをコピーし、前記中央処理装置により前記エントリインデック スに対応するエントリを前記キーメモリから読み出す段階を更に含む請求項11 記載の方法。 16.各々が探索値を有するエントリのメモリを探索する方法において、 (a) 前記エントリを、前記探索値にしたがって分類された順序にて前記メモリ に記憶させ、 (b) 探索すべき間を示す前記メモリのエントリ番号に対応する始端アドレスお よび終端アドレスを与え、 (c) 探索される探索値を与え、 (d) 初期CARRY値を与え、 (e) 前記始端アドレス、終端アドレスおよびCARRYを加算し、その和を2 で除算することによりプローブアドレスを形成し、 (f) 前記プローブアドレスによってインデックスされたメモリエントリを読み 出し、 (g) 前記探索値を前記読み出されたエントリと比較し、その比較にしたがって 前記CARRY値を0または1にセットし、 (h) 前記読み出されたエントリの探索値が前記探索される値よりも小さい場合 に、前記始端アドレスを前記プローブアドレスへセットし、 (i) 前記読み出されたエントリの探索値が前記探索される値に等しい場合に、 前記終端アドレスを前記プローブアドレスにセットし、 (j) 前記読み出されたエントリの探索値が前記探索される値よりも大きい場合 に、前記終端アドレスを前記プローブアドレスにセットし、 (k) 前記プローブアドレスが前記始端アドレスに等しくなるまで、前記段階(e )から(j)を繰り返す、 ことを特徴とする方法。
JP7513213A 1993-11-02 1994-10-04 コンピュータデータベースに関するトランザクションの処理を促進させるための装置 Pending JPH09507109A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14714793A 1993-11-02 1993-11-02
US08/147,147 1993-11-02
PCT/US1994/011261 WO1995012846A1 (en) 1993-11-02 1994-10-04 Apparatus for accelerating processing of transactions on computer databases

Publications (1)

Publication Number Publication Date
JPH09507109A true JPH09507109A (ja) 1997-07-15

Family

ID=22520453

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7513213A Pending JPH09507109A (ja) 1993-11-02 1994-10-04 コンピュータデータベースに関するトランザクションの処理を促進させるための装置

Country Status (7)

Country Link
US (1) US5544357A (ja)
EP (1) EP0727067A4 (ja)
JP (1) JPH09507109A (ja)
CN (1) CN1139489A (ja)
AU (1) AU7965794A (ja)
BR (1) BR9407962A (ja)
WO (1) WO1995012846A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011040124A (ja) * 2009-08-07 2011-02-24 Toshiba Corp 半導体記憶装置のデータ読み出し方法

Families Citing this family (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5680566A (en) * 1995-03-03 1997-10-21 Hal Computer Systems, Inc. Lookaside buffer for inputting multiple address translations in a computer system
US9098297B2 (en) * 1997-05-08 2015-08-04 Nvidia Corporation Hardware accelerator for an object-oriented programming language
WO1998050852A1 (en) * 1997-05-08 1998-11-12 Iready Corporation Hardware accelerator for an object-oriented programming language
US6330659B1 (en) * 1997-11-06 2001-12-11 Iready Corporation Hardware accelerator for an object-oriented programming language
US6285996B1 (en) 1997-07-10 2001-09-04 International Business Machines Corp. Run-time support for user-defined index ranges and index filters
US6192358B1 (en) 1997-07-10 2001-02-20 Internatioanal Business Machines Corporation Multiple-stage evaluation of user-defined predicates
US6266663B1 (en) 1997-07-10 2001-07-24 International Business Machines Corporation User-defined search using index exploitation
US6219662B1 (en) 1997-07-10 2001-04-17 International Business Machines Corporation Supporting database indexes based on a generalized B-tree index
US6253196B1 (en) 1997-07-10 2001-06-26 International Business Machines Corporation Generalized model for the exploitation of database indexes
US6278994B1 (en) 1997-07-10 2001-08-21 International Business Machines Corporation Fully integrated architecture for user-defined search
DE19810843B4 (de) 1998-03-12 2004-11-25 Telefonaktiebolaget Lm Ericsson (Publ) Verfahren und Zugriffseinrichtung zum Bestimmen der Speicheradresse eines Datenwerts in einer Speichereinrichtung
US6389425B1 (en) 1998-07-09 2002-05-14 International Business Machines Corporation Embedded storage mechanism for structured data types
WO2001013583A2 (en) 1999-08-16 2001-02-22 Iready Corporation Internet jack
US7003015B2 (en) * 2000-07-31 2006-02-21 Infineon Technologies Ag Apparatus and method for configurable multi-dwell search engine for spread spectrum applications
US7039717B2 (en) * 2000-11-10 2006-05-02 Nvidia Corporation Internet modem streaming socket method
US7379475B2 (en) 2002-01-25 2008-05-27 Nvidia Corporation Communications processor
US20030041302A1 (en) * 2001-08-03 2003-02-27 Mcdonald Robert G. Markup language accelerator
US20030093566A1 (en) * 2001-11-09 2003-05-15 Jardin Cary A. System and method for network and application transparent database acceleration
US6697276B1 (en) 2002-02-01 2004-02-24 Netlogic Microsystems, Inc. Content addressable memory device
US7702666B2 (en) * 2002-06-06 2010-04-20 Ricoh Company, Ltd. Full-text search device performing merge processing by using full-text index-for-registration/deletion storage part with performing registration/deletion processing by using other full-text index-for-registration/deletion storage part
US7505979B2 (en) * 2002-10-21 2009-03-17 Annex Systems Corporation Database accelerator
US7328403B2 (en) 2003-10-22 2008-02-05 Intel Corporation Device for structured data transformation
US7437666B2 (en) * 2003-10-22 2008-10-14 Intel Corporation Expression grouping and evaluation
US7409400B2 (en) * 2003-10-22 2008-08-05 Intel Corporation Applications of an appliance in a data center
US7458022B2 (en) * 2003-10-22 2008-11-25 Intel Corporation Hardware/software partition for high performance structured data transformation
US8065439B1 (en) 2003-12-19 2011-11-22 Nvidia Corporation System and method for using metadata in the context of a transport offload engine
US7260631B1 (en) 2003-12-19 2007-08-21 Nvidia Corporation System and method for receiving iSCSI protocol data units
US8549170B2 (en) 2003-12-19 2013-10-01 Nvidia Corporation Retransmission system and method for a transport offload engine
US7899913B2 (en) 2003-12-19 2011-03-01 Nvidia Corporation Connection management system and method for a transport offload engine
US8176545B1 (en) 2003-12-19 2012-05-08 Nvidia Corporation Integrated policy checking system and method
US7624198B1 (en) 2003-12-19 2009-11-24 Nvidia Corporation Sequence tagging system and method for transport offload engine data lists
US7206872B2 (en) 2004-02-20 2007-04-17 Nvidia Corporation System and method for insertion of markers into a data stream
US7249306B2 (en) 2004-02-20 2007-07-24 Nvidia Corporation System and method for generating 128-bit cyclic redundancy check values with 32-bit granularity
US7698413B1 (en) 2004-04-12 2010-04-13 Nvidia Corporation Method and apparatus for accessing and maintaining socket control information for high speed network connections
US7562179B2 (en) 2004-07-30 2009-07-14 Intel Corporation Maintaining processor resources during architectural events
US7957379B2 (en) 2004-10-19 2011-06-07 Nvidia Corporation System and method for processing RX packets in high speed network applications using an RX FIFO buffer
US7822780B1 (en) * 2004-10-20 2010-10-26 Embarq Holdings Company, LP Computerized method and system for generating procedures capable of being used with multiple databases
US7843911B2 (en) * 2005-11-15 2010-11-30 Nominum, Inc. Data grouping approach to telephone number management in domain name systems
US7908259B2 (en) * 2006-08-25 2011-03-15 Teradata Us, Inc. Hardware accelerated reconfigurable processor for accelerating database operations and queries
US7895151B2 (en) * 2008-06-23 2011-02-22 Teradata Us, Inc. Fast bulk loading and incremental loading of data into a database
US7966343B2 (en) 2008-04-07 2011-06-21 Teradata Us, Inc. Accessing data in a column store database based on hardware compatible data structures
US8458129B2 (en) 2008-06-23 2013-06-04 Teradata Us, Inc. Methods and systems for real-time continuous updates
US8862625B2 (en) 2008-04-07 2014-10-14 Teradata Us, Inc. Accessing data in a column store database based on hardware compatible indexing and replicated reordered columns
US9424315B2 (en) 2007-08-27 2016-08-23 Teradata Us, Inc. Methods and systems for run-time scheduling database operations that are executed in hardware
US8335889B2 (en) * 2008-09-11 2012-12-18 Nec Laboratories America, Inc. Content addressable storage systems and methods employing searchable blocks
US9411634B2 (en) 2010-06-21 2016-08-09 Microsoft Technology Licensing, Llc Action framework in software transactional memory
US8719515B2 (en) * 2010-06-21 2014-05-06 Microsoft Corporation Composition of locks in software transactional memory
US8468151B2 (en) * 2010-06-29 2013-06-18 Teradata Us, Inc. Methods and systems for hardware acceleration of database operations and queries based on multiple hardware accelerators
US8433695B2 (en) 2010-07-02 2013-04-30 Futurewei Technologies, Inc. System architecture for integrated hierarchical query processing for key/value stores
US8484242B1 (en) * 2010-08-24 2013-07-09 ScalArc, Inc. Method and system for transparent database connection pooling and query queuing
US8543554B1 (en) 2010-08-10 2013-09-24 ScalArc Inc. Method and system for transparent database query caching
US9032017B1 (en) 2010-08-10 2015-05-12 Scalarc Inc Method and system for transparent read-write query routing when load balancing databases
US8763091B1 (en) 2010-08-24 2014-06-24 ScalArc Inc. Method and system for user authentication offload in a transparent database load balancer
GB201120314D0 (en) * 2011-11-24 2012-01-04 Business Partners Ltd Secure database searching
US8938480B2 (en) * 2011-12-29 2015-01-20 Teradata Us, Inc. Techniques for fast loading of data from an external distributed file system to a database management system
CN104054071A (zh) * 2012-12-14 2014-09-17 华为技术有限公司 访问存储设备的方法和存储设备
EP3033684A1 (en) * 2013-07-31 2016-06-22 Hewlett Packard Enterprise Development LP Indexing accelerator with memory-level parallelism support
DE102016108081A1 (de) 2016-05-02 2017-11-02 Denso Corporation Mikroprozessor mit Zusatz-Befehlen für Binärsuche und zugehöriges Suchverfahren
CN114461861B (zh) * 2019-08-30 2024-12-31 上海忆芯实业有限公司 用于聚类计算的加速器
CN111046041B (zh) * 2019-12-09 2024-02-27 珠海格力电器股份有限公司 数据处理方法和装置、存储介质及处理器
US20260003987A1 (en) * 2024-06-28 2026-01-01 Amazon Technologies, Inc. Rowblock modifications for record-aware distributed storage systems

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3651483A (en) * 1969-01-03 1972-03-21 Ibm Method and means for searching a compressed index
DE3309989A1 (de) * 1983-03-19 1984-10-11 Bayer Ag, 5090 Leverkusen Verfahren und vorrichtung zur reduktion der geschwindigkeit von stroemenden medien
US4630234A (en) * 1983-04-11 1986-12-16 Gti Corporation Linked list search processor
US4575798A (en) * 1983-06-03 1986-03-11 International Business Machines Corporation External sorting using key value distribution and range formation
US4633391A (en) * 1983-10-21 1986-12-30 Storage Technology Partners Ii Extended index for digital information storage and retrieval device
JPH0724036B2 (ja) * 1983-12-23 1995-03-15 株式会社日立製作所 データベース処理方法
JPS6151288U (ja) * 1984-09-10 1986-04-07
US5010478A (en) * 1986-04-11 1991-04-23 Deran Roger L Entity-attribute value database system with inverse attribute for selectively relating two different entities
US4862411A (en) * 1987-02-26 1989-08-29 International Business Machines Corporation Multiple copy data mechanism on synchronous disk drives
US4939598A (en) * 1988-02-08 1990-07-03 International Business Machines Corporation Managing data storage space on large capacity record media
GB8816413D0 (en) * 1988-07-09 1988-08-17 Int Computers Ltd Data processing system
JPH0285927A (ja) * 1988-09-22 1990-03-27 Hitachi Vlsi Eng Corp 記憶装置
US5136707A (en) * 1988-10-28 1992-08-04 At&T Bell Laboratories Reliable database administration arrangement
JPH02236668A (ja) * 1989-03-10 1990-09-19 Hitachi Ltd 入出力処理方法
US5210870A (en) * 1990-03-27 1993-05-11 International Business Machines Database sort and merge apparatus with multiple memory arrays having alternating access
US5206939A (en) * 1990-09-24 1993-04-27 Emc Corporation System and method for disk mapping and data retrieval
GB9023096D0 (en) * 1990-10-24 1990-12-05 Int Computers Ltd Database search processor
JPH04256041A (ja) * 1991-02-07 1992-09-10 Oki Electric Ind Co Ltd データベース検索装置
US5265260A (en) * 1991-06-26 1993-11-23 International Business Machines Corporation High performance sort hardware for a database accelerator in a data processing system
US5305389A (en) * 1991-08-30 1994-04-19 Digital Equipment Corporation Predictive cache system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011040124A (ja) * 2009-08-07 2011-02-24 Toshiba Corp 半導体記憶装置のデータ読み出し方法

Also Published As

Publication number Publication date
EP0727067A4 (en) 1998-04-15
CN1139489A (zh) 1997-01-01
BR9407962A (pt) 1996-12-03
EP0727067A1 (en) 1996-08-21
US5544357A (en) 1996-08-06
AU7965794A (en) 1995-05-23
WO1995012846A1 (en) 1995-05-11

Similar Documents

Publication Publication Date Title
JPH09507109A (ja) コンピュータデータベースに関するトランザクションの処理を促進させるための装置
CA1303747C (en) Method of rapidly opening disk files identified by path names
US7680836B2 (en) Systems and methods for a snapshot of data
US5218696A (en) Method for dynamically expanding and rapidly accessing file directories
US8356013B2 (en) Systems and methods for a snapshot of data
EP1342173B1 (en) Database management system and method for databases having large objects
US7953704B2 (en) Systems and methods for a snapshot of data
US8010493B2 (en) Systems and methods for a snapshot of data
US6792518B2 (en) Data storage system having mata bit maps for indicating whether data blocks are invalid in snapshot copies
US5664177A (en) Data processing system having a data structure with a single, simple primitive
US6216211B1 (en) Method and apparatus for accessing mirrored logical volumes
US6957362B2 (en) Instantaneous restoration of a production copy from a snapshot copy in a data storage system
US6272503B1 (en) Tablespace-relative database pointers
US5754844A (en) Method and system for accessing chunks of data using matching of an access tab and hashing code to generate a suggested storage location
JPH02230373A (ja) データベース処理装置及びデータベース処理方法
JPH10222407A (ja) プロセスオーバーヘッド及びデータベースサーバからの冗長な検索を減少するように同じプロセスにおける多数のデータベーストランザクションを処理する方法
US6658541B2 (en) Computer system and a database access method thereof
CN117120998A (zh) 用于读取树数据结构中保存的数据的方法和装置
CN117076413B (zh) 一种支持多协议互通的对象多版本存储系统
EP0410210A2 (en) Method for dynamically expanding and rapidly accessing file directories
JP2924786B2 (ja) 疎結合多重計算機システムにおける共有ファイルの排他制御システム、排他制御方法、および排他制御プログラムを記憶する媒体
JP2721034B2 (ja) クラスタリング制御システム
JPH0283640A (ja) データベース更新方法
JPH08328929A (ja) データベース分割管理システム
JP3087701B2 (ja) 排他制御装置