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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99932—Access augmentation or optimizing
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つの論理的キー値によって識別される複数のレコードを有しており、前記ホス トコンピュータは、中央処理装置を有しているような装置において、 前記データベースのレコードのキー値の前記レコードのレコードアドレス値 へのマップを記憶するためのキーメモリと、 前記中央処理装置からの要求に応答して所定のキー値について前記キーメモ リを探索し、それに関連したレコードアドレス値を前記中央処理装置へと与える ための探索プロセッサと、 前記探索プロセッサおよびキーメモリを前記中央処理装置に対してインター フェイスするためのバスインターフェイスと、 前記中央処理装置にて実行するためのデータベース管理ソフトウエアとを備 えており、前記ソフトウエアは、前記バスインターフェイスを通して通信される 要求を前記探索プロセッサへ発することにより、前記所定のキー値から前記レコ ードアドレス値へのマッピングを要求するように構成されていることを特徴とす る装置。 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)を繰り返す、 ことを特徴とする方法。
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)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011040124A (ja) * | 2009-08-07 | 2011-02-24 | Toshiba Corp | 半導体記憶装置のデータ読み出し方法 |
Families Citing this family (61)
| 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)
| 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 |
-
1994
- 1994-10-04 JP JP7513213A patent/JPH09507109A/ja active Pending
- 1994-10-04 WO PCT/US1994/011261 patent/WO1995012846A1/en not_active Ceased
- 1994-10-04 EP EP94930585A patent/EP0727067A4/en not_active Withdrawn
- 1994-10-04 CN CN94194672A patent/CN1139489A/zh active Pending
- 1994-10-04 BR BR9407962A patent/BR9407962A/pt not_active Application Discontinuation
- 1994-10-04 AU AU79657/94A patent/AU7965794A/en not_active Abandoned
-
1995
- 1995-05-26 US US08/451,479 patent/US5544357A/en not_active Expired - Fee Related
Cited By (1)
| 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) | 排他制御装置 |