JP2012511197A - 複数世代データベース内のデータに対するアクセス - Google Patents

複数世代データベース内のデータに対するアクセス Download PDF

Info

Publication number
JP2012511197A
JP2012511197A JP2011538917A JP2011538917A JP2012511197A JP 2012511197 A JP2012511197 A JP 2012511197A JP 2011538917 A JP2011538917 A JP 2011538917A JP 2011538917 A JP2011538917 A JP 2011538917A JP 2012511197 A JP2012511197 A JP 2012511197A
Authority
JP
Japan
Prior art keywords
track
data
page
database
lock
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2011538917A
Other languages
English (en)
Other versions
JP5567585B2 (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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2012511197A publication Critical patent/JP2012511197A/ja
Application granted granted Critical
Publication of JP5567585B2 publication Critical patent/JP5567585B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2477Temporal data queries

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Fuzzy Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】 複数世代データベース内のデータにアクセスする方法を提供する。
【解決手段】 本方法は、データベースの第1のページ上に置かれたデータベース内の第1のデータにアクセスする要求を受け取るステップと、第1のページに対応するエントリを読み出して、第1のページ上の第1のトラックの位置を見つけてデータの最新バージョンにアクセスするステップと、第1のロックを取得して第1のトラックに対するアクセスを同期させるステップと、第1のロックを保持しながら、エントリの読み出しに応答して、第1のトラックがデータの最新バージョンを格納していることを判断するステップとを含む。
【選択図】 図3

Description

本発明は一般にデータベースに関し、より具体的には、複数世代データベース内のデータに対するアクセスに関する。
データベースとは、データベース管理システム(DBMS)により管理されたデータ記憶システムに格納されたデータの組織化された集合を指す。DBMSは通常、ある形式の同期化を実施してデータベース内のデータに対する同時アクセスを可能にする。
同期化はデータベース内の各データに対するロックを実装することを伴うことができる。しかしながら、ロックが高速メモリに格納される場合には、高速メモリは小型である傾向があるので、データベースの大きさ次第でスケーラビリティの問題が生じ得る。一方、低速アクセス・メモリ内の専用位置にロックを格納すると、性能に悪影響を与える。
複数世代データベースにおいて、データは1つ又は複数の世代又は期間に従って組織化される。チェックポイントにおいて、復元ポイントにおいて、ある特定の操作の開始において、又は何か他の指定された時点において、1つの世代が終了して別の世代が開始することが可能である。
通常、各データに関して、世代毎に一つの複数のバージョンが存在する。各バージョンは1つの世代と関連付けられるので、最新バージョンは、最新世代に関連付けられたバージョンの検索によって識別することができる。残念ながら、最新世代に関連付けられたバージョンのために全てのバージョンを検索することは非効率的であり同期化を困難にする。
上述の欠点を克服するためのシステム及び方法が必要である。
本開示は、複数世代データベース内のデータに対するアクセスを容易にするシステム及び対応する方法に向けられる。
要約のために、ある特定の態様、利点及び新規な特徴をここで説明する。かかる利点の全てを、任意の1つの特定の実施形態によって達成することは可能ではないことを理解されたい。従って、特許請求される主題事項は、全ての利点を本明細書において開示若しくは示唆されるように達成することなく、1つの利点又は一群の利点を達成し又は最適化する方法で具体化又は実施することができる。
1つの実施形態により、複数世代データベース内のデータにアクセスする方法が提供される。この方法は、データベースの第1のページ上に置かれた、データベース内の第1のデータにアクセスする要求を受け取るステップと、第1のページに対応するエントリを読み出して第1のページ上の第1のトラックの位置を見つけてデータの最新バージョンにアクセスするステップと、第1のロックを取得して第1のトラックへのアクセスを同期させるステップと、第1のロックを保持しながら、エントリの読み出しに応答して、第1のトラックがデータの最新バージョンを格納していることを判定するステップとを含む。
別の実施形態により、1つ又は複数の論理ユニットを備えるシステムが提供される。1つ又は複数の論理ユニットは、上で開示した方法に関連する機能と動作を実行するように構成される。更に別の実施形態により、コンピュータ可読プログラムを有するコンピュータ使用可能媒体を備えたコンピュータ・プログラム製品及びコンピュータ・プログラムが提供される。コンピュータ可読プログラムは、コンピュータ上で実行されるとき、該コンピュータに上で開示した方法に関連する機能と動作を実行させる。
特定の代替物に加えて、上記に開示した1つ又は複数の実施形態を、添付の図面を参照して以下にさらに詳細に提供する。しかしながら、本発明は、開示した何れの特定の実施形態にも限定されるものではない。
ここで本発明を、以下の図面に示す好ましい実施形態を参照しながら例証としてのみ説明する。
1つ又は複数の実施形態による、複数世代データベースに関する例示的なデータベースのレイアウトを示す。 1つの実施形態による、データの最新バージョンを識別するための例示的なページ・テーブルを示す。 1つの実施形態による、複数世代データベースからデータを読み出す方法の流れ図である。 1つの実施形態による、データの最新バージョンを識別するための例示的な方法の流れ図である。 1つの実施形態による、複数世代データベースにデータを書き込むための方法の流れ図である。 1つの実施形態による、複数世代データベース内のページを進めるための方法の流れ図である。 1つ又は複数の実施形態による、本発明のシステムが動作できるハードウェア環境のブロック図である。 1つ又は複数の実施形態による、本発明のシステムが動作できるソフトウェア環境のブロック図である。
異なる図面において同じ数字により参照される本発明の特徴、要素及び態様は、1つ又は複数の実施形態による、同じ、同等の、又は類似の特徴、要素及び態様を表す。
以下において、本発明の様々な実施形態の完全な説明を提供するために、多数の具体的な詳細が述べられる。本発明の特定の実施形態は、これら具体的な詳細がなくても、又は詳細に幾つかの変更を伴って実施することができる。場合によっては、本発明の好ましい実施形態の他の態様を不明瞭にしないように、特定の特徴はあまり詳細には記述されない。要素又は特徴の各々と関連した詳細の度合いは、他のものに優る1つの特徴の新規性又は重要性を制限するように解釈すべきではない。
図1を参照すると、1つの実施形態による、例示的な複数世代データベース100は、データベース100に格納されたデータに対応する1つ又は複数のページを含む。データベース100は、例えば、N個のデータを含むことができるので、各データに対して1ページのN個のページが存在する。データの各ページは、1つ又は複数のバージョンのデータを含み、データの各バージョンは、ページ上の異なるトラック又は場所に置かれる。例えば、ページ1は、それぞれトラック1、2、及び3の上に置かれたバージョンA、B、及びCを含むことができ、ページ2は、それぞれトラック1、2、及び3の上に置かれたバージョンD、B、及びCを含むことができる。
データベース100は、DBMS110により管理される。具体的には、DBMS110は、データベース100内のデータに対するアクセスを管理する。そのため、DBMS110は、データベース100内の各ページの各トラックに対して1つのロックを実装することにより、データに対するアクセスを同期させることができる。読み出しアクセスに対しては、2つ以上のアクセスによってロックを共有させることができる。書き込みアクセスに対しては、ロックは1つのアクセスに専用である。ロックは、データと共にトラック上に格納し、トラック上のロックとデータのバージョンとの両者にアクセスするのに1つのアクセスで十分であるようにして、性能を改善すると共に大きいデータベースに対するスケーラビリティをもたらすことが望ましい。1つの実施形態において、同じページ上のロックは単一のロックとして一括して取り扱うことができる。
DBMS110はまた、ページ・テーブルを保持して1つのページ上のデータの最新バージョンの位置を見つけることができる。ページ・テーブルを保持することにより、最新バージョンを見出すためにデータの各バージョンを検索する必要がなくなり、性能が改善され、同期化が簡単になる。図1及び図2を参照すると、1つの実施形態により、例示的なページ・テーブル200は、データベース100の1つ又は複数のページに対応する1つ又は複数のエントリを含む。例えば、ページ・テーブル200は、データベース100のN個のページに対応するN個のエントリを含むことができる。各々のエントリは、該エントリと関連付けられたページに格納されているデータの最新バージョンのトラックを参照する。
実装によって、異なるフォーマットを用いてトラックを参照することができる。最小のビット数を使用して大きいデータベースに対するスケーラビリティをもたらすことが望ましい。例えば、1つのページ上にN個のトラックがある場合には、およそlog(N)のビットを使用して1つのトラックを参照することができる。図1の例示的な説明図では、ページ1上のデータの最新バージョンであるバージョンCがトラック3に配置され、ページ2上のデータの最新バージョンであるバージョンDがトラック1に配置される。1つのページ上に3トラックあるので、2ビットを使用してトラックを参照する。例えば、“00”を使用してトラック1を参照し、“01”を使用してトラック2を参照し、“10”を使用してトラック3を参照する。
図1及び図3を参照すると、1つの実施形態により、DBMS110は、データベース100の第1のページ上に置かれたデータにアクセスする要求を受け取る(P300)。それに応答して、DBMS110は、ページ・テーブル200から第1のページに対応するエントリを読み出して、データの最新バージョンを格納している第1のページ上の第1のトラックの位置を見つける(P310)。例えば、DBMS110がデータベース100の第1のページからのデータにアクセスする要求を受け取ると、DBMS110は、ページ・テーブル200からエントリ1を読み出す。図1及び図2において、エントリ1は、バージョンCのデータを格納しているトラック3を参照する。
第1のトラックの位置を見つけると、DBMS100はロックを取得して第1のトラックへのアクセスを同期させる(P320)。ロックは、データに対するアクセスを同期させて、トラックに対するロックを保持しながら、エントリが第1のトラックを参照しさえすればデータの最新バージョンが第1のトラックに見つかるようにする。第1のトラックに対するロックが取得されると、該エントリが2度目に読み出され、データの最新バージョンが依然として第1のトラック上に置かれているかどうかを判断する(P330)。
1回目の読み出し後かつ第1のトラックに対するロックを取得する前に、データを含む第1のページが新しい世代に進められると、1回目の読み出しと2回目の読み出しとの間でエントリが変化する場合がある。ページの進行に関するさらなる詳細は、以下で図6を参照して与える。データの最新バージョンが依然として第1のトラック上に置かれている場合(P340)、DBMSは、第1のトラック上に置かれているデータのバージョンを返す(P350)。データの最新バージョンがもはや第1のトラック上に置かれていない場合は(P340)、DBMS110は、ロックを解除し(P360)、P310からP360までを繰り返す。
図1、図3及び図4を参照すると、1つの実施形態により、DBMS110は、データベース100の第1のページ上に置かれているデータを読み出す要求を受け取る(P400)。要求を受け取ると、DBMS110は、データの最新バージョンを格納している第1のページ上の第1のトラックにアクセスし(P410、P300−350)、データの最新バージョンを返す(P420).DBMS110はまた、P410中に取得された第1のトラックに対するロックを解除する(P430)。
図1、図3及び図5を参照すると、1つの実施形態により、DBMS110は、データベース100の第1のページ上に置かれたデータを更新する要求を受け取る。要求を受け取ると、DBMS110は、データの最新バージョンを格納している第1のページ上の第1のトラックにアクセスし(P500,P300−350)、第1のトラックが現行の世代と関連付けられているかどうかを判断する(P520)。DBMS110は、例えば、DBMS110により維持されるトランザクション・ログの最近のトランザクションを調べることにより、現行の世代を識別することができる。
第1のトラックが現行の世代と関連付けられている場合には(P520)、DBMS110は、第1のトラックに書き込んでデータの最新バージョンを更新し(P530)、次いで、P500の間に専用に取得された第1のトラックに対するロックを解除する(P540)。そうでない場合には、DBMS110は、第1のページを現行の世代に進め(P550)、第1のページ上の第2のトラックに書き込んでデータの最新バージョンを更新する(P560)。第1のページを進めることは、第2のトラック上のデータの新バージョンを生成すること及びページ・テーブル200を更新することを含み、ユーザの観点からはアトミックに行われる。
図1、図5及び図6を参照すると、1つの実施形態により、DBMS110は、データの最新バージョンのコピーを作成する(P600)。第1のページ上の未使用の第2のトラックが利用可能である場合は(P610)、DBMS110は、未使用の第2のトラック上にコピーを格納する(P620)。そうでない場合には、DBMS110は、データの最も古いバージョンに上書きすることにより、コピーを使用中の第2のトラックに格納する(P630)。1つの実施形態において、データの最も古いバージョンは、データの最新バージョンの右側のトラックに配置される。例えば、図1及び図2において、バージョンCがページ1上のデータの最新バージョンであるので、データの最も古いバージョンは、トラック1上に配置されたバージョンAである(重複を伴う)。
データの最新バージョンが第2のトラックにコピーされると、第2のトラックは現行の世代と関連付けられ(P640)、第2のトラックに対するアクセスを同期させるロックがリセットされ、専用に取得される(P650)。従って、第2のトラック上に格納されたデータの最新バージョンのコピーが、データの最新バージョンとなる。
再び図1、図5及び図6を参照すると、第2のトラックに対するロックを取得すると、DBMS110は、ページ・テーブル200内のページに関するエントリを更新し(P660)、P500中に専用に取得された第1のトラックに対するロックを解除する(P670)。エントリが更新されると、DBMS110は、第2のトラックに書き込んで新たに生成されたデータの最新バージョンを更新し(P680,P560)、第2のトラックに対するロックを解除する(P690)。例えば、ページ1が進められる場合、図1のページ1及び図2のエントリ1は、図1のページ2及び図2のエントリ2のようになる。
異なる実施形態において、本発明は、完全にハードウェアの形態、完全にソフトウェアの形態、又はハードウェア要素とソフトウェア要素との組み合わせで実装することができる。例えば、データベース100及びDBMS110は、ハードウェア構成要素と、本発明のシステムにより意図される結果を達成するプロセスを遂行するように実行されるソフトウェア・コードとによって大部分が与えられる制御されたコンピュータ・システム環境に含めることができる。
図7及び図8を参照すると、例示的な実施形態によるコンピュータ・システム環境は、ハードウェア環境1110とソフトウェア環境1120からなる。ハードウェア環境1110は、ソフトウェアに対する実行環境を提供する機械及び装置を含み、ソフトウェアは、以下で規定されるハードウェアに対する実行命令を与える。
本明細書で規定されるように、図示したハードウェア要素上で実行されるソフトウェア要素は、具体的な論理的/機能的関係によって説明される。しかしながら、ソフトウェア内に実装されるそれぞれの方法はまた、例えば、構成されかつプログラムされたプロセッサ、特定用途向け集積回路(ASIC)、フィールド・プログラマブル・ゲート・アレー(FPGA)及びデジタル信号プロセッサ(DSP)を手段としてハードウェア内に実装することができることに留意されたい。
ソフトウェア環境1120は、システム・ソフトウェア1121とアプリケーション・ソフトウェア1122とを含む2つの主要なクラスに分割される。システム・ソフトウェア1121は、ハードウェアにどのように機能し情報を処理するかを指示するオペレーティングシステム(OS)及び情報管理システムのような制御プログラムを含む。
1つの実施形態において、DBMS110は、1つ又は複数のハードウェア環境で実行されてデータベース100に対するアクセスを管理するアプリケーション・ソフトウェア1122として実装される。アプリケーション・ソフトウェア1122は、プログラム・コード、データ構造体、ファームウェア、常駐ソフトウェア、マイクロコード、又はマイクロコントローラによって読み出し、解析し、又は実行することができる任意の他の形態の情報又はルーチンを含むことができるが、それらに限定されない。
代替的実施形態において、本発明は、コンピュータ又は任意の命令実行システムによって又はそれらと共に使用するためのプログラム・コードを備えるコンピュータ使用可能又はコンピュータ可読媒体からアクセス可能な、コンピュータ・プログラムとして実装することができる。この説明のために、コンピュータ使用可能又はコンピュータ可読媒体は、命令実行システム、装置又はデバイスによって又はそれらと共に使用するためのプログラムを含有し、格納し、伝達し、伝搬し又は運ぶことができる任意の装置とすることができる。
コンピュータ可読媒体は、電子的、磁気的、光学的、電磁的、赤外線又は半導体システム(又は装置又はデバイス)又は伝搬媒体とすることができる。コンピュータ可読媒体の例には、半導体メモリ又は固体メモリ、磁気テープ、取り外し可能コンピュータ・ディスケット、ランダム・アクセス・メモリ(RAM)、読み出し専用メモリ(ROM)、固定磁気ディスク及び光ディスクが含まれる。現在の光ディスクの例には、コンパクト・ディスク読み出し専用メモリ(CD−ROM)、コンパクト・ディスク読み出し/書き込みメモリ(CD−R/W)及びデジタル・ビデオ・ディスク(DVD)が含まれる。
図7を参照すると、アプリケーション・ソフトウェア1122の実施形態は、システム・バス1100を経由して1つ又は複数のメモリ要素と結合されたプロセッサ1101を含むハードウェア環境1110のようなデータ処理システム上で実行される、コンピュータ可読コードの形態のコンピュータ・ソフトウェアとして実装することができる。例えば、メモリ要素は、ローカル・メモリ1102,記憶媒体1106、及びキャッシュ・メモリ1104を含むことができる。プロセッサ1101は,記憶媒体1106から実行コードをローカル・メモリ1102へロードする。キャッシュ・メモリ1104は、一時記憶領域を提供して、コードが実行のために記憶媒体1106からロードされる回数を減らす。
ユーザ・インターフェース・デバイス1105(例えばキーボード、ポインティング・デバイスなど)及び表示スクリーン1107は、直接に、又は、例えば介在するI/Oコントローラ1103を通して、コンピュータ・システムに結合することができる。また、ネットワーク・アダプタなどの通信インターフェース・ユニット1108をコンピュータ・システムに結合して、データ処理システムが、介在する私的又は公的ネットワークを通して、他のデータ処理システム又は遠隔プリンタ若しくは記憶装置と通信できるようにすることもできる。有線又は無線モデム及びイーサネット・カードは、幾つかの例示的なタイプのネットワーク・アダプタである。
1つ又は複数の実施形態において、ハードウェア環境1110は、上記の構成要素の全ては含まないことがあり、又は、追加の機能若しくはユーティリティに関する他の要素を含むことがある。例えば、ハードウェア環境1110は、ラップトップ・コンピュータ、又は、セット・トップ・ボックス、携帯情報端末(PDA)、移動通信ユニット(例えば無線電話)、若しくは他の類似の情報処理及び/又はデータ記憶及び通信能力を有するハードウェア・プラットフォームなどの内蔵システム内に具体化された他のポータブル・コンピュータ・デバイスとすることもできる。
本システムの幾つかの実施形態において、通信インターフェイス1108は、プログラム・コードを含む各種の情報を表わすデジタル・データストリームを搬送する電気的、電磁気的又は光学的信号を送受信することにより、他のシステムと通信する。通信は、遠隔ネットワーク(例えば、インターネット)を経由して、又は代替的に搬送波上での伝送を通して確立することができる。
図8を参照すると、アプリケーション・ソフトウェア1122は、記憶媒体1106からローカル・メモリ1102へロードされた後、システム・ソフトウェア1121上で実行される1つ又は複数のコンピュータ・プログラムを含むことができる。クライアント・サーバー・アーキテクチャにおいて、アプリケーション・ソフトウェア1122は、クライアント・ソフトウェアとサーバ・ソフトウェアとを含むことができる。例えば、1つの実施形態において、クライアント・ソフトウェアは汎用コンピュータ・システム上で実行され、サーバ・ソフトウェアはサーバ・システム上で実行される。
ソフトウェア環境1120はまた、ローカル又は遠隔コンピュータ・ネットワーク上で利用可能なデータにアクセスするためのブラウザ・ソフトウェア1126を含むことができる。更にソフトウェア環境1120は、ユーザ・コマンド及びデータを受け取るためのユーザ・インターフェース1124(例えば、グラフィカル・ユーザ・インターフェース(GUI))を含むことができる。上記のハードウェア及びソフトウェア・アーキテクチャ並びに環境は例示のためであり、本発明の1つ又は複数の実施形態は、任意の型のシステム・アーキテクチャ又は処理環境上で実装することができることに留意されたい。
また、論理コード、プログラム、モジュール、プロセス、方法、及び各方法のそれぞれのステップが実行される順序は、単に例示的なものであることを理解されたい。実装によって、各ステップは、本開示において特に指示されない限り、任意の順序で又は並列に実行することができる。更に、論理コードは、何れの特定のプログラミング言語にも関連せず又は限定されず、分散環境、非分散環境又は多重処理環境における1つ又は複数のプロセッサ上で実行される1つ又は複数のモジュールを含むことができる。
100:データベース
110:DBMS
200:ページ・テーブル
1100:システム・バス
1101:プロセッサ
1102:ローカル・メモリ
1103:I/Oコントローラ
1104:キャッシュ・メモリ
1105:ユーザ・インターフェース・デバイス
1106:記憶媒体
1107:表示スクリーン
1108:通信インターフェース・ユニット
1110:ハードウェア環境
1120:ソフトウェア環境
1121:システム・ソフトウェア
1122:アプリケーション・ソフトウェア
1124:ユーザ・インターフェース
1126:ブラウザ・ソフトウェア

Claims (16)

  1. 複数世代データベース内のデータにアクセスする方法であって、
    前記データベースの第1のページ上に置かれた、前記データベース内の第1のデータにアクセスする要求を受け取るステップと、
    前記第1のページに対応するエントリを読み出して、前記第1のページ上の第1のトラックの位置を見つけて前記データの最新バージョンにアクセスするステップと、
    第1のロックを取得して前記第1のトラックに対するアクセスを同期させるステップと、
    前記第1のロックを保持しながら、前記エントリの読み出しに応答して、前記第1のトラックが前記データの前記最新バージョンを格納していることを判断するステップと
    を含む方法。
  2. 前記要求は、前記第1のデータを読み出すことであり、
    前記データの前記最新バージョンを返すステップと、
    前記第1のロックを解除するステップと
    を更に含む、請求項1に記載の方法。
  3. 前記要求は、前記第1のデータを更新することであり、
    前記第1のトラックが前記データベースの現行世代と関連付けられているかどうかを判断するステップを更に含む、請求項1に記載の方法。
  4. 前記第1のトラックは、前記データベースの前記現行世代と関連付けられており、
    前記第1のトラックに書き込んで前記データの前記最新バージョンを更新するステップと、
    前記第1のロックを解除するステップと
    を更に含む、請求項3に記載の方法。
  5. 前記第1のトラックは、前記データベースの前記現行世代と関連付けられておらず、
    前記第1のページを前記現行世代に進めるステップと、
    前記第1のページ上の第2のトラックに書き込んで前記データの前記最新バージョンを更新するステップと、
    前記第2のトラックに対するアクセスを同期させる第2のロックを解除するステップと、
    を更に含む、請求項3に記載の方法。
  6. 前記進めるステップは、
    前記データの前記最新バージョンのコピーを前記第2のトラック上に生成するステップと、
    前記第2のトラックを前記現行世代に関連付けるステップと、
    前記第2のロックをリセットし取得して前記第2のトラックに対するアクセスを同期させるステップと、
    前記第1のページに対応する前記エントリを前記第2のトラックを参照するように更新して、前記コピーが前記データの前記最新バージョンとなるようにするステップと、
    前記第1のロックを解除するステップと、
    を含む、請求項5に記載の方法。
  7. 前記コピーを生成するステップは、前記第2のトラックに格納された前記データの最も古いバージョンに上書きするステップを含む、請求項6に記載の方法。
  8. 複数世代データベース内のデータにアクセスするためのシステムであって、
    前記データベースの第1のページに置かれた、前記データベース内の第1のデータにアクセスする要求を受け取るための論理ユニットと、
    前記第1のページに対応するエントリを読み出して、前記第1のページ上の第1のトラックの位置を見つけて前記データの前記最新バージョンにアクセスするための論理ユニットと、
    第1のロックを取得して前記第1のトラックに対するアクセスを同期させるための論理ユニットと、
    前記第1のロックを保持しながら、前記エントリの読み出しに応答して、前記第1のトラックが前記データの前記最新バージョンを格納しているかどうかを判断するための論理ユニットと
    を備えるシステム。
  9. 前記要求は、前記第1のデータを読み出すことであり、
    前記データの前記最新バージョンを返すための論理ユニットと、
    前記第1のロックを解除するための論理ユニットと
    を更に備える、請求項8に記載のシステム。
  10. 前記要求は、前記第1のデータを更新することであり、
    前記第1のトラックが前記データベースの現行世代と関連付けられているかどうかを判断するための論理ユニットを更に備える、請求項8に記載のシステム。
  11. 前記第1のトラックは、前記データベースの前記現行世代と関連付けられており、
    前記第1のトラックに書き込んで前記データの前記最新バージョンを更新するための論理ユニットと、
    前記第1のロックを解除するための論理ユニットと
    を更に備える、請求項10に記載のシステム。
  12. 前記第1のトラックは、前記データベースの前記現行世代と関連付けられておらず、
    前記第1のページを前記現行世代に進めるための論理ユニットと、
    前記第1のページ上の第2のトラックに書き込んで前記データの前記最新バージョンを更新するための論理ユニットと、
    前記第2のトラックに対するアクセスを同期させる第2のロックを解除するための論理ユニットと
    を更に備える、請求項10に記載のシステム。
  13. 前記第1のページを前記現行世代に進めるための前記論理ユニットは、
    前記データの前記最新バージョンのコピーを前記第2のトラック上に生成するための論理ユニットと、
    前記第2のトラックを前記現行世代に関連付けるための論理ユニットと、
    前記第2のロックをリセットし取得して、前記第2のトラックに対するアクセスを同期させるための論理ユニットと、
    前記第1のページに対応する前記エントリを前記第2のトラックを参照するように更新して前記コピーが前記データの前記最新バージョンとなるようにするための論理ユニットと、
    前記第1のロックを解除するための論理ユニットと
    を備える、請求項12に記載のシステム。
  14. 前記データの前記最新バージョンの前記コピーを前記第2のトラック上に生成するための前記論理ユニットは、前記第2のトラックに格納された前記データの最も古いバージョンに上書きするための論理ユニットを含む、請求項13に記載のシステム。
  15. コンピュータ・システムにロードされ、その上で実行されるとき、前記コンピュータ・システムに請求項1から請求項7までのいずれか1項に記載された前記方法の前記ステップの全てを実行させる、コンピュータ・コードを含むコンピュータ・プログラム製品。
  16. コンピュータ・システムにロードされ、その上で実行されるとき、前記コンピュータ・システムに請求項1から請求項7までのいずれか1項に記載された前記方法の前記ステップの全てを実行させる、コンピュータ・コードを含むコンピュータ・プログラム。
JP2011538917A 2008-12-05 2009-10-16 複数世代データベース内のデータに対するアクセス Expired - Fee Related JP5567585B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/329,005 US8521776B2 (en) 2008-12-05 2008-12-05 Accessing data in a multi-generation database
US12/329,005 2008-12-05
PCT/EP2009/063554 WO2010063511A1 (en) 2008-12-05 2009-10-16 Accessing data in a multi-generation database

Publications (2)

Publication Number Publication Date
JP2012511197A true JP2012511197A (ja) 2012-05-17
JP5567585B2 JP5567585B2 (ja) 2014-08-06

Family

ID=41353855

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011538917A Expired - Fee Related JP5567585B2 (ja) 2008-12-05 2009-10-16 複数世代データベース内のデータに対するアクセス

Country Status (5)

Country Link
US (1) US8521776B2 (ja)
EP (1) EP2370912A1 (ja)
JP (1) JP5567585B2 (ja)
CN (1) CN102239489B (ja)
WO (1) WO2010063511A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106682005A (zh) * 2015-11-05 2017-05-17 华为技术有限公司 一种确定数据库热页面的方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0659953A (ja) * 1992-05-21 1994-03-04 Nec Corp 仮想ファイル入出力制御方法
JP2003263350A (ja) * 2002-03-07 2003-09-19 Ricoh Co Ltd データベースシステム
JP2006012153A (ja) * 2004-06-29 2006-01-12 Microsoft Corp 同時トランザクション(concurrenttransactions)とページ同期(pagesynchronization)
JP2006085539A (ja) * 2004-09-17 2006-03-30 Fujitsu Ltd データベース管理プログラム、方法、装置及び記録媒体

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5043876A (en) 1988-05-27 1991-08-27 International Business Machines Corporation N-level file shadowing and recovery in a shared file system
JP3593366B2 (ja) 1994-09-19 2004-11-24 株式会社日立製作所 デ−タベ−ス管理方法
ATE262196T1 (de) * 1996-08-02 2004-04-15 Hewlett Packard Co Verfahren und gerät das verteilte steuerung von gemeinsamen betriebsmitteln erlaubt
US6351753B1 (en) 1998-02-20 2002-02-26 At&T Corp. Method and apparatus for asynchronous version advancement in a three version database
US6684226B1 (en) 2000-03-24 2004-01-27 Frontline Software Aps Method for storing data in one or more files so that both previous and new versions of the data are separately accessible
US7779039B2 (en) 2004-04-02 2010-08-17 Salesforce.Com, Inc. Custom entities and fields in a multi-tenant database system
US7297000B1 (en) 2003-11-26 2007-11-20 Hinsdale Bernard Periodic table of the elements in three dimensional form
US7143120B2 (en) 2004-05-03 2006-11-28 Microsoft Corporation Systems and methods for automated maintenance and repair of database and file systems
US7730044B2 (en) * 2007-04-02 2010-06-01 Bmc Software, Inc. Log data store and assembler for large objects in database system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0659953A (ja) * 1992-05-21 1994-03-04 Nec Corp 仮想ファイル入出力制御方法
JP2003263350A (ja) * 2002-03-07 2003-09-19 Ricoh Co Ltd データベースシステム
JP2006012153A (ja) * 2004-06-29 2006-01-12 Microsoft Corp 同時トランザクション(concurrenttransactions)とページ同期(pagesynchronization)
JP2006085539A (ja) * 2004-09-17 2006-03-30 Fujitsu Ltd データベース管理プログラム、方法、装置及び記録媒体

Also Published As

Publication number Publication date
CN102239489A (zh) 2011-11-09
JP5567585B2 (ja) 2014-08-06
WO2010063511A1 (en) 2010-06-10
US20100145996A1 (en) 2010-06-10
CN102239489B (zh) 2014-05-21
US8521776B2 (en) 2013-08-27
EP2370912A1 (en) 2011-10-05

Similar Documents

Publication Publication Date Title
US11182404B2 (en) Data replication technique in database management system
CN107066467B (zh) 用于事务高速缓存无效的原子可见性切换
JP4340226B2 (ja) データ項目の使用可能バージョンの提供
US8005792B2 (en) System and method for managing versions of metadata
EP3519986B1 (en) Direct table association in in-memory databases
US20170147628A1 (en) Transactional cache invalidation for inter-node caching
US9020916B2 (en) Database server apparatus, method for updating database, and recording medium for database update program
US11307922B2 (en) Application crash analysis techniques when memory dump and debug symbols are not co-located
US11379415B2 (en) Executing a conditional command on an object stored in a storage system
US11003540B2 (en) Method, server, and computer readable medium for index recovery using index redo log
CN116249978A (zh) 数据库系统中的并发事务处理
US9766926B2 (en) Method and system for optimizing parallel program execution based on speculation that an object written to is not shared
US20060004877A1 (en) Method and system for data processing with data replication for the same
JP5567585B2 (ja) 複数世代データベース内のデータに対するアクセス
US10685014B1 (en) Method of sharing read-only data pages among transactions in a database management system
US10884741B2 (en) Persistent transactional memory metadata-based buffer caches
US10976959B2 (en) Method and system for accessing virtual machine state while virtual machine restoration is underway
Kalita et al. DurableFS: a file system for NVRAM
US11704305B1 (en) Optimizations for long-lived statements in a database system
JP4923140B2 (ja) データベース並行編集方式
US20240168943A1 (en) Method and apparatus for updating data about multiple user in database management system
US20240143594A1 (en) Offloading graph components to persistent storage for reducing resident memory in distributed graph processing
JPWO2009147847A1 (ja) データベース並行編集方式
JP5543901B2 (ja) データベース並行編集方式

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120510

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130708

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130716

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130809

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131126

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140207

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: 20140527

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140619

R150 Certificate of patent or registration of utility model

Ref document number: 5567585

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees