JP4603546B2 - 効率的なバージョン制御を有するデータベース管理システム - Google Patents
効率的なバージョン制御を有するデータベース管理システム Download PDFInfo
- Publication number
- JP4603546B2 JP4603546B2 JP2006522785A JP2006522785A JP4603546B2 JP 4603546 B2 JP4603546 B2 JP 4603546B2 JP 2006522785 A JP2006522785 A JP 2006522785A JP 2006522785 A JP2006522785 A JP 2006522785A JP 4603546 B2 JP4603546 B2 JP 4603546B2
- Authority
- JP
- Japan
- Prior art keywords
- transaction
- data
- index
- field
- content item
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/22—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/23—Updating
- G06F16/2308—Concurrency control
- G06F16/2315—Optimistic concurrency control
- G06F16/2329—Optimistic concurrency control using versioning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
この発明は、複数のユーザによって同時にアクセス可能なデータの管理に関する。
データベースは、コンピュータ中に保存される関連する記録の集合である。当該技術分野において、このデータ記録の集合は情報データベースとも呼ばれる。データ記録は代替的にデータタプルまたは単にタプルと呼ばれる。複数のユーザがこれらのデータ記録に同時にアクセスしてもよい。トランザクションがデータベースユーザのために実行され、これらのデータ記録にアクセスする。トランザクションはデータベースからの読取、データベースへの書込、またはその両方を行なってもよい。よって、トランザクション実行はデータ記録の組における読取および書込動作の組をもたらす。トランザクションは典型的に、それらが書込むかまたは読取るデータ記録に対するアクセス許可を要求する。アクセス許可は通常ロックを介して実施される。トランザクションは典型的に、対応するロックを求めることによってデータ記録に対するアクセス許可を要求する。アクセス許可における競合はロック競合として現われる。ロック競合は、両立しないモードにおいて複数のトランザクションが同時に同じデータ記録にアクセスを試みるときに起こり得る。
レベルを定めた。一例は一般的に公知の「直列可能な」分離レベルであり、ここでは各トランザクションのすべての動作がクラスタ化される直列スケジュールと実行スケジュールとが同等であるような態様で複数のトランザクションが実行する、すなわちトランザクションは1つずつ直列的に実行されたように見える。直列可能性は最高度の分離である。
各データ記録は内部で単一の論理タプルによって表わされる。論理タプルは直接単一の物理タプルを示すか、または「バージョンリスト」と呼ばれるデータ構造を示す。物理タプルは「内容項目」とも呼ばれる。論理タプルはバージョンリストを通じて2つの物理内容項目と関係してもよい。これら2つの物理内容項目の1つによって表わされるデータ記録において最後にコミットされた値は「コミット(committed)内容項目」と呼ばれる。各物理内容項目はデータ値および制御フラグの組、すなわち(1)削除ビット、(2)割当ビット、(3)参照カウントを保存する。
理タプル点を作る。バージョンリストは所与の論理タプルに対する最大2つの物理内容項目を維持する。このためにバージョンリストは2つのフィールドを有する。すなわち、(1)「読取コピー」とも呼ばれるコミット物理内容項目、および(2)「書込コピー」としても知られる非コミット物理内容項目である。コミット物理内容項目は、あらゆるトランザクションによって参照されてもよい現行の読取コピーである。バージョンリストにおける(保留中の)非コミット内容項目フィールドは、所与の書込動作を実行したトランザクションによってのみ用いられる物理非コミットコピーを参照する。この「書込」トランザクションがコミットするとき、可能であれば前の読取コピー(旧コミット内容項目)は割当解除される。書込トランザクションがコミットした後、論理タプルは新たなコミット内容項目を示し、バージョンリストは割当解除され、論理タプル上のXロックは解除される。
な空間におけるデータ記録を再訪することを可能にする。これによって、分類トランザクションが参照カウントおよび読取られる物理内容項目の生存期間を管理することが可能になる。
図1は、データベース8と、データベース管理システム(DBMS)6およびバージョン制御システム10に対するソフトウェアを保存および実行するプロセッサ4(中央処理ユニット(CPU)およびメモリ)とを含むデータベースシステムを示す。1つの例において、プロセッサ4を含む計算装置2はサーバである。こうしたシステムはデータベースサーバとも呼ばれる。プロセッサ4はサーバ2において動作する単一CPUまたは複数のCPUであってもよい。データベース8は典型的に複数の直接アクセス記憶装置(DASD)に保存されるが、図1にはこうした装置を1つだけ例示する。DASDはたとえばディスクパックであってもよく、データベースシステムはデータベース8とプロセッサ4との間の通信を確立する、必要なDASDコントローラおよびチャネルを含むことが当業者に理解される。別の例において、データベース(8)は主メモリ(4)自体の中に保存されてもよい。
、他のトランザクションの下にある書込動作が論理タプル14Bにアクセスすることを防止する。論理タプル14にアクセスできるあらゆる動作が、論理タプル14中のバージョンリストフラグ222をチェックすることによって、関連バージョンリストが存在するか否かをまずチェックする。設定されたバージョンリストフラグ222を有する論理タプルにアクセスする動作は、関連バージョンリストに行く。
項目フィールド26を見る。書込トランザクション38が一旦コミットすると、バージョンリスト20は破壊され、論理タプル中の標識222は0に設定され、論理タプル14Bは物理タプル18Bを直接示す。この時点で内容項目18Bに対する削除フラグ30は設定されない。割当フラグ32は物理内容項目18Bが作成されたときと同じ値であって、DBMS6(図1)に対してテーブル空間16中の物理アドレス空間が現在内容項目18Bに割当てられていることを示し、参照カウント34はゼロに設定される。
削除動作は前述の挿入動作と非常によく似ている。削除動作の挿入動作との唯一の相違点は、論理タプル14Bの削除に対するバージョンリスト20中のコミット内容項目24がコミット内容項目18Bを示し、保留内容項目26がNULLであることである。挿入動作に対して説明したのと同じ論理を用いて、他のトランザクションは論理タプル14B(すなわちコミット内容項目18B)の前の値を見る。現行のトランザクション38はこの論理タプル14Bをスキップする。
B′を物理テーブル16中の新たなコミット内容項目にする。
「分類」は、同じデータを一度より多く読取る必要があり得る動作の組の代表である。分類の例は結合、グループ化および明確な属性などである。分類を行なう読取動作は物理テーブルから内容項目の組を読取ってもよい。読取動作は分類動作の実行中に削除されるかもしれないあらゆる内容項目の所有権を得て、分類動作の完了時にこうした内容項目をすべて削除する。
中のアドレス値は、物理テーブル空間T1における対応する物理タプル52を示す。この例において、各物理タプル52はデータ記録の“A”列およびデータ記録の“B”列を有する。
図6は、索引走査が索引60中のコミットおよび非コミットエントリを区別する、バージョン制御システムの別の特徴を示す。索引方式は通常、動作を削除するための2つまたはそれ以上の索引照合ならびに動作を更新および挿入するための複数の索引照合を必要とする。前述のバージョン制御システムは、動作を挿入および削除するためのただ1つの索引照合ならびに動作を更新するための3つの索引照合を必要とする。更新動作に対する照合のコストをさらに減少させるために既存の最適化技術を用いることができる。
トリを有する。影響される索引のリストは論理タプル挿入および削除動作に対して保持されない。なぜならこれらの動作はすべての索引に影響するからである。たとえば、論理タプル挿入は下にあるテーブルのすべての索引における挿入動作を必要とする。すなわち、索引当りの論理タプル挿入当り1つの挿入照合動作である。(データ記録に対する削除動作を行なった)トランザクションがそのためにすべての索引エントリをコミットするとき、対応する論理タプルはすべての索引から削除される必要がある。その結果、索引当りの論理タプル削除当り1つの索引照合動作となる。
ジョンリスト70は、論理タプル68を更新した動作のトランザクションIdを含むオーナーXIDによって参照される。コミットTupId項は、論理タプルの前のバージョンの物理タプルIdを参照する。非コミットTupId項は、論理タプルの新たなバージョンに対する物理タプルIdを参照する。索引マップ(indexMap)項はすべての影響される索引のビットマップを参照し、実施例の1つにおいては更新トランザクションに対してのみ存在する。しかし、スキャナは挿入、削除、影響された索引および影響されない索引を分析する。
この発明の異なる局面は、直列可能でないトランザクションのための非ブロッキング読
取を提供する。すなわち、データ記録の読取が遅延されない。データ記録の読取および書込の間に依存性は必要とされず、ライタはそれら自身の間で依存性を有することはできるが、いかなる読取動作との依存性も要求されない。読取動作がデータ記録を読取るときに効率的なバージョン配置が与えられる。遅延される一貫性チェックがないため、トランザクションは、コミット時よりもむしろ書込動作の実行の際に生じるに違いない「書込」動作デッドロック以外の理由でコミット時にロールバックされる必要がない。データ記録のバージョンが必要とされるより長くデータベース中に滞在することのない、ゴミのない実行が提供される。効率的な減少された分離支持は、読取られるバージョンの効率的な場所を含む、減少された分離レベルで走るトランザクションの実行を提供する。
Claims (8)
- データを処理する方法であって、
書込トランザクションによって、第1のデータから第2のデータを作成するステップと、
第1のデータを示す第1のフィールド、第2のデータを示す第2のフィールド、および書込トランザクションに対するトランザクションIdを保存する第3のフィールドを有するバージョンリストを作成するステップと、
バージョンリストの第3のフィールドにおけるトランザクションIdと一致するトランザクションにバージョンリスト中の第2のフィールドを供給し、バージョンリストの第3のフィールドにおけるトランザクションIdと一致しないトランザクションに第1のフィールドを与えるステップと、
書込トランザクションが第2のデータをコミットするときに、削除に対して第1のデータにフラグを立てるステップと、
読取トランザクションが第1のデータにアクセスするごとに参照カウントを増やすステップと、
読取トランザクションが第1のデータへのアクセスを終えるごとに参照カウントを減らすステップと、
完了した読取トランザクションが参照カウントをゼロに減らすときに、フラグを立てられた削除に対して第1のデータをチェックするステップと、
第1のデータが削除に対してフラグを立てられており、かつゼロ参照カウントを有するときに読取トランザクションによって第1のデータを割当解除するステップとを含む、方法。 - 書込トランザクションが第2のデータを作成したときに、バージョンリストを示すポインタを含み、書込トランザクションが完了したときに、第2のデータを示すポインタを含む論理タプルを生成するステップを含む、請求項1に記載の方法。
- 索引中の索引エントリがコミットであるか非コミットであるかをマーク付けするステップと、
コミットであるとマーク付けされたエントリおよび非コミットであるとマーク付けされたエントリを有する索引を識別するバージョンリスト中の索引マップを与えるステップと、
索引を走査するステップと、
索引エントリが索引マップに関連しておらず、かつ索引走査を開始するトランザクションに対する識別子(Id)がバージョンリストの第3のフィールドにおけるトランザクションIdと一致するときに、第2のデータにポインタを戻すステップと、
索引エントリが索引マップに関連しておらず、かつ索引走査を開始するトランザクションに対する識別子(Id)がバージョンリストの第3のフィールドにおけるトランザクションIdと一致しないときに、第1のデータにポインタを戻すステップとを含む、請求項1に記載の方法。 - 各第1のデータのアドレス値を含む論理タプルを各第1のデータに対して作成するステップと、
論理タプルの組をコピーするステップと、
論理タプルのコピーされた組に関連する第1のデータに対する参照カウントを増やすステップと、
前記動作が完了するときに第1のデータに対する参照カウントを減らすステップと、
削除フラグを有しかつゼロ参照カウントを有する第1のデータのいずれかを割当解除するステップとを含む、請求項1に記載の方法。 - 第1のデータを含むデータベースと、
書込トランザクションによって、第1のデータから第2のデータを作成し、第1のデータを示す第1のフィールドと、第2のデータを示す第2のフィールドと、第2のデータを作成するトランザクションに対するトランザクションIdを保存する第3のフィールドとを有するバージョンリストを作成し、第3のフィールドにおけるトランザクションIdと一致するトランザクションにバージョンリスト中の第2のフィールドを供給し、第3のフィールドにおけるトランザクションIdと一致しないトランザクションに第1のフィールドを与えるプロセッサとを含み、前記プロセッサは、書込トランザクションが第2のデータをコミットするときに、削除に対して第1のデータにフラグを立て、読取トランザクションが第1のデータにアクセスするごとに参照カウントを増やし、読取トランザクションが第1のデータへのアクセスを終えるごとに参照カウントを減らし、前記プロセッサは、第1のデータが以前に削除に対してマーク付けされており、かつ読取トランザクションが参照カウントをゼロに減らすときに第1のデータを割当解除する、データベースシステム。 - 前記プロセッサは、書込トランザクションが第2のデータを作成したときに、バージョンリストを示すポインタを含み、書込トランザクションが完了したときに、第2のデータを示すポインタを含む論理タプルを作成する、請求項5に記載のデータベースシステム。
- 前記プロセッサは、索引中の索引エントリがコミットであるか非コミットであるかをマーク付けし、索引中の、コミットであるとマーク付けされたエントリおよび非コミットであるとマーク付けされたエントリを識別するバージョンリスト中の索引マップを与え、前記プロセッサは書込トランザクションに対して索引を走査し、索引エントリが索引マップによって参照されず、かつ索引走査を開始するトランザクションに対する識別子(Id)がバージョンリストの第3のフィールドにおけるトランザクションIdと一致するとき、前記プロセッサは第2のデータにポインタを戻し、索引エントリが索引マップにおいて参照されず、かつ索引走査を開始するトランザクションに対する識別子(Id)がバージョンリストの第3のフィールドにおけるトランザクションIdと一致しないとき、前記プロセッサは第1のデータにポインタを戻す、請求項5に記載のデータベースシステム。
- 前記プロセッサは、各第1のデータのアドレス値を含む論理タプルを各第1のデータに対して作成し、論理タプルの組をコピーし、前記プロセッサは論理タプルのコピーされた組に関連する第1のデータに対する参照カウントを増やし、分類トランザクションが完了するときに第1のデータに対する参照カウントを減らし、削除フラグおよびゼロ参照カウントを有する第1のデータのいずれかを割当解除する、請求項5に記載のデータベースシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/636,361 US7243088B2 (en) | 2003-08-06 | 2003-08-06 | Database management system with efficient version control |
PCT/US2004/025657 WO2005015401A2 (en) | 2003-08-06 | 2004-08-06 | A database management system with efficient version control |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007501468A JP2007501468A (ja) | 2007-01-25 |
JP4603546B2 true JP4603546B2 (ja) | 2010-12-22 |
Family
ID=34116412
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006522785A Active JP4603546B2 (ja) | 2003-08-06 | 2004-08-06 | 効率的なバージョン制御を有するデータベース管理システム |
Country Status (7)
Country | Link |
---|---|
US (2) | US7243088B2 (ja) |
EP (1) | EP1652084A2 (ja) |
JP (1) | JP4603546B2 (ja) |
CN (1) | CN100432939C (ja) |
AU (1) | AU2004264231B2 (ja) |
CA (1) | CA2537411C (ja) |
WO (1) | WO2005015401A2 (ja) |
Families Citing this family (83)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9208191B2 (en) | 2012-07-20 | 2015-12-08 | Sap Se | Lock-free, scalable read access to shared data structures |
US8024355B2 (en) * | 2004-12-29 | 2011-09-20 | Sap Ag | Dynamic capacity demand profile construction with a persisted capacity demand profile and a collision buffer |
US8086580B2 (en) * | 2005-01-11 | 2011-12-27 | International Business Machines Corporation | Handling access requests to a page while copying an updated page of data to storage |
CA2600504C (en) * | 2005-04-18 | 2013-04-09 | Research In Motion Limited | Container-level transaction management system and method therefor |
US7617180B1 (en) * | 2005-06-06 | 2009-11-10 | Infoblox Inc. | Efficient lock management |
CN100454302C (zh) * | 2005-10-24 | 2009-01-21 | 中兴通讯股份有限公司 | 一种文件管理系统及管理方法 |
US7440957B1 (en) * | 2005-11-30 | 2008-10-21 | At&T Intellectual Property Ii, L.P. | Updates through views |
US7502792B2 (en) * | 2006-04-26 | 2009-03-10 | Microsoft Corporation | Managing database snapshot storage |
US7636829B2 (en) | 2006-05-02 | 2009-12-22 | Intel Corporation | System and method for allocating and deallocating memory within transactional code |
US8181187B2 (en) * | 2006-12-01 | 2012-05-15 | Portico Systems | Gateways having localized in-memory databases and business logic execution |
US7747589B2 (en) * | 2007-03-12 | 2010-06-29 | Microsoft Corporation | Transaction time indexing with version compression |
US20080243966A1 (en) * | 2007-04-02 | 2008-10-02 | Croisettier Ramanakumari M | System and method for managing temporary storage space of a database management system |
US8037112B2 (en) * | 2007-04-23 | 2011-10-11 | Microsoft Corporation | Efficient access of flash databases |
US7870122B2 (en) * | 2007-04-23 | 2011-01-11 | Microsoft Corporation | Self-tuning index for flash-based databases |
US9483525B2 (en) * | 2007-04-30 | 2016-11-01 | Microsoft Technology Licensing, Llc | Reducing update conflicts when maintaining views |
US7941411B2 (en) * | 2007-06-29 | 2011-05-10 | Microsoft Corporation | Memory transaction grouping |
US7991967B2 (en) * | 2007-06-29 | 2011-08-02 | Microsoft Corporation | Using type stability to facilitate contention management |
US9594784B2 (en) * | 2007-10-19 | 2017-03-14 | Oracle International Corporation | Push-model based index deletion |
US9594794B2 (en) * | 2007-10-19 | 2017-03-14 | Oracle International Corporation | Restoring records using a change transaction log |
US9418154B2 (en) * | 2007-10-19 | 2016-08-16 | Oracle International Corporation | Push-model based index updating |
US8682859B2 (en) * | 2007-10-19 | 2014-03-25 | Oracle International Corporation | Transferring records between tables using a change transaction log |
US7904427B2 (en) * | 2008-01-11 | 2011-03-08 | Microsoft Corporation | Lazier timestamping in a transaction time database |
JP5343399B2 (ja) * | 2008-05-22 | 2013-11-13 | 富士通株式会社 | 管理プログラム、管理方法、及び管理装置 |
US8738573B2 (en) * | 2008-05-23 | 2014-05-27 | Microsoft Corporation | Optimistic versioning concurrency scheme for database streams |
JP5467625B2 (ja) * | 2008-07-30 | 2014-04-09 | インターナショナル・ビジネス・マシーンズ・コーポレーション | トランザクションを処理する本番システムと該本番システムのバックアップ・システムである代行システムとを含む本番−代行システム |
US8028113B2 (en) * | 2008-08-15 | 2011-09-27 | International Business Machines Corporation | Methods and systems for deadlock-free allocation of memory |
US8117160B1 (en) * | 2008-09-30 | 2012-02-14 | Emc Corporation | Methods and apparatus for creating point in time copies in a file system using reference counts |
US20100088270A1 (en) * | 2008-10-03 | 2010-04-08 | Carsten Ziegler | Data versioning concept including time dependency and active and inactive states |
CA2750279C (en) | 2009-02-13 | 2019-03-26 | Ab Initio Technology Llc | Managing task execution |
US8667329B2 (en) * | 2009-09-25 | 2014-03-04 | Ab Initio Technology Llc | Processing transactions in graph-based applications |
US8396831B2 (en) * | 2009-12-18 | 2013-03-12 | Microsoft Corporation | Optimistic serializable snapshot isolation |
US8356007B2 (en) | 2010-10-20 | 2013-01-15 | Microsoft Corporation | Distributed transaction management for database systems with multiversioning |
EP3287896B1 (en) | 2010-06-15 | 2023-04-26 | Ab Initio Technology LLC | Dynamically loading graph-based computations |
US8392384B1 (en) * | 2010-12-10 | 2013-03-05 | Symantec Corporation | Method and system of deduplication-based fingerprint index caching |
JP5772458B2 (ja) * | 2011-09-29 | 2015-09-02 | 富士通株式会社 | データ管理プログラム、ノード、および分散データベースシステム |
CN102508744A (zh) * | 2011-11-10 | 2012-06-20 | 浪潮电子信息产业股份有限公司 | 一种减少系统资源开销的快照实现方法 |
US8938430B2 (en) * | 2012-02-22 | 2015-01-20 | International Business Machines Corporation | Intelligent data archiving |
US20130226891A1 (en) * | 2012-02-29 | 2013-08-29 | Red Hat Inc. | Managing versions of transaction data used for multiple transactions in distributed environments |
JP5971713B2 (ja) * | 2012-09-20 | 2016-08-17 | 株式会社東芝 | Icカード |
US9047333B2 (en) * | 2012-09-20 | 2015-06-02 | Cray Inc | Dynamic updates to a semantic database using fine-grain locking |
CN103714090B (zh) * | 2012-10-09 | 2018-04-10 | 阿里巴巴集团控股有限公司 | 多索引数据库事务处理方法及数据库 |
US10108521B2 (en) | 2012-11-16 | 2018-10-23 | Ab Initio Technology Llc | Dynamic component performance monitoring |
US9507682B2 (en) | 2012-11-16 | 2016-11-29 | Ab Initio Technology Llc | Dynamic graph performance monitoring |
US9747313B2 (en) * | 2012-12-19 | 2017-08-29 | Sap Se | Timeline index for managing temporal data |
US9009203B2 (en) | 2013-02-19 | 2015-04-14 | Sap Se | Lock-free, scalable read access to shared data structures using garbage collection |
US9633023B2 (en) * | 2013-03-15 | 2017-04-25 | Microsoft Technology Licensing, Llc | Efficient DVCS storage system |
US9659050B2 (en) * | 2013-08-06 | 2017-05-23 | Sybase, Inc. | Delta store giving row-level versioning semantics to a non-row-level versioning underlying store |
US9519664B1 (en) * | 2013-09-20 | 2016-12-13 | Amazon Technologies, Inc. | Index structure navigation using page versions for read-only nodes |
US9684685B2 (en) | 2013-10-24 | 2017-06-20 | Sap Se | Using message-passing with procedural code in a database kernel |
US9600551B2 (en) | 2013-10-24 | 2017-03-21 | Sap Se | Coexistence of message-passing-like algorithms and procedural coding |
US9336258B2 (en) * | 2013-10-25 | 2016-05-10 | International Business Machines Corporation | Reducing database locking contention using multi-version data record concurrency control |
CN103714121B (zh) * | 2013-12-03 | 2017-07-14 | 华为技术有限公司 | 一种索引记录的管理方法及装置 |
CA3128713C (en) | 2013-12-05 | 2022-06-21 | Ab Initio Technology Llc | Managing interfaces for dataflow graphs composed of sub-graphs |
JP6242711B2 (ja) * | 2014-02-24 | 2017-12-06 | 株式会社東芝 | ストレージ装置及びデータ管理方法 |
US10698723B2 (en) * | 2014-03-31 | 2020-06-30 | Oracle International Corporation | Dropping an index without blocking locks |
JP6402537B2 (ja) | 2014-08-22 | 2018-10-10 | 富士通株式会社 | 更新処理プログラム、装置、及び方法 |
US9953050B2 (en) * | 2014-11-25 | 2018-04-24 | Sap Se | Garbage collection of versions driving the garbage collection of multi-version concurrency control timestamps |
US10108623B2 (en) | 2014-12-12 | 2018-10-23 | International Business Machines Corporation | Merging database operations for serializable transaction execution |
US9430396B2 (en) * | 2014-12-22 | 2016-08-30 | Intel Corporation | Updating persistent data in persistent memory-based storage |
WO2016117032A1 (ja) * | 2015-01-20 | 2016-07-28 | 株式会社日立製作所 | データベースシステム、計算機システム、及び、データベース管理方法 |
US10657134B2 (en) | 2015-08-05 | 2020-05-19 | Ab Initio Technology Llc | Selecting queries for execution on a stream of real-time data |
US10083203B2 (en) | 2015-08-11 | 2018-09-25 | International Business Machines Corporation | Reducing the cost of update, delete, and append-only insert operations in a database |
US10275399B2 (en) * | 2015-11-17 | 2019-04-30 | Sap Se | Faster main memory scans in unsorted dictionary-encoded vectors |
US10114844B2 (en) * | 2015-11-30 | 2018-10-30 | International Business Machines Corporation | Readiness checker for content object movement |
US11226985B2 (en) | 2015-12-15 | 2022-01-18 | Microsoft Technology Licensing, Llc | Replication of structured data records among partitioned data storage spaces |
US10235406B2 (en) | 2015-12-15 | 2019-03-19 | Microsoft Technology Licensing, Llc | Reminder processing of structured data records among partitioned data storage spaces |
US10599676B2 (en) | 2015-12-15 | 2020-03-24 | Microsoft Technology Licensing, Llc | Replication control among redundant data centers |
US10248709B2 (en) | 2015-12-15 | 2019-04-02 | Microsoft Technology Licensing, Llc | Promoted properties in relational structured data |
CA3005263C (en) | 2015-12-21 | 2021-06-15 | Ab Initio Technology Llc | Sub-graph interface generation |
US10545815B2 (en) | 2016-08-03 | 2020-01-28 | Futurewei Technologies, Inc. | System and method for data redistribution in a database |
CN108287835B (zh) * | 2017-01-09 | 2022-06-21 | 腾讯科技(深圳)有限公司 | 一种数据清理方法及装置 |
US10037778B1 (en) * | 2017-02-27 | 2018-07-31 | Amazon Technologies, Inc. | Indexing zones for storage devices |
US10719446B2 (en) | 2017-08-31 | 2020-07-21 | Oracle International Corporation | Directly mapped buffer cache on non-volatile memory |
EP3627343A1 (en) * | 2018-09-19 | 2020-03-25 | censhare AG | Efficient in-memory multi-version concurrency control for a trie data structure based database |
US20200110819A1 (en) * | 2018-10-08 | 2020-04-09 | International Business Machines Corporation | Low cost fast recovery index in storage class memory |
US11829384B1 (en) * | 2019-06-24 | 2023-11-28 | Amazon Technologies, Inc. | Amortizing replication log updates for transactions |
CN110515705B (zh) * | 2019-08-07 | 2022-03-11 | 上海交通大学 | 可扩展的持久性事务内存及其工作方法 |
US11645241B2 (en) | 2019-09-13 | 2023-05-09 | Oracle International Corporation | Persistent memory file store for directly mapped persistent memory database |
US11455288B2 (en) * | 2020-03-20 | 2022-09-27 | Sap Se | Version table scheme for fast version space access |
WO2021231234A1 (en) * | 2020-05-12 | 2021-11-18 | Google Llc | Zero copy optimization for select * queries |
US11507559B2 (en) | 2020-05-25 | 2022-11-22 | Hewlett Packard Enterprise Development Lp | Object sharing by entities using a data structure |
CN116662764B (zh) * | 2023-07-28 | 2023-09-29 | 中国电子科技集团公司第十五研究所 | 误识别纠正的数据识别方法、模型训练方法、装置和设备 |
CN117828127A (zh) * | 2023-10-27 | 2024-04-05 | 北京大学 | 一种基于半结构化存储的树状层级集群用户管理方法 |
Family Cites Families (52)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4627019A (en) * | 1982-07-08 | 1986-12-02 | At&T Bell Laboratories | Database management system for controlling concurrent access to a database |
US4875159A (en) * | 1987-12-22 | 1989-10-17 | Amdahl Corporation | Version management system using plural control fields for synchronizing two versions of files in a multiprocessor system |
US5170480A (en) * | 1989-09-25 | 1992-12-08 | International Business Machines Corporation | Concurrently applying redo records to backup database in a log sequence using single queue server per queue at a time |
US5313629A (en) * | 1989-10-23 | 1994-05-17 | International Business Machines Corporation | Unit of work for preserving data integrity of a data-base by creating in memory a copy of all objects which are to be processed together |
JP2575543B2 (ja) * | 1990-04-04 | 1997-01-29 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 同時アクセス管理方法 |
EP0472829A3 (en) * | 1990-08-31 | 1993-01-07 | International Business Machines Corporation | Multicomputer complex and distributed shared data memory |
US5287496A (en) * | 1991-02-25 | 1994-02-15 | International Business Machines Corporation | Dynamic, finite versioning for concurrent transaction and query processing |
US5701480A (en) * | 1991-10-17 | 1997-12-23 | Digital Equipment Corporation | Distributed multi-version commitment ordering protocols for guaranteeing serializability during transaction processing |
US5280612A (en) * | 1991-11-26 | 1994-01-18 | International Business Machines Corporation | Multiple version database concurrency control system |
US5440727A (en) * | 1991-12-18 | 1995-08-08 | International Business Machines Corporation | Asynchronous replica management in shared nothing architectures |
US5555404A (en) * | 1992-03-17 | 1996-09-10 | Telenor As | Continuously available database server having multiple groups of nodes with minimum intersecting sets of database fragment replicas |
US5423037A (en) * | 1992-03-17 | 1995-06-06 | Teleserve Transaction Technology As | Continuously available database server having multiple groups of nodes, each group maintaining a database copy with fragments stored on multiple nodes |
US5452445A (en) * | 1992-04-30 | 1995-09-19 | Oracle Corporation | Two-pass multi-version read consistency |
US5497483A (en) * | 1992-09-23 | 1996-03-05 | International Business Machines Corporation | Method and system for track transfer control during concurrent copy operations in a data processing storage subsystem |
GB2273183A (en) * | 1992-12-04 | 1994-06-08 | Ibm | Replicated distributed databases. |
US5485607A (en) * | 1993-02-05 | 1996-01-16 | Digital Equipment Corporation | Concurrency-control method and apparatus in a database management system utilizing key-valued locking |
JP3512439B2 (ja) * | 1993-07-08 | 2004-03-29 | 富士通株式会社 | チェックイン・チェックアウトモデルにおける施錠方式 |
AU7684094A (en) * | 1993-09-24 | 1995-04-10 | Oracle Corporation | Method and apparatus for data replication |
US5642503A (en) * | 1993-12-15 | 1997-06-24 | Microsoft Corporation | Method and computer system for implementing concurrent accesses of a database record by multiple users |
US5410693A (en) * | 1994-01-26 | 1995-04-25 | Wall Data Incorporated | Method and apparatus for accessing a database |
US5796999A (en) * | 1994-04-15 | 1998-08-18 | International Business Machines Corporation | Method and system for selectable consistency level maintenance in a resilent database system |
JP2507235B2 (ja) * | 1994-06-24 | 1996-06-12 | インターナショナル・ビジネス・マシーンズ・コーポレイション | クライアント・サ―バ・コンピュ―タ・システム、及びそのクライアント・コンピュ―タ、サ―バ・コンピュ―タ、並びにオブジェクト更新方法 |
FR2724513A1 (fr) * | 1994-09-13 | 1996-03-15 | Philips Electronique Lab | Systeme de transmission numerique synchronisable sur ses sequences d'initialisation |
US5577240A (en) * | 1994-12-07 | 1996-11-19 | Xerox Corporation | Identification of stable writes in weakly consistent replicated databases while providing access to all writes in such a database |
US5621795A (en) * | 1994-12-27 | 1997-04-15 | Pitney Bowes Inc. | System and method for fault tolerant key management |
US5708812A (en) * | 1996-01-18 | 1998-01-13 | Microsoft Corporation | Method and apparatus for Migrating from a source domain network controller to a target domain network controller |
US5870758A (en) * | 1996-03-11 | 1999-02-09 | Oracle Corporation | Method and apparatus for providing isolation levels in a database system |
GB2311391A (en) * | 1996-03-19 | 1997-09-24 | Ibm | Restart and recovery of OMG compliant transaction systems |
US5852715A (en) * | 1996-03-19 | 1998-12-22 | Emc Corporation | System for currently updating database by one host and reading the database by different host for the purpose of implementing decision support functions |
US6647510B1 (en) * | 1996-03-19 | 2003-11-11 | Oracle International Corporation | Method and apparatus for making available data that was locked by a dead transaction before rolling back the entire dead transaction |
US5758337A (en) * | 1996-08-08 | 1998-05-26 | Microsoft Corporation | Database partial replica generation system |
US6009425A (en) * | 1996-08-21 | 1999-12-28 | International Business Machines Corporation | System and method for performing record deletions using index scans |
US5781910A (en) * | 1996-09-13 | 1998-07-14 | Stratus Computer, Inc. | Preforming concurrent transactions in a replicated database environment |
JP3341637B2 (ja) * | 1997-06-20 | 2002-11-05 | 日本電気株式会社 | トランザクション処理システムにおける端末状態管理方法及びコンピュータ読み取り可能な記録媒体 |
US6122645A (en) * | 1997-08-25 | 2000-09-19 | Lucent Technologies, Inc. | System and method for physically versioning data in a main memory database |
US6351753B1 (en) * | 1998-02-20 | 2002-02-26 | At&T Corp. | Method and apparatus for asynchronous version advancement in a three version database |
US6233585B1 (en) * | 1998-03-12 | 2001-05-15 | Crossworlds Software, Inc. | Isolation levels and compensating transactions in an information system |
US5971127A (en) * | 1998-04-01 | 1999-10-26 | Chun; Lin Bin | Control mechanism for moving a driving shaft of a machine |
JP3475783B2 (ja) * | 1998-04-17 | 2003-12-08 | 日本電気株式会社 | データベース定義情報のプロセス間共有制御方式 |
US6295610B1 (en) * | 1998-09-17 | 2001-09-25 | Oracle Corporation | Recovering resources in parallel |
US6502133B1 (en) * | 1999-03-25 | 2002-12-31 | Lucent Technologies Inc. | Real-time event processing system with analysis engine using recovery information |
US6631478B1 (en) * | 1999-06-18 | 2003-10-07 | Cisco Technology, Inc. | Technique for implementing high performance stable storage hierarchy in a computer network |
JP4237354B2 (ja) * | 1999-09-29 | 2009-03-11 | 株式会社東芝 | トランザクション処理方法及びトランザクション処理システム |
US6856993B1 (en) | 2000-03-30 | 2005-02-15 | Microsoft Corporation | Transactional file system |
JP2002351715A (ja) * | 2001-03-19 | 2002-12-06 | Ricoh Co Ltd | 書き込み遅延データベース管理システム |
JP2002373082A (ja) * | 2001-06-15 | 2002-12-26 | Nec Corp | マルチタスク構成のトランザクション処理方法及びトランザクション処理プログラム |
US6873995B2 (en) * | 2002-04-23 | 2005-03-29 | International Business Machines Corporation | Method, system, and program product for transaction management in a distributed content management application |
US7685583B2 (en) * | 2002-07-16 | 2010-03-23 | Sun Microsystems, Inc. | Obstruction-free mechanism for atomic update of multiple non-contiguous locations in shared memory |
GB2397401A (en) * | 2003-01-15 | 2004-07-21 | Luke Leonard Martin Porter | Time in databases and applications of databases |
JP4077329B2 (ja) * | 2003-01-31 | 2008-04-16 | 株式会社東芝 | トランザクション処理システム、並行制御方法及びプログラム |
CA2425033A1 (en) * | 2003-04-08 | 2004-10-08 | Ibm Canada Limited - Ibm Canada Limitee | Multi-level locking hierarchy in a database with multi-dimensional clustering |
US7496574B2 (en) * | 2003-05-01 | 2009-02-24 | International Business Machines Corporation | Managing locks and transactions |
-
2003
- 2003-08-06 US US10/636,361 patent/US7243088B2/en active Active
-
2004
- 2004-08-06 CN CNB2004800226229A patent/CN100432939C/zh active Active
- 2004-08-06 AU AU2004264231A patent/AU2004264231B2/en active Active
- 2004-08-06 WO PCT/US2004/025657 patent/WO2005015401A2/en active Search and Examination
- 2004-08-06 EP EP04780485A patent/EP1652084A2/en not_active Ceased
- 2004-08-06 CA CA2537411A patent/CA2537411C/en active Active
- 2004-08-06 JP JP2006522785A patent/JP4603546B2/ja active Active
-
2007
- 2007-06-01 US US11/757,224 patent/US8010497B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
WO2005015401A3 (en) | 2005-03-24 |
AU2004264231A1 (en) | 2005-02-17 |
WO2005015401A2 (en) | 2005-02-17 |
US20050033720A1 (en) | 2005-02-10 |
US7243088B2 (en) | 2007-07-10 |
CA2537411C (en) | 2011-07-05 |
CN1864137A (zh) | 2006-11-15 |
EP1652084A2 (en) | 2006-05-03 |
CN100432939C (zh) | 2008-11-12 |
JP2007501468A (ja) | 2007-01-25 |
US20070233683A1 (en) | 2007-10-04 |
WO2005015401A9 (en) | 2008-10-02 |
US8010497B2 (en) | 2011-08-30 |
CA2537411A1 (en) | 2005-02-17 |
AU2004264231B2 (en) | 2010-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4603546B2 (ja) | 効率的なバージョン制御を有するデータベース管理システム | |
US11914568B2 (en) | High-performance database engine implementing a positional delta tree update system | |
US11314716B2 (en) | Atomic processing of compound database transactions that modify a metadata entity | |
US6792432B1 (en) | Database system with methods providing high-concurrency access in B-Tree structures | |
EP1540533B1 (en) | Controlling visibility in multi-version database systems | |
Kornacker et al. | High-concurrency locking in R-trees | |
US7376674B2 (en) | Storage of multiple pre-modification short duration copies of database information in short term memory | |
US5430869A (en) | System and method for restructuring a B-Tree | |
US11023453B2 (en) | Hash index | |
US5758356A (en) | High concurrency and recoverable B-tree index management method and system | |
US10846279B2 (en) | Transactional key-value store | |
US5355477A (en) | Method for updating a block using record-level locks by committing the update if the block has not been updated by another process otherwise spinning | |
JPH04337850A (ja) | データベース・トランザクション及び照会処理システム | |
KR20080044480A (ko) | 지연된 로깅 방법 및 그 장치 | |
US6694340B1 (en) | Technique for determining the age of the oldest reading transaction with a database object | |
Lomet | Simple, robust and highly concurrent B-trees with node deletion | |
US6571250B1 (en) | Method and system for processing queries in a data processing system using index | |
Zou et al. | Safely and efficiently updating references during on-line reorganization | |
Hu et al. | Online schema evolution is (almost) free for snapshot databases | |
US7209919B2 (en) | Library server locks DB2 resources in short time for CM implicit transaction | |
CN116860768A (zh) | 数据库事务处理方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070627 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100420 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20100716 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20100726 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100818 |
|
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: 20100907 |
|
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: 20101001 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131008 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4603546 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |