JP4289834B2 - データベース管理システム、データベース管理プログラムおよび記録媒体 - Google Patents

データベース管理システム、データベース管理プログラムおよび記録媒体 Download PDF

Info

Publication number
JP4289834B2
JP4289834B2 JP2002165580A JP2002165580A JP4289834B2 JP 4289834 B2 JP4289834 B2 JP 4289834B2 JP 2002165580 A JP2002165580 A JP 2002165580A JP 2002165580 A JP2002165580 A JP 2002165580A JP 4289834 B2 JP4289834 B2 JP 4289834B2
Authority
JP
Japan
Prior art keywords
database
data holding
search
data
holding means
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.)
Expired - Lifetime
Application number
JP2002165580A
Other languages
English (en)
Other versions
JP2004013490A (ja
Inventor
太 大瀬戸
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2002165580A priority Critical patent/JP4289834B2/ja
Priority to US10/453,578 priority patent/US7702666B2/en
Priority to CNB031330142A priority patent/CN1297933C/zh
Priority to CNB2005101268494A priority patent/CN100495394C/zh
Publication of JP2004013490A publication Critical patent/JP2004013490A/ja
Priority to US11/647,331 priority patent/US7730069B2/en
Priority to US11/647,380 priority patent/US7644097B2/en
Application granted granted Critical
Publication of JP4289834B2 publication Critical patent/JP4289834B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、データベース管理システム、データベース管理プログラムおよび記録媒体に関し、具体的には、遅延更新によりマージ処理を行うデータベース管理システム、データベース管理システムの機能を実行するデータベース管理プログラムおよびそのデータベース管理プログラムを記録したコンピュータ読み取り可能な記録媒体に関する。
【0002】
【従来の技術】
リレーショナルデータベースは、データを表で表現して管理している。この表は、属性値の並びであるタプルの集合から構成される。また、表の実体は、ファイルに格納される。
データベースに対する操作は、次の4つの操作に分類される。
(1)検索操作
属性値に関する条件を検索条件として与えてそれに合致するタプルの集合を得る操作である。
(2)挿入操作
与えられた属性値を持った新たなタプルを表に挿入する操作である。
(3)更新操作
表から選び出されたタプルの属性値を新たな値に変更する操作である。
(4)削除操作
表から選び出されたタプルを削除する操作である。
以下、上記の挿入操作、更新操作および削除操作をまとめて変更操作と呼ぶことにする。
【0003】
リレーショナルデータベースを用いたシステムでは、検索操作を行ったときの応答時間が重要な性能指標となっている。
そのため、検索応答時間を短縮するために、索引ファイルを用いてリレーショナルデータベースを構築する方法がとられている。
この索引ファイルは、ひとつまたは複数の属性値を特定の構造に変換することで、それらの属性値に関する条件を高速に評価できるようにしたものといえる。
【0004】
一方、変更操作においては、索引ファイルの更新にかかる時間が性能を低下させる原因となっている。
利用形態として通常は、検索操作に比べて変更操作の要求頻度が少ないため、検索操作のみが実行され、大量の変更操作は夜間などにシステムを停止した状態で行っている。そのため、これまでは変更操作に対する応答時間で測られる性能は重要視されてこなかった。
【0005】
しかし、オンラインシステムのようにリアルタイム性が求められる場合においては、変更操作に対する応答時間が重要視される。
このような問題に対し、例えば、特開平10−143412号公報の「データベース管理システム」では、データベースへの書き込みを磁気ディスクに反映する前に、不揮発性メモリに一時的に保持し、該当データの参照は磁気ディスクの代わりに不揮発性メモリをディスクキャッシュとして用いている。
しかしながら、ディスクキャッシュには、構造が単純なデータしかおくことができず、高機能の索引ファイルを用いることはできないという問題が生ずる。
【0006】
また、特開2000−163294号公報の「データベース管理方法及びその装置並びにプログラムを記録した機械読み取り可能な記録媒体」では、二次記憶上のデータベースに対する参照および更新を主記憶に設けたデータバッファ上で行い、且つ更新されたページのデータベースへの反映を、アプリケーションプログラムによる処理と非同期に行って、一組のデータバッファだけを使用して遅延更新処理が行えるようにし、主記憶の必要容量を削減している。
しかしながら、このデータバアファには、上記特開平10−143412号公報と同じく、構造が単純なデータしかおくことができず、高機能の索引ファイルを用いることはできないという問題が生ずる。
【0007】
データベースシステムを複数のユーザが同時に利用する場合、検索操作と変更操作が非同期に要求されるが、その際にデータの一貫性を保つためにトランザクション処理が用いられる。トランザクション処理については[1]「“トランザクション処理システム入門” フィリップ・A・バーンスタイン、エリック・ニューマーカー 日経BP社」に詳しく説明されている。
【0008】
トランザクションを完全に隔離するとデータの一貫性がどの時点においても保証されるようになるが、同時実行性の低下によって全体のスループットが著しく低下する場合がある。この問題を解決するためにアイソレーションレベルの概念が用いられる。アイソレーションレベルについては、[2]「“A Critique of ANSI SQL Isolation Levels” Hal Bereson, Philip A Bernstein, Jim Gray, Jim Melton, Elizabeth J. O’Neil, Patrick E. O’Neil Proc. ACM SIGMOD Conf.(Jun. 1995)p.1-10」に詳しく説明されている。
【0009】
【発明が解決しようとする課題】
上述の従来の技術での問題点を説明するために、複数に分割してある全文検索用データ保持手段(転置ファイル)を纏め上げるマージ操作について考える。
マージ操作は、マージ元の転置ファイル内のデータ量がある閾値に達したことをもとに開始するが、その動作には、その転置ファイルへの挿入操作と同じ一連の動作(フォアグラウンド動作)としてマージを行う同期マージと、挿入操作とは別の動作(バックグラウンド動作)としてマージを行う非同期マージの2種類がある。
非同期マージでは、マージ中の挿入を正しく行うために、マージ対象となる転置ファイルは排他処理しなければならない。そのため、排他処理されている期間、マージ操作と挿入操作とは、互いに処理が遅延してしまい、その結果、挿入操作の応答が低下してしまうことになる。
【0010】
本発明は、上述の実情を考慮してなされたものであって、非同期マージを行っている際に、挿入操作のレスポンスを低下させず、また、大量の検索要求に対してもトータルなレスポンスを上げることができるデータベース管理システム、データベース管理システムの機能を実行するデータベース管理プログラムおよびそのデータベース管理プログラムを記録したコンピュータ読み取り可能な記録媒体を提供することを目的とする。
【0011】
【課題を解決するための手段】
上記の課題を解決するために、本発明の請求項1のデータベース管理システムは、データベースを管理するデータベース管理システムにおいて、前記データベースに対する操作要求を、検索操作、挿入操作、削除操作、又は更新操作に振り分けて実行するデータベース操作要求処理手段と、前記データベースに対する操作要求が挿入操作でない場合には、前記データベース操作要求処理手段により振り分けられた前記検索操作として、検索条件に合致するタプルを探して該タプルを検索結果に加えて検索を行う検索向け第一データ保持手段と、前記データベース操作要求処理手段により振り分けられた前記挿入操作、前記削除操作及び前記更新操作として、それぞれ、前記データベースに対する操作要求が前記挿入操作である場合に、新しいタプルを取得し、該タプルを挿入する処理を行い、前記データベースに対する操作要求が前記挿入操作でなく、かつ前記削除操作である場合に、検索条件に該当するタプルを探して、該タプルを削除する処理を行い、さらに、前記データベースに対する操作要求が前記挿入操作でなく、かつ前記削除操作でない場合に、更新対象の条件に合致するタプルを探し、該タプルを更新する処理を行う挿入向け第二データ保持手段と、前記データベース操作要求処理手段により振り分けられた前記削除操作として、タプルを取得し、該タプルをファイルに挿入する処理を行う削除向け第二データ保持手段と、前記挿入向け第二データ保持手段又は前記削除向け第二データ保持手段により処理されたデータを、前記検索向け第一データ保持手段に転送するデータ転送手段と、前記検索操作と、前記挿入操作、前記削除操作、又は前記更新操作との間でデータの一貫性を保つように実行順序を制御するトランザクション処理手段と、複数の前記第二データ保持手段を、データベースに対する前記操作要求と前記データ転送手段により前記データを転送する処理とに振り分けるファイル切り替え手段とを備え、前記データベースに対する操作要求が前記挿入操作でない場合には、前記第一検索向けデータ保持手段、前記挿入向け第二データ保持手段、前記削除向け第二データ保持手段のそれぞれに対して前記検索操作を実行し、該実行の結果としてそれぞれ第一の検索集合、第二の検索集合、及び第三の検索集合を求め、前記第一の検索集合と前記第二の検索集合を加算して、前記第三の検索集合を減じて最終結果集合を演算して、前記データベースに対する操作要求が前記検索操作でなく前記削除操作であり、且つ前記最終結果集合が前記第二の検索集合にあるときには、前記挿入向け第二データ保持手段は、前記削除操作を実行し、前記データベースに対する操作要求が前記検索操作でなく前記削除操作であり、且つ前記最終結果集合が前記第二の検索集合にないときには、前記削除向け第二データ保持手段は、前記挿入操作を実行し、前記データベースに対する操作要求が前記検索操作でなく前記削除操作でないときには、前記挿入向けデータ保持手段は、前記更新操作を実行し、前記ファイル切り替え手段は、複数の前記第二データ保持手段のいずれか一つが前記第一データ保持手段へ前記データ転送手段により前記データを転送する処理を行っている時に、複数の前記第二データ保持手段の残りをデータベースに対する操作要求で使用するように振り分けることを特徴とする。
【0012】
また、本発明の請求項2は、請求項1に記載のデータベース管理システムにおいて、つ以上の前記第二データ保持手段と、データベースに対する操作要求で使用している前記第二データ保持手段のデータ量が閾値を超えたか否かを判定するデータ量判定手段とを備え、前記ファイル切り替え手段は、前記データ量判定手段でデータ量が閾値を超えたと判断された第二データ保持手段をマージ処理に、データベースに対する操作要求で使用する第二データ保持手段を使用していない残りの第二データ保持手段へ切り替えることを特徴とする。
【0013】
また、本発明の請求項3は、請求項1に記載のデータベース管理システムにおいて、データベースに対する操作要求で使用している前記第二データ保持手段のデータ量が閾値を超えたか否かを判定するデータ量判定手段を備え、前記ファイル切り替え手段は、前記データ量判定手段でデータ量が閾値を超えたと判断された第二データ保持手段をマージ処理で使用し、データベースに対する操作要求で使用する第二データ保持手段を新たに動的に生成して切り替えることを特徴とする。
【0015】
また、本発明の請求項4のプログラムは、コンピュータを、前記データベースに対する操作要求を、検索操作、挿入操作、削除操作、又は更新操作に振り分けて実行するデータベース操作要求処理手段と、前記データベースに対する操作要求が挿入操作でない場合には、前記データベース操作要求処理手段により振り分けられた前記検索操作として、検索条件に合致するタプルを探して該タプルを検索結果に加えて検索を行う検索向け第一データ保持手段と、前記データベース操作要求処理手段により振り分けられた前記挿入操作、前記削除操作及び前記更新操作として、それぞれ、前記データベースに対する操作要求が前記挿入操作である場合に、新しいタプルを取得し、該タプルを挿入する処理を行い、前記データベースに対する操作要求が前記挿入操作でなく、かつ前記削除操作である場合に、検索条件に該当するタプルを探して、該タプルを削除する処理を行い、さらに、前記データベースに対する操作要求が前記挿入操作でなく、かつ前記削除操作でない場合に、更新対象の条件に合致するタプルを探し、該タプルを更新する処理を行う挿入向け第二データ保持手段と、前記データベース操作要求処理手段により振り分けられた前記削除操作として、タプルを取得し、該タプルをファイルに挿入する処理を行う削除向け第二データ保持手段と、前記挿入向け第二データ保持手段又は前記削除向け第二データ保持手段により処理されたデータを、前記検索向け第一データ保持手段に転送するデータ転送手段と、前記検索操作と、前記挿入操作、前記削除操作、又は前記更新操作との間でデータの一貫性を保つように実行順序を制御するトランザクション処理手段と、複数の前記第二データ保持手段を、データベースに対する前記操作要求と前記データ転送手段により前記データを転送する処理とに振り分けるファイル切り替え手段と、して機能させるデータベースを管理するためのデータベース管理プログラムであって、前記データベースに対する操作要求が前記挿入操作でない場合には、前記第一検索向けデータ保持手段、前記挿入向け第二データ保持手段、前記削除向け第二データ保持手段のそれぞれに対して前記検索操作を実行し、該実行の結果としてそれぞれ第一の検索集合、第二の検索集合、及び第三の検索集合を求め、前記第一の検索集合と前記第二の検索集合を加算して、前記第三の検索集合を減じて最終結果集合を演算して、前記データベースに対する操作要求が前記検索操作でなく前記削除操作であり、且つ前記最終結果集合が前記第二の検索集合にあるときには、前記挿入向け第二データ保持手段は、前記削除操作を実行し、前記データベースに対する操作要求が前記検索操作でなく前記削除操作であり、且つ前記最終結果集合が前記第二の検索集合にないときには、前記削除向け第二データ保持手段は、前記挿入操作を実行し、前記データベースに対する操作要求が前記検索操作でなく前記削除操作でないときには、前記挿入向けデータ保持手段は、前記更新操作を実行し、前記ファイル切り替え手段は、複数の前記第二データ保持手段のいずれか一つが前記第一データ保持手段へ前記データ転送手段により前記データを転送する処理を行っている時に、 複数の前記第二データ保持手段の残りをデータベースに対する操作要求で使用するように振り分けることを特徴とするデータベース管理プログラムである。
また、本発明の請求項5の記録媒体は、請求項4に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体である。
【0016】
上記のような構成によって、データベースの非同期マージを行っているときに、マージ対象のデータ保持手段とデータベースに対する操作要求の対象となるデータ保持手段とを異なるデータ保持手段となるようにファイルを切り替えることによって、マージ操作と挿入操作との間で排他制御が不要になり、その結果、挿入操作のレスポンスが低下しない。
【0017】
また、データベースに対する操作要求の対象となるデータ保持手段のデータ量が閾値を超えないように監視し、超えた場合には新たなデータ保持手段へ切り替えるので、パフォーマンス低下が起こらない。
データ量が閾値を超えた場合、動的にデータ保持手段を作成するようにして、無駄にデータ保持手段を生成しておくことがなくなるので、リソースの無駄な消費が起こらない。
【0018】
また、マージ処理中に大量の検索要求が来ても、許される遅延の最大限の時間内でマージ処理が実行されるので、マージ処理が早目に終了し、その後の検索要求に対して検索に有利なデータ保持手段のみが使われる。
そのため、全体として検索要求に対するトータルなレスポンスを上げることができる。
【0019】
【発明の実施の形態】
<システム構成>
図1は、データベース管理システムの機能構成を説明するためのブロック図である。以下、データベースとして、リレーショナルデータベースを用いて説明するが、他のデータベースに対しても適用可能である。
図1のデータベース管理システムは、データベース操作要求入力手段1、トランザクション処理手段2、データベース操作要求処理手段3、第一データ保持手段4、第二データ保持手段5、データ転送手段6とを備えている。
【0020】
データベース操作要求入力手段1からデータベースに対する操作要求が入力され、データベース操作要求処理手段3でその操作要求を処理する。
第一データ保持手段4は、データベースの検索操作、およびデータ転送における変更操作で使用される。
第二データ保持手段5は、データベースの挿入操作、削除操作および更新操作、およびデータ転送における削除操作で使われる。
上記の第一データ保持手段4および第二データ保持手段5での処理対象は、例えば、リレーショナルデータベースにおいては、データを参照等するために関連付けて保持している索引ファイルである。
データ転送手段6は、第二データ保持手段5からタプルを読み取って第一データ保持手段4に対するタプルの挿入、更新、削除の操作を実行する。
トランザクション処理手段2は、非同期に要求される検索操作と変更操作をデータの一貫性を保つように実行順序を制御するための排他制御と、変更操作を中止したときにトランザクション開始前の状態に戻すための情報を記録するためのロギングを行う。
以下、さらに各構成要素を詳細に説明する。
【0021】
(データベース操作要求入力手段)
図2は、データベース管理システムを具体化するシステム構成の一例を示す図で、データベース操作要求入力手段1は、入力端末25として実現される。データベースを保持するサーバホスト20は、CPU21、プログラム領域22aとデータ領域22bとを有するメモリ22、およびハードディスク23がデータバス24によって接続されている。このサーバホスト20に対してLAN26により複数の入力端末25が接続可能となっている。この例におけるデータベース操作要求入力手段1は、複数のユーザからのデータベース操作要求を入力できるものとする。
【0022】
ユーザは、入力端末25から例えばSQL文の形式で文字列により表現されたデータベース操作要求を入力する。データベース操作要求は、LAN26を通じてサーバホスト20に送られ処理される。処理の結果は再びLAN26を通じて入力端末25に送られ、当該入力端末25のディスプレイに表示するなどしてユーザに知らせられる。
【0023】
(データベース操作要求処理手段)
図3は、データベース操作要求処理手段3の処理手順の一例を示すフローチャートである。
データベース操作要求の種類によって処理内容が分かれる。この例では、表の各タプルは一意に定まるID(タプルID)を付与され、タプルはすべてタプルIDで識別される。
【0024】
データベース操作要求処理手段3がデータベース操作要求処理を受け取ると(ステップS1)、挿入操作かどうか判断し(ステップS2)、挿入操作の場合は新しいタプルに対してタプルIDを取得した後(ステップS3)、挿入向けの第二データ保持手段5に対してタプルの挿入操作を実行し(ステップS4)、その結果を返す(ステップS5)。
【0025】
ステップS2で挿入操作でない場合は、検索向けの第一データ保持手段4、挿入向けおよび削除向けの第二データ保持手段5のそれぞれに検索操作を実行し(ステップS6〜S8)、それぞれの検索結果集合Rr、Ri、Rdから最終検索結果集合R(R=Rr+Ri−Rd;ただし+は論理和、−は論理差を表す。)を作って結果とする(ステップS9)。
【0026】
ついで、ステップS10で検索操作であれば、その結果を返し(ステップS5)、検索操作でなければ、さらに削除操作かどうかを判断し(ステップS11)、削除操作でなければ更新操作として、検索操作と同様の手順で選ばれたタプルに対して新しい値に変更したものを用いて挿入向けの第二データ保持手段5に対してタプルの更新操作を実行し(ステップS15)、その結果を返す(ステップS5)。
【0027】
ステップS11で削除操作である場合は、検索操作と同様な手順で選ばれたタプルがRiにある場合には(ステップS12のYES)、挿入向けの第二データ保持手段5に対して削除処理を実行し(ステップS13)、その結果を返す(ステップS5)。Riにない場合(ステップS12のNO)、即ちRrにある場合には、タプルを削除向けの第二データ保持手段5に対して挿入処理を実行し(ステップS14)、その結果を返して(ステップS5)処理を終了する。
【0028】
(第一データ保持手段)
第一データ保持手段4は、データベース操作要求処理手段3が実行する検索操作、また、データ転送手段6が実行する変更操作で使われる検索向けのデータ保持手段である。
第一データ保持手段4は、検索操作を高速で実行できる代わりに変更操作が比較的低速である。例えば、全文検索を行うことができる全文検索サーバを用いることが考えられる。
【0029】
(第二データ保持手段)
第二データ保持手段5には、挿入向けと削除向けの2種類のデータ保持手段がある。
挿入向けの第二データ保持手段5は、データベース操作要求処理手段3が実行する挿入操作、削除操作および更新操作で使われる。また、データ転送手段6が実行する削除操作でも使われる。
削除向けの第二データ保持手段5は、データベース操作要求処理手段3が実行する挿入操作で使われる。また、データ転送手段6が実行する削除操作でも使われる。
【0030】
第二データ保持手段5は、挿入操作や変更操作を高速に実行できる。例えば、OSが管理する通常のファイルを用いることが考えられる。
【0031】
通常のファイルのように第二データ保持手段5が検索操作を実行できない場合は、保持しているタプルを逐次的に返し、データベース操作要求処理手段3が検索条件を評価(全数検索と呼ぶ)する。
第二データ保持手段5が保持するタプル数は、第一データ保持手段4が保持するタプル数に比べて、非常に少数なので全数検索を行っても応答時間に影響しない。
【0032】
(データ転送手段)
図4は、データ転送手段6の処理手順の一例を示すフローチャートである。
データ転送手段6によるデータ転送は、挿入向けの第二データ保持手段5からタプルを順次読み込み、その値に従って第一データ保持手段4に対するタプルの挿入あるいは更新の操作を行い、反映が終わったタプルを挿入向けの第二データ保持手段5から削除する。
次に、削除向けの第二データ保持手段5からタプルを順次読み込み、そのタプルを第一データ保持手段4から削除し、反映が終わったタプルを削除向けの第二データ保持手段5から削除するという手順で実行される。
【0033】
図4において、データ転送手段6が挿入向けの第二データ保持手段5からタプルを得ると(ステップS21)、第一データ保持手段4から同じタプルIDのタプルを探し(ステップS22)、同じタプルがあれば(ステップS23のYES)、第一データ保持手段4に対するタプルの更新を実行し(ステップS24)、挿入向けの第二データ保持手段5のタプルを削除する(ステップS25)。
同じタプルがなければ(ステップS23のNO)、第一データ保持手段4に対するタプルの挿入を実行し(ステップS29)、挿入向けの第二データ保持手段5のタプルを削除する(ステップS25)。
ステップS25が終了すると、削除向けの第二データ保持手段5からタプルを得て(ステップS26)、第一データ保持手段4のタプルの削除を実行し(ステップS27)、削除向けの第二データ保持手段5のタプルを削除して(ステップS28)、処理を終了する。
【0034】
(トランザクション処理手段)
トランザクション処理手段2は、非同期に要求される検索操作と変更操作をデータの一貫性を保つように実行順序を制御するための排他制御と、変更操作を中止したときにトランザクション開始前の状態に戻すための情報を記録するためのロギングを行う。
排他制御は複数のユーザから要求されるデータベース操作間の排他制御のほかに、データベース操作要求処理手段3とデータ転送手段6の間の排他制御にも用いられる。
【0035】
前述の文献[1]で説明される複粒度ロックを用いてさまざまなアイソレーションレベルを実現する。ロックの対象は、表、タプル、ファイルであり、ファイルは第一データ保持手段4、挿入向けおよび削除向けの第二データ保持手段5からなるものとみなすことができる。
排他制御とロギングにおいては、ファイルを構成する第一データ保持手段4および第二データ保持手段5がどういう構造であるかとは無関係にこれらをまとめてひとつのオブジェクトとして扱うことができる。
【0036】
以下、READ COMMITTEDのアイソレーションレベルを実現する方法について述べる。まず、ロックに関して以下の前提条件がある。
・表にかかるロックは、次のいずれかのモードを持つ。
【0037】
【表1】
Figure 0004289834
【0038】
・タプルにかかるロックは、S、Xのいずれかのモードを持つ。
・タプルにかかっているSロックは、参照後にいつでも解除できる。
・タプルにかかっているXロックは、トランザクションの終了まで解除できない。
・ファイルにアクセスする前後では、ファイルに排他的なラッチをかける。
【0039】
次に、データベース操作の種類ごとに実現する手順を述べる。
(1)検索操作
0.操作開始前に対象の表にISロックをかける。
1.ファイルにラッチをかける。
2.検索条件に合致するタプルを探す。
3.得られたタプルにSロックをかける。
4.Sロックをかけることができない場合は、ファイルへのラッチを解除して1へ戻る。
5.Sロックをかけることができた場合は、タプルを検索結果に加える。
6.タプルへのロックを解除する。
7.ファイルへのラッチを解除する。
【0040】
(2)挿入操作
0.操作開始前に対象の表にIXロックをかける。
1.ファイルにラッチをかける。
2.新たなタプルIDを取得する。
3.そのタプルにXロックをかける。
4.ログにタプル挿入を記録する。
5.ファイルにタプルを挿入する。
6.ファイルへのラッチを解除する。
【0041】
(3)更新操作
0.操作開始前に対象の表にIXロックをかける。
1.ファイルにラッチをかける。
2.更新対象の条件に合致するタプルを探す。
3.得られたタプルにXロックをかける。
4.Xロックをかけることができない場合は、ファイルへのラッチを解除して1へ戻る。
5.Xロックをかけることができた場合は、ログにタプル更新を記録する。
6.タプルの更新を実行する。
7.ファイルへのラッチを解除する。
【0042】
(4)削除操作
0.操作開始前に対象の表にIXロックをかける。
1.ファイルにラッチをかける。
2.削除対象の条件に合致するタプルを探す。
3.得られたタプルにXロックをかける。
4.Xロックをかけることができない場合は、ファイルへのラッチを解除して1へ戻る。
5.Xロックをかけることができた場合は、ログにタプル削除を記録する。
6.タプルの削除を実行する。
7.ファイルへのラッチを解除する。
【0043】
トランザクションの終了に際しては、以下の処理を行う。
(1)コミット
変更操作の前に対象の表にIXロックがかかっているときに、コミットされた場合は、
1.ログにコミットを記録する。
2.コミットしたトランザクションが要求したロックをすべて解除する。
【0044】
(2)ロールバック(アボート)
変更操作の前に対象の表にIXロックがかかっているときに、ロールバックした場合は、
1.ログにロールバックを記録する。
2.ログを参照しながら、データ操作をUNDOする。その際、必要なファイルへのラッチを行う。
3.ロールバックしたトランザクションが要求したロックをすべて解除する。
【0045】
次に、マージの基本的動作について説明する。このマージは、デーモンによって、次の3つのファイルを用いて、バックグラウンドで小転置ファイルから大転置ファイルへのマージを実施する。
大転置ファイル:マージ先のファイル
挿入用小転置ファイル:挿入用マージ元のファイル
削除用小転置ファイル:削除用マージ元のファイル
【0046】
以下、デーモンの動作概要を説明する。このデーモンには、3つのスレッドがあり、エグゼキュータと同じスレッドで動作する部分をメインスレッド、マージを実行するスレッドをデーモンスレッド、常時マージを管理するスレッドをタイマースレッドという。
【0047】
メインスレッドの基本的動作は、小転置ファイルに挿入したとき、小転置ファイルのファイルサイズが既定値を超えたかを判断し、既定値を超えた場合、デーモンスレッドに対象の大転置ファイルと2つの小転置ファイルのファイルIDを渡してマージの実行を指示し、サイズに起因するマージを実行する。
タイマースレッドの基本動作は、一定の時間間隔で時刻をチェックし、指定された時刻を過ぎたかを判断し、時刻が過ぎていれば、すべての大転置ファイルについて、デーモンスレッドに対象の大転置ファイルと2つの小転置ファイルのファイルIDを渡してマージの実行を指示し、定時刻に起因するマージを実行する。
【0048】
デーモンスレッドは、起動の指示を受けると、以下の一連の動作を行って、転置ファイルのマージを実行する。
1.暗黙のトランザクションを開始する。
2.メタデータベース全体に(操作対象:タプル、操作内容:読み込み)ロックをかける。
3.メタデータベースのデータベース表に(操作対象:タプル、操作内容:読み込み)ロックかける。
4.メタデータベースのデータベース表の、操作対象のデータベースに対応するタプルに(操作対象:タプル、操作内容:読み込み)ロックをかける。
5.データベースに(操作対象:タプル、操作内容:読み書き)ロックをかける。
6.表に(操作対象:タプル、操作内容:読み書き)ロックをかける。
7.転置ファイルをマージ中状態にする。
8.小転置ファイルの転置リストの数だけマージを行う。
9.マージした小転置ファイルを空にする。
10.転置ファイルのマージ中状態を解除する。
11.トランザクションを終了する。
【0049】
以下、本発明の一実施形態に係るデータベース管理システムを、上述したデータベース管理システムをもとに説明する。
<実施形態1>
図5は、本実施形態1のデータベース管理システムの機能構成を示すブロック図である。
図5において、データベース管理システムは、データベース操作要求入力手段1、トランザクション処理手段2、データベース操作要求処理手段3、第一データ保持手段4、第二データ保持手段5、データ転送手段6、ファイル切り替え手段7とを備えている。
上述した図1のデータベース管理システムと同じ機能の構成要素については同じ符号を付し、本実施形態1では、その相違点のみ説明する。
【0050】
まず、第二データ保持手段(挿入向けおよび削除向けの転置ファイル)5を複数個用意する。
ファイル切り替え手段7は、複数の第二データ保持手段5がデータベース操作用か、またはマージ処理用かのいずれかで使われているかを判断し、データベースへの操作はデータベース操作用の第二データ保持手段5へ要求を転送し、マージ処理用の第二データ保持手段5の場合にはマージ処理の際に第一データ保持手段へ転送するように切り替える。
【0051】
図5において、第一データ保持手段4は検索向けのデータ保持手段であり、第二データ保持手段5は挿入向けおよび削除向けのデータ保持手段を意味するものとする。
図6は、このファイル切り替え手段7の動作を説明するための図である。
まず、第二データ保持手段(挿入向けおよび削除向け)5を2組用意する。
ファイル切り替え手段7は、一方の第二データ保持手段5をデータベース操作用に使用している場合は、他方の第二データ保持手段5をマージ処理用に使用するように2組の第二データ保持手段5を切り替える。
【0052】
この第二データ保持手段5の用途を切り替えるタイミングは、上述したマージ処理におけるデーモンスレッドの動作のうち「7.転置ファイルをマージ中状態にする」の個所で行い、第一データ保持手段(大転置ファイル)4をマージ処理中状態にし、データベース操作用の第二データ保持手段5をマージ処理用へ、マージ処理用の第二データ保持手段5をデータベース操作用へ切り替え、その後で、マージ処理用の第二データ保持手段(小転置ファイル)5のみをマージ中状態にする。
上述の「8.小転置ファイルの転置リストの数だけマージを行う」、「9.マージした小転置ファイルを空にする」における操作は、マージ処理用の第二データ保持手段5について実施される。
【0053】
<実施形態2>
上述の実施形態1では、データベースに対する操作要求で挿入操作が一度に多量に発生すると、データベース操作用の第二データ保持手段5へのデータ量が容量を越えてなお挿入が続き、パフォーマンス低下を招く恐れがある。
実施形態2は、第二データ保持手段を3つ以上備えて、データベースの操作用の第二データ保持手段5が与えた閾値を超えたときに、他の使用していない第二データ保持手段5へ切り替えるようにする。
【0054】
図7は、本実施形態2のデータベース管理システムの機能構成を示すブロック図である。
図7において、データベース管理システムは、データベース操作要求入力手段1、トランザクション処理手段2、データベース操作要求処理手段3、第一データ保持手段4、(挿入向けおよび削除向けの)第二データ保持手段5、データ転送手段6、ファイル切り替え手段7、データ量判定手段8とを備えている。
上述した図1および実施形態1のデータベース管理システムと同じ機能の構成要素については同じ符号を付し、本実施形態2では、その相違点のみ説明する。
【0055】
図8は、このファイル切り替え手段7の動作を説明するための図である。
まず、第二データ保持手段(挿入向けおよび削除向け)5を3つ以上用意する。また、この用意された第二データ保持手段5の個数分の参照キュー60を用意し、この参照キュー60の1つ1つから第二データ保持手段5を参照するように構成する。また、この参照キュー60の先頭位置で参照される第二データ保持手段5はデータベース操作用の第二データ保持手段5とし、残りをマージ処理用の第二データ保持手段5および空の第二データ保持手段5として使用する。
【0056】
データ量判定手段8は、データベース操作用の第二データ保持手段5の容量を監視しており、予め与えられた閾値以上になったときには、データベース操作用の空の第二データ保持手段5を要求するようにファイル切り替え手段7へ知らせる。
ファイル切り替え手段7は、データ量判定手段8から空の第二データ保持手段5を要求されたときには、マージ処理用の第二データ保持手段5のうち空の第二データ保持手段5を参照キュー60の先頭へ移し、先頭にあったデータベース操作用の第二データ保持手段5を参照キュー60の2番目以降へ移動させる。これによって、データベース操作用とマージ処理用の第二データ保持手段5を切り替えることができる。
【0057】
この第二データ保持手段5の用途を切り替えるタイミングは、上述したマージ処理におけるデーモンスレッドの動作のうち「7.転置ファイルをマージ中状態にする」の個所で行い、上述のようにデータベース操作用の第二データ保持手段5が与えられた閾値を超えた場合、参照キュー60の順序を並び替え、データベース操作用の第二データ保持手段5をマージ処理用の第二データ保持手段5へ、マージ処理用の空の第二データ保持手段5をデータベース操作用の第二データ保持手段5へ切り替え、その後、マージ処理用の第二データ保持手段5のみをマージ中状態にする。
上述の「8.小転置ファイルの転置リストの数だけマージを行う」、「9.マージした小転置ファイルを空にする」における操作は、マージ処理用の第二データ保持手段5について実施される。
【0058】
<実施形態3>
上記実施形態2では、第二データ保持手段5が予め必要とされる最大個数用意していたので、データベースに対する操作要求が一度に発生しなければ無駄な第二データ保持手段5を保持することになり、リソースの無駄が発生する。
本実施形態3は、必要に応じて動的に第二データ保持手段を確保するようにした。
本実施形態3の機能構成は、実施形態2と同様であるから、以下では、相違する点についてのみ説明する。
【0059】
図9は、このファイル切り替え手段7を説明するための図である。
本実施形態3では、現在使用中の第二データ保持手段5を登録する参照キュー70と、その参照キュー70に登録されている個数を保持する参照キューの個数80を備えている。
この参照キュー70の先頭位置で参照される第二データ保持手段5をデータベース操作用とし、残りをマージ処理用として使用する。
ファイル切り替え手段7は、データ量判定手段8で空の第二データ保持手段5を要求されたときには、新しい第二データ保持手段5を動的に生成し、参照キュー60の先頭位置へ設定し、先頭位置にあったデータベース操作用の第二データ保持手段5を参照キュー60の2番目以降へ移動させて、参照キュー70を拡大し、参照キューの個数80を1つ進め、データベース操作用とマージ処理用の第二データ保持手段5を切り替える。
この第二データ保持手段5の用途を切り替えるタイミングは、実施形態2と同様であるが、上述の「9.マージした小転置ファイルを空にする」操作では、マージ処理の終了した第二データ保持手段5と参照キュー70の参照を削除し、参照キューの個数80を一つ減少させる。
【0060】
<実施形態4>
データベース管理システムでは、マージ処理中であっても検索を行えるようにするために、マージ処理の単位は索引単位ごとに行っている。
検索の場合、第一データ保持手段4とマージ処理用の第二データ保持手段5のすべてを利用することになるため、その1つの索引単位に対するマージ処理の前後で排他制御が必須となる。
【0061】
また、検索要求を処理する場合、マージ処理用の第二データ保持手段5にデータが残っている状態では、検索処理のパフォーマンス上不利になるので、検索のためにはマージ処理済の状態にするのが望ましい。
しかし、マージ処理中に大量の検索要求がくると、検索に対する排他制御をしているためマージ処理が進まず、結果として検索処理のパフォーマンス上不利となるマージ処理用のデータが残っている状態が続いてしまう。このため、トータルな検索パフォーマンスが低下してしまう。
【0062】
本実施形態4では、トランザクション処理手段の排他機構を利用して、検索処理とマージ処理との排他制御を行うようにする。これにより、大量の検索要求がきた場合でも、早目にマージ処理を終了させ、全体として検索要求に対するトータルなレスポンスを上げることができる。
【0063】
図10は、実施形態4のデータベース管理システムの機能構成を示すブロック図である。この実施形態4のデータベース管理システムは、実施形態1を基にしているが、実施形態1の代わりに、実施形態2または実施形態3を基にして構成するようにしてもよい。
図10において、データベース管理システムは、データベース操作要求入力手段1、トランザクション処理手段2、データベース操作要求処理手段3、第一データ保持手段4、第二データ保持手段5、データ転送手段6、ファイル切り替え手段7、ウォッチドッグタイマ9とを備えている。
上述した図1および実施形態1のデータベース管理システムと同じ機能の構成要素については同じ符号を付し、本実施形態4では、その相違点のみ説明する。
以下、図11,12,13のフローチャートをもとに実施形態4の動作を説明する。
【0064】
(1)検索処理
図11は、データベース操作要求処理手段3における検索要求の処理手順を示すフローチャートである。
検索要求を受けたデータベース操作要求処理手段3は、まず、検索処理の開始時にウォッチドッグタイマ9に検索で遅延可能な最大時間を設定する(ステップS31)。
その後で、トランザクション処理手段2の排他機構に検索処理のための排他制御を依頼する(ステップS32)。
ウォッチドッグタイマ9で設定した遅延可能な最大時間後に検索処理の排他制御が成功して、検索処理が実行可能となる。
このときに、ウォッチドッグタイマ9をクリアし(ステップS33)、データベースに対して検索を実行させる(ステップS34)。
検索が終了すると、検索処理のための排他制御の解除を排他機構へ依頼して終了する(ステップS35)。
【0065】
図12は、ウォッチドッグタイマ9の処理手順を示すフローチャートである。
ウォッチドッグタイマ9は、データベース操作要求処理手段3からタイマに遅延可能な最大時間が設定されるまで待機している(ステップS41)。
タイマに時間が設定されると(ステップS41のYES)、その設定された時間になるまでカウントダウンしながら、sleepする(ステップS42、S43)。
タイマが設定された時間になった場合(ステップS43のYES)、マージ処理に対して、検索処理のために排他制御を解放するように要求をして、次のタイマに時間の設定があるまで待機する(ステップS44,S41)。
【0066】
(2)マージ処理
図13は、データ転送手段6におけるマージ処理の処理手順を示すフローチャートである。
マージ処理に対してデータ転送手段6は、トランザクション処理手段2の排他機構に対してマージ処理のための排他制御を依頼して、マージ処理中の検索要求を一時禁止しておく(ステップS51)。
マージ処理に対する排他制御が成功した後、ウォッチドッグタイマ9からのロック解放要求の有無を検査し(ステップS52)、解放要求がなければ(ステップS52のNO)、マージ処理の単位となる転置リストをマージ処理用の(挿入向けおよび削除向けの)第二データ保持手段5から取り出し、1索引単位で第一データ保持手段4へマージを実行する(ステップS53)。
これを転置リストが無くなるまで、ステップS52から繰り返す(ステップS54のYES)。
また、ステップS54で索引単位の残りがなくなった場合(ステップS54のNO)、マージ処理が終了したとして、排他機構にマージ処理のための排他制御を解放するように依頼し、終了する(ステップS55)。
【0067】
一方、ステップS52でウォッチドッグタイマ9からのロック解放要求があった場合(ステップS52のYES)、1索引単位の転置リストのマージ処理を終了した時点で、マージ処理のための排他制御を解放するように排他機構へ以来する(ステップS56)。
一旦、マージ処理を中断し、検索処理のためにCPUを解放し(ステップS57)、マージ処理のための排他制御を再度かけなおすために、ステップS51へ戻る。
これにより、CPUを解放している間に検索が実行され、その間は転置リストのマージを実行していないため、安全に検索処理を実行することができる。
【0068】
<実施形態5>
さらに、本発明は上述した実施形態のみに限定されたものではない。上述した各実施形態のデータベース管理システムを構成する機能をそれぞれプログラム化し、あらかじめCD−ROM等の記録媒体に書き込んでおき、このCD−ROMをCD−ROMドライブのような媒体駆動装置を搭載したコンピュータに装着して、これらのプログラムをコンピュータのメモリあるいは記憶装置に格納し、それを実行することによって、本発明の目的が達成されることは言うまでもない。
この場合、記録媒体から読出されたプログラム自体が上述した各実施形態の機能を実現することになり、そのプログラムおよびそのプログラムを記録した記録媒体も本発明を構成することになる。
【0069】
なお、記録媒体としては半導体媒体(例えば、ROM、不揮発性メモリカード等)、光媒体(例えば、DVD、MO、MD、CD−R等)、磁気媒体(例えば、磁気テープ、フレキシブルディスク等)のいずれであってもよい。
【0070】
また、ロードしたプログラムを実行することにより上述した各実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、オペレーティングシステム等が実際の処理の一部または全部を行い、その処理によって上述した各実施形態の機能が実現される場合も含まれる。
【0071】
また、上述したプログラムをサーバコンピュータの磁気ディスク等の記憶装置に格納しておき、インターネット等の通信網で接続されたユーザのコンピュータからダウンロード等の形式で頒布する場合、このサーバコンピュータの記憶装置も本発明の記録媒体に含まれる。
【0072】
【発明の効果】
以上説明したように本発明によれば、データベースの非同期マージを行っているときに、マージ対象のデータ保持手段とデータベースに対する操作要求の対象となるデータ保持手段とを異なるデータ保持手段となるようにファイルを切り替えることによって、マージ操作と挿入操作と排他制御が不要になり、その結果、挿入操作のレスポンスが低下しない。
【0073】
また、データベースに対する操作要求の対象となるデータ保持手段のデータ量が閾値を超えないように監視し、超えた場合には新たなデータ保持手段へ切り替えるので、パフォーマンス低下が起こらない。
データ量が閾値を超えた場合、動的にデータ保持手段を作成するようにして、無駄にデータ保持手段を生成しておくことがなくなるので、リソースの無駄な消費が起こらない。
【0074】
また、マージ処理中に大量の検索要求が来ても、許される遅延の最大限の時間内でマージ処理が実行されるので、マージ処理が早く終了し、その後の検索要求に対して検索に有利なデータ保持手段のみが使われる。
そのため、全体として検索要求に対するトータルなレスポンスを上げることができる。
【図面の簡単な説明】
【図1】 データベース管理システムの機能構成を説明するためのブロック図である。
【図2】 データベース管理システムを具体化するシステム構成の一例を示す図である。
【図3】 データベース操作要求処理手段の処理手順の一例を示すフローチャートである。
【図4】 データ転送手段の処理手順の一例を示すフローチャートである。
【図5】 実施形態1のデータベース管理システムの機能構成を示すブロック図である。
【図6】 実施形態1のファイル切り替え手段の動作を説明するための図である。
【図7】 実施形態2のデータベース管理システムの機能構成を示すブロック図である。
【図8】 実施形態2のファイル切り替え手段の動作を説明するための図である。
【図9】 実施形態3の他のファイル切り替え手段の動作を説明するための図である。
【図10】 実施形態4のデータベース管理システムの機能構成を示すブロック図である。
【図11】 データベース操作要求処理手段における検索処理の処理手順を示すフローチャートである。
【図12】 ウォッチドッグタイマの処理手順を示すフローチャートである。
【図13】 データ転送手段におけるマージ処理の処理手順を示すフローチャートである。
【符号の説明】
1…データベース操作要求入力手段、2…トランザクション処理手段、3…データベース操作要求処理手段、4…第一データ保持手段、5…(挿入向けおよび削除向けの)第二データ保持手段、6…データ転送手段、7…ファイル切り替え手段、8…データ量判定手段、9…ウォッチドッグタイマ、20…サーバホスト、21…CPU、22…メモリ、22a…プログラム領域、22b…データ領域、23…ハードディスク、24…データバス、25…入力端末、26…LAN、60,70…参照キュー、80…参照キューの個数。

Claims (5)

  1. データベースを管理するデータベース管理システムにおいて、
    前記データベースに対する操作要求を、検索操作、挿入操作、削除操作、又は更新操作に振り分けて実行するデータベース操作要求処理手段と、
    前記データベースに対する操作要求が挿入操作でない場合には、前記データベース操作要求処理手段により振り分けられた前記検索操作として、検索条件に合致するタプルを探して該タプルを検索結果に加えて検索を行う検索向け第一データ保持手段と、
    前記データベース操作要求処理手段により振り分けられた前記挿入操作、前記削除操作及び前記更新操作として、それぞれ、
    前記データベースに対する操作要求が前記挿入操作である場合に、新しいタプルを取得し、該タプルを挿入する処理を行い、
    前記データベースに対する操作要求が前記挿入操作でなく、かつ前記削除操作である場合に、検索条件に該当するタプルを探して、該タプルを削除する処理を行い、
    さらに、前記データベースに対する操作要求が前記挿入操作でなく、かつ前記削除操作でない場合に、更新対象の条件に合致するタプルを探し、該タプルを更新する処理を行う挿入向け第二データ保持手段と、
    前記データベース操作要求処理手段により振り分けられた前記削除操作として、タプルを取得し、該タプルをファイルに挿入する処理を行う削除向け第二データ保持手段と、
    前記挿入向け第二データ保持手段又は前記削除向け第二データ保持手段により処理されたデータを、前記検索向け第一データ保持手段に転送するデータ転送手段と、
    前記検索操作と、前記挿入操作、前記削除操作、又は前記更新操作との間でデータの一貫性を保つように実行順序を制御するトランザクション処理手段と、
    複数の前記第二データ保持手段を、データベースに対する前記操作要求と前記データ転送手段により前記データを転送する処理とに振り分けるファイル切り替え手段とを備え、
    前記データベースに対する操作要求が前記挿入操作でない場合には、前記第一検索向けデータ保持手段、前記挿入向け第二データ保持手段、前記削除向け第二データ保持手段のそれぞれに対して前記検索操作を実行し、該実行の結果としてそれぞれ第一の検索集合、第二の検索集合、及び第三の検索集合を求め、
    前記第一の検索集合と前記第二の検索集合を加算して、前記第三の検索集合を減じて最終結果集合を演算して、
    前記データベースに対する操作要求が前記検索操作でなく前記削除操作であり、且つ前記最終結果集合が前記第二の検索集合にあるときには、前記挿入向け第二データ保持手段は、前記削除操作を実行し、
    前記データベースに対する操作要求が前記検索操作でなく前記削除操作であり、且つ前記最終結果集合が前記第二の検索集合にないときには、前記削除向け第二データ保持手段は、前記挿入操作を実行し、
    前記データベースに対する操作要求が前記検索操作でなく前記削除操作でないときには、前記挿入向けデータ保持手段は、前記更新操作を実行し、
    前記ファイル切り替え手段は、複数の前記第二データ保持手段のいずれか一つが前記第一データ保持手段へ前記データ転送手段により前記データを転送する処理を行っている時に、複数の前記第二データ保持手段の残りをデータベースに対する操作要求で使用するように振り分けることを特徴とするデータベース管理システム。
  2. 請求項1に記載のデータベース管理システムにおいて、2つ以上の前記第二データ保持手段と、データベースに対する操作要求で使用している前記第二データ保持手段のデータ量が閾値を超えたか否かを判定するデータ量判定手段とを備え、前記ファイル切り替え手段は、前記データ量判定手段でデータ量が閾値を超えたと判断された第二データ保持手段をマージ処理に、データベースに対する操作要求で使用する第二データ保持手段を使用していない残りの第二データ保持手段へ切り替えることを特徴とするデータベース管理システム。
  3. 請求項1に記載のデータベース管理システムにおいて、データベースに対する操作要求で使用している前記第二データ保持手段のデータ量が閾値を超えたか否かを判定するデータ量判定手段を備え、前記ファイル切り替え手段は、前記データ量判定手段でデータ量が閾値を超えたと判断された第二データ保持手段をマージ処理で使用し、データベースに対する操作要求で使用する第二データ保持手段を新たに動的に生成して切り替えることを特徴とするデータベース管理システム。
  4. コンピュータを、
    前記データベースに対する操作要求を、検索操作、挿入操作、削除操作、又は更新操作に振り分けて実行するデータベース操作要求処理手段と、
    前記データベースに対する操作要求が挿入操作でない場合には、前記データベース操作要求処理手段により振り分けられた前記検索操作として、検索条件に合致するタプルを探して該タプルを検索結果に加えて検索を行う検索向け第一データ保持手段と、
    前記データベース操作要求処理手段により振り分けられた前記挿入操作、前記削除操作及び前記更新操作として、それぞれ、
    前記データベースに対する操作要求が前記挿入操作である場合に、新しいタプルを取得し、該タプルを挿入する処理を行い、
    前記データベースに対する操作要求が前記挿入操作でなく、かつ前記削除操作である場合に、検索条件に該当するタプルを探して、該タプルを削除する処理を行い、
    さらに、前記データベースに対する操作要求が前記挿入操作でなく、かつ前記削除操作でない場合に、更新対象の条件に合致するタプルを探し、該タプルを更新する処理を行う挿入向け第二データ保持手段と、
    前記データベース操作要求処理手段により振り分けられた前記削除操作として、タプルを取得し、該タプルをファイルに挿入する処理を行う削除向け第二データ保持手段と、
    前記挿入向け第二データ保持手段又は前記削除向け第二データ保持手段により処理されたデータを、前記検索向け第一データ保持手段に転送するデータ転送手段と、
    前記検索操作と、前記挿入操作、前記削除操作、又は前記更新操作との間でデータの一貫性を保つように実行順序を制御するトランザクション処理手段と、
    複数の前記第二データ保持手段を、データベースに対する前記操作要求と前記データ転送手段により前記データを転送する処理とに振り分けるファイル切り替え手段と、
    して機能させるデータベースを管理するためのデータベース管理プログラムであって、
    前記データベースに対する操作要求が前記挿入操作でない場合には、前記第一検索向けデータ保持手段、前記挿入向け第二データ保持手段、前記削除向け第二データ保持手段のそれぞれに対して前記検索操作を実行し、該実行の結果としてそれぞれ第一の検索集合、第二の検索集合、及び第三の検索集合を求め、
    前記第一の検索集合と前記第二の検索集合を加算して、前記第三の検索集合を減じて最終結果集合を演算して、
    前記データベースに対する操作要求が前記検索操作でなく前記削除操作であり、且つ前記最終結果集合が前記第二の検索集合にあるときには、前記挿入向け第二データ保持手段は、前記削除操作を実行し、
    前記データベースに対する操作要求が前記検索操作でなく前記削除操作であり、且つ前記最終結果集合が前記第二の検索集合にないときには、前記削除向け第二データ保持手段は、前記挿入操作を実行し、
    前記データベースに対する操作要求が前記検索操作でなく前記削除操作でないときには、前記挿入向けデータ保持手段は、前記更新操作を実行し、
    前記ファイル切り替え手段は、複数の前記第二データ保持手段のいずれか一つが前記第一データ保持手段へ前記データ転送手段により前記データを転送する処理を行っている時に、複数の前記第二データ保持手段の残りをデータベースに対する操作要求で使用するように振り分けることを特徴とするデータベース管理プログラム。
  5. 請求項4に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2002165580A 2002-06-06 2002-06-06 データベース管理システム、データベース管理プログラムおよび記録媒体 Expired - Lifetime JP4289834B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2002165580A JP4289834B2 (ja) 2002-06-06 2002-06-06 データベース管理システム、データベース管理プログラムおよび記録媒体
US10/453,578 US7702666B2 (en) 2002-06-06 2003-06-04 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
CNB031330142A CN1297933C (zh) 2002-06-06 2003-06-06 执行合并处理和注册/删除处理的全文搜索装置
CNB2005101268494A CN100495394C (zh) 2002-06-06 2003-06-06 管理数据库的数据库管理系统
US11/647,331 US7730069B2 (en) 2002-06-06 2006-12-29 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
US11/647,380 US7644097B2 (en) 2002-06-06 2006-12-29 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

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002165580A JP4289834B2 (ja) 2002-06-06 2002-06-06 データベース管理システム、データベース管理プログラムおよび記録媒体

Publications (2)

Publication Number Publication Date
JP2004013490A JP2004013490A (ja) 2004-01-15
JP4289834B2 true JP4289834B2 (ja) 2009-07-01

Family

ID=30433384

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002165580A Expired - Lifetime JP4289834B2 (ja) 2002-06-06 2002-06-06 データベース管理システム、データベース管理プログラムおよび記録媒体

Country Status (2)

Country Link
JP (1) JP4289834B2 (ja)
CN (1) CN100495394C (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103678690B (zh) * 2013-12-26 2018-01-12 Tcl集团股份有限公司 一种Andriod系统事务管理方法及装置
US10067960B2 (en) * 2015-06-04 2018-09-04 Microsoft Technology Licensing, Llc Controlling atomic updates of indexes using hardware transactional memory
CN105787119B (zh) * 2016-03-25 2020-06-16 盛趣信息技术(上海)有限公司 基于混合引擎的大数据处理方法及系统

Also Published As

Publication number Publication date
CN100495394C (zh) 2009-06-03
JP2004013490A (ja) 2004-01-15
CN1770162A (zh) 2006-05-10

Similar Documents

Publication Publication Date Title
US7702666B2 (en) 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
US7444329B2 (en) Event driven transaction state management with single cache for persistent framework
US6834275B2 (en) Transaction processing system using efficient file update processing and recovery processing
US6772155B1 (en) Looking data in a database system
US7801855B2 (en) Method and apparatus for merging log entries in a database management system
US7240054B2 (en) Techniques to preserve data constraints and referential integrity in asynchronous transactional replication of relational tables
US7716249B2 (en) Transaction and task scheduler
JP4077329B2 (ja) トランザクション処理システム、並行制御方法及びプログラム
JPH04337850A (ja) データベース・トランザクション及び照会処理システム
EP1806668B1 (en) System and method for managing log information for transaction
JP2008541263A (ja) ファイルシステムディレクトリの高速かつ信頼性のある同期
US20130085988A1 (en) Recording medium, node, and distributed database system
JP2006107519A (ja) バージョンストアのリソース使用を制限する方法およびシステム
JP4287900B2 (ja) 書き込み遅延データベース管理システム、及びプログラム
JP4126843B2 (ja) データ管理方法および装置並びにデータ管理プログラムを格納した記録媒体
JP4289834B2 (ja) データベース管理システム、データベース管理プログラムおよび記録媒体
EP1215590A2 (en) Method and system for scalable, high performance hierarchical storage management
JP4412983B2 (ja) アーカイブ装置およびアーカイブ処理プログラム
JP4245282B2 (ja) 書き込み遅延データベース管理方法、装置、プログラム、及び記録媒体
JP2002351715A (ja) 書き込み遅延データベース管理システム
JP2002063055A (ja) 書き込み遅延データベース管理方式及びシステム
US8688662B2 (en) Copy on access to locked objects
JP2003256251A (ja) データベース管理方式
JP2002268930A (ja) データベース構成変更装置、方法及び記録媒体
Lee et al. An Eager and Pessimistic Space Reservation Method for Tables Frequently Accessed by Concurrent Transactions

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050322

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080617

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080808

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090106

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090225

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090331

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090331

R150 Certificate of patent or registration of utility model

Ref document number: 4289834

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120410

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130410

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140410

Year of fee payment: 5