JP5283766B2 - Database management method, a database management system, and program - Google Patents

Database management method, a database management system, and program

Info

Publication number
JP5283766B2
JP5283766B2 JP2012010434A JP2012010434A JP5283766B2 JP 5283766 B2 JP5283766 B2 JP 5283766B2 JP 2012010434 A JP2012010434 A JP 2012010434A JP 2012010434 A JP2012010434 A JP 2012010434A JP 5283766 B2 JP5283766 B2 JP 5283766B2
Authority
JP
Grant status
Grant
Patent type
Prior art keywords
master node
transaction
minimum value
minimum
node
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
Application number
JP2012010434A
Other languages
Japanese (ja)
Other versions
JP2013037669A (en )
Inventor
浩之 山田
Original Assignee
株式会社Murakumo
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
Grant date

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a multimaster node type database management method capable of efficiently utilizing resources by achieving transaction discarding processing at a larger minimum value level without disturbing the consistency of the entire database. <P>SOLUTION: An active transaction minimum value in a snap shot is notified from a lower-order master node to much higher-order master nodes, and the respective master nodes compare the transaction minimum value with a minimum value held by them to update a node minimum value and a cluster minimum value. The lower-order master node transmits a shadow copy of its own database, a heap tuple map expanded on its own memory and a transaction minimum value as a writing set, and a higher-order master node receiving the writing set updates a database by using the writing set when the transaction minimum value is equal to or larger than the cluster minimum value, and aborts the writing set when the transaction minimum value is smaller than the cluster minimum value. <P>COPYRIGHT: (C)2013,JPO&amp;INPIT

Description

本発明は、データベースの管理方法、特に複数のマスタノードがネットワークにより階層的に接続されているデータベースの管理方法に関する。 The present invention, management of the database, method of managing databases in particular connected to the plurality of master nodes hierarchically by the network.

PostgreSQLのような追記型のデータベースといえども、リソースを有効活用するためには、タプルを削除した後に一定時間経過したら当該タプルを完全消去(vacuum)することが望ましい。 Even the write-once databases such as PostgreSQL, in order to make effective use of resources, it is desirable to completely erase (vacuuming) the tuple After elapse of a predetermined time after deleting a tuple.

しかし、トランザクションは実行開始から終了までを単一のスナップショットで管理するため、あるトランザクションによって特定のタプルが削除されたとしても、そのことによって即座に全てのトランザクションから当該タプルが参照されなくなるとは限らない。 However, since the transaction is to manage from start to finish execution in a single snapshot, even specific tuple by a transaction it has been deleted, with the tuple from all transactions in real by their no longer referenced Not exclusively. そのため、当該タプルを参照する一連のトランザクションが全てコミットされない限りそのタプルは完全消去されないことが原則である。 Therefore, the tuple long as a series of transactions that reference the tuple is not all committed in principle not be completely erased. もしそのタプルが削除されたとしても、その時点で実行中の他のスナップショット上では当該タプルが参照できるようにしておかなければならないのである。 Even if the tuple is deleted, on the other snapshot running at that time it is not required to be kept as the tuple can see.

そのため、PostgreSQLでは、トランザクション毎に付与されているトランザクションIDを利用して、各トランザクションのスナップショットからみてすでにコミットされているトランザクションIDを参照しながらどこまで完全消去すればよいかを判断する仕組みを採用していた。 Therefore, the PostgreSQL, using the transaction ID that is assigned to each transaction, already adopted a mechanism to determine how far may be completely erased by referring to the transaction ID that is committed when viewed from a snapshot of each transaction Was. すなわち、各トランザクションのスナップショットで実行中とみなされているトランザクションIDのうち最小の値を計算し、その最小値のIDに合わせて完全消去する運用をしていたわけである。 That is, the minimum value of the transaction ID is regarded as running in a snapshot of each transaction is calculated and is not had operations completely erased in accordance with the ID of the minimum value.

特開2006−293910号公報 JP 2006-293910 JP

以上述べた運用はシングルノード構成のデータベースでの運用であるが、これをマルチマスタノードに適用した場合にはシングルノードシステムでは予期すらできない以下のような課題が発生することが本発明者によって見出された。 Although operations described above are operations on the database of a single node configuration, which seen by the present inventors that the following can not even unexpected problem in a single-node system occurs when applied to a multi-master node It was issued.

すなわち、マルチマスタノードシステムは、階層的に構築された膨大な数のノードで構成され、かつそのノード上で並列に同時実行される膨大なトランザクションを有している。 That is, multi-master node system has been configured by the vast number of nodes hierarchically constructed, and enormous transactions concurrently performed in parallel on that node. そのため、ノード間の処理能力にばらつきがあった場合、一つのノードの処理遅延が全体の処理能力に影響を与えてしまうことになる。 Therefore, when there are fluctuations in throughput between nodes, so that the processing delay of one node affects the overall throughput.

そのため、マルチマスタノード構成のデータベースの場合、いつまでたっても完全消去できる最小値IDの値が大きくならず、そのためにノード全体の完全消去処理の実効性が確保できなかった。 Therefore, if the database of the multi-master node configuration, when not increased the value of the minimum value ID can be completely erased even after up to, effectiveness of the complete process of erasing the entire node can not be reserved for that purpose.

このため、強制的に最小値IDをある程度の大きさの値に設定して完全消去処理を行ってしまう方法が考えられる。 Therefore, methods have gone completely erasing process forces the minimum ID is set to a certain size of the value is considered.
ところで、この種のマルチマスタノード形式のデータベースにおいて、本発明者はその更新を効率的に矛盾無く行うために、下位のマスタノードのデータベースのシャドウコピーと自身のメモリ上に展開されたヒープタプルマップとを書込セットとして上位マスタノードに送信してノード全体のデータベースの更新処理を統一する技術を提案している(特願2010−239713)。 Meanwhile, in the database of the multi-master node form of this kind, the present inventor has the update in order to perform without effectively contradict the lower shadow copies and its heap tuples map deployed on the memory of the database of the master node It proposes a technique to unify the process of updating the database of the entire node by sending to the upper master node as a write set bets (Japanese Patent Application No. 2010-239713).

ところで、この下位ノードで書込セットを生成して上位ノードに向けて送信している間に、 書込セットの更新対象になっているタプルに対する完全消去命令が上位ノードから下位ノードに対して送信された場合、その後に前記書込セットを受信した上位ノードでは、既に完全消去されたはずのタプルを書込セットの内容に基づいて更新してしまう可能性があった。 Meanwhile, transmission while transmitted to the upper node generates a write set at this lower node, to the lower node from the full erase command level node for tuples that is the update target write set If it is, subsequent to said write set upper node which receives the, there is a possibility that already tuple that should have been completely erased updated based on the contents of the write set.

そのため、マルチマスタノード形式のデータベースにおいても、データベース全体の整合性を崩すことなく、トランザクションの廃棄処理を行う必要があった。 Therefore, even in the database of the multi-master node type, without disturbing the integrity of the entire database, it is necessary to perform a disposal processing of the transaction.

前記課題を解決するために、本発明では以下の手段を採用した。 In order to solve the above problems, the present invention employs the following means.

本発明の第1形態は、レコード更新が可能な上位と下位のマスタノードを階層的に有する追記型データベースの管理方法であって、いずれかの下位マスタノードのセッションにおいて、上位マスタノードに対して、当該下位のマスタノードのデータベースのシャドウコピーと、自身のメモリ上に展開されたヒープタプルマップと、実行中のトランザクションが参照するスナップショットのトランザクション最小値とを書込セットとして送信するステップと、前記上位マスタノードにおいて、前記下位マスタノードから受信した書込セット中のトランザクション最小値と上位マスタノードが保持するクラスタ最小値とを比較して、トランザクション最小値がクラスタ最小値と等しいか大きい場合には、当該書込セット中のヒープタプルマップと First embodiment of the present invention, there is provided a management method for write once type database having a high and low of the master node capable of record updates hierarchically, in one of the lower master node session, to the upper level master node and transmitting a shadow copy of the database of the subordinate of the master node, and heap tuple maps developed on its memory, and a transaction minimum value of the snapshot transaction being executed is referred to as the write set, in the upper master node, wherein by comparing the cluster minimum transaction minimum during a write set received from the lower master node and the upper master node holds, if the transaction minimum value is greater or equal to the cluster minimum It is, and heap tuple map in the write set 身のデータベースとを比較して、ターゲットとして登録されているタプルのデータベースにおける更新の有無を検証し、更新がなされているときには当該書込セットによる処理をアボートし、更新がなされていないときには前記シャドウコピーを用いて自身のデータベースを更新するとともに、この更新記録をトランザクションログとして生成するステップと、前記でトランザクション最小値がクラスタ最小値よりも小さい場合には、当該書込セットによる処理をアボートするステップと、前記トランザクションログを前記送信元の下位マスタノードを含む下位マスタノードに配信するステップと、前記下位マスタノードにおいて、前記で受信したトランザクションログに基づいて自身のデータベースを更新するステップと、前記上位マス By comparing the database of the body, verifies the presence of updates in the database tuple that is registered as the target, and aborts the processing by the write set when an update has been made, the when the update is not made Shadow and it updates its database with the copy, and generating the update record as a transaction log, when the transaction minimum at the is smaller than the cluster minimum, aborts the processing by the write set step When the steps of delivering the transaction log to the lower master node including sub master node of the transmission source, in the lower master node, and updating its database based on the transaction log received by the said upper trout ノードが保持するクラスタ最小値を下位マスタノードに通知して、該クラスタ最小値よりも小さいトランザクション最小値を有するトランザクションを廃棄させるステップと、からなるマスタノードを階層的に有する追記型データベースの管理方法である。 It notifies the cluster minimum node holds the lower master node management method of a write-once database having a step of discarding a transaction with a small transaction minimum than the cluster minimum, the master node comprising a hierarchical it is.

また、本発明の第2形態は、前記下位マスタノードは、実行中のトランザクションを時系列に記録した複数のスナップショット間のトランザクション最小値同士を比較して最も小さい値をノード最小値とし、このノード最小値をツリー最小値として上位マスタノードに通知し、前記上位マスタノードは、自身のノード最小値と、前記1または2以上の下位マスタノードから通知されたツリー最小値とから選択的にクラスタ最小値を決定・保持する前記第1形態記載の追記型データベースの管理方法である。 The second embodiment of the present invention, the lower master node, the smallest value by comparing the transaction minimum each other between a plurality of snapshots recorded in time series running transactions as nodes minimum value, the notifies the upper master node node minimum as a tree minimum value, the higher the master node, selectively cluster from the node the minimum value of its own, the one or more of the tree minimum value notified from the lower master node is a management method of a write-once database of the first embodiment wherein the determining and holding the minimum value.

また、本発明の第3形態は、前記上位マスタノードと前記下位マスタノードとの間の階層に中位マスタノードを有しており、前記下位マスタノードは、実行中のトランザクションを時系列に記録した複数のスナップショット間のトランザクション最小値同士を比較して最も小さい値をノード最小値とし、このノード最小値をツリー最小値として中位マスタノードに通知し、前記中位マスタノードは、自身のノード最小値と、前記1または2以上の下位マスタノードから通知されたツリー最小値とを比較して最も小さい値を当該中位マスタノードのツリー最小値として上位マスタノードに通知し、上位マスタノードは、自身のノード最小値と、前記1または2以上の中位マスタノードから通知されたツリー最小値とから選択的にクラスタ最小値 The third embodiment of the present invention, the hierarchical has a median master node between the upper master node and the lower master node, the lower master node, recording the transaction in progress chronologically a plurality of the smallest value by comparing the transaction minimum each other between snapshots as nodes minimum value, and notifies the medium master node the node minimum as a tree minimum value, the median master node, its and node minimum value, the one or more the smallest value as compared notified the tree minimum value from the lower master node notifies the upper master node as a tree minimum value of the median master node, the higher the master node the node the minimum value of its own and, selectively cluster minimum value and said one or more tree minimum value notified from the middle master node 決定・保持する第1形態記載の追記型データベースの管理方法である。 It is a management method of a write-once database of the first aspect, wherein the determining and holding.

また、本発明の第4形態は、前記中位マスタノードはさらに2階層以上のツリー構造を有している第3形態記載の追記型データベースの管理方法である。 The fourth embodiment of the present invention, the median master node is the third control method of a write-once database form, characterized in that further comprises two or more layers of the tree structure.

また、本発明の第5形態、前記上位マスタノードが保持するクラスタ最小値の下位マスタノードへの通知は、前記トランザクションログの下位マスタノードへの通知とは非同期で行われる第1形態記載の追記型データベースの管理方法である。 The notification to the fifth embodiment, the lower master node of the cluster minimum upper master node holds the present invention, additional recording of the first aspect, wherein the performed asynchronously with the notification to the subordinate master node of the transaction log it is a management method of the type database.

この方法によれば、レプリケーション管理プロセスと非同期にクラスタ最小値を下位マスタノードに通知することにより、効率的なトランザクションIDの廃棄処理ができる。 According to this method, by notifying the cluster minimum lower master node replication management process asynchronously, it is discarded efficient transaction ID.

また、本発明の第6形態は、前記上位マスタノードが保持するクラスタ最小値の下位マスタノードへの通知は、前記トランザクションログに当該クラスタ最小値を含めて行われる第1形態記載の追記型データベースの管理方法である。 The sixth embodiment of the present invention, the notification to the lower master node of the cluster minimum upper master node holds the write-once database of the first aspect, wherein the performed including the cluster minimum value to the transaction log it is a management method.

この方法によれば、レプリケーション管理プロセスの中にクラスタ最小値を含めることによって、通知順を強制することができるため、矛盾のないトランザクションIDの廃棄が可能になる。 According to this method, by including the cluster minimum in the replication management process, it is possible to force the notification order, it is possible to discard a consistent transaction ID.

また、本発明の第7形態は、前記書込セットは、下位マスタノードの代わりに中位マスタノードで生成され、少なくとも当該中位マスタノードで実行中のトランザクションが参照するスナップショットのトランザクション最小値が書き込まれている第3形態または第4形態記載の追記型データベースの管理方法である。 The seventh embodiment of the present invention, the write set is generated by the medium master node instead of the lower master node, at least a snapshot transaction minimum value of the transaction being executed in the middle master node refers is the third aspect or method of managing recordable database of the fourth embodiment described written.

本発明の第8形態は、ノードを階層的に有する上位マスタノードにおける追記型データベースの管理方法であって、いずれかの下位マスタノードのセッションにおいて、当該下位マスタノードのデータベースのシャドウコピーと、下位マスタノードのメモリ上に展開されたヒープタプルマップと、実行中のトランザクションが参照するスナップショットのトランザクション最小値とを書込セットとして上位マスタノードに対して送信させるステップと、前記で受信した書込セット中のトランザクション最小値と上位マスタノードが保持するクラスタ最小値とを比較して、トランザクション最小値がクラスタ最小値と等しいか大きい場合には、当該書込セット中のヒープタプルマップと自身のデータベースとを比較して、ターゲットとして登録 Eighth embodiment of the present invention, there is provided a management method for write once type database in the upper master node having a node hierarchically, in one of the lower master node session, the shadow copy of the database of the lower master node, lower and heap tuple maps that are deployed on the memory of the master node, a step of transmitting to the upper master node and a transaction minimum value of the snapshot transaction being executed is referred to as the write set, writing received by the by comparing the cluster minimum value holding transaction minimum and upper master node in the set, if the transaction minimum value is greater or equal to the cluster minimum, heap tuples map and its own in the write set database Compare the door, registered as a target れているタプルのデータベースにおける更新の有無を検証し、更新がなされているときには当該書込セットによる処理をアボートし、更新がなされていないときには前記シャドウコピーを用いて自身のデータベースを更新するステップと、前記でトランザクション最小値がクラスタ最小値よりも小さい場合には、当該書込セットによる処理をアボートするステップと、前記上位マスタノードが保持するクラスタ最小値を下位マスタノードに通知して、該最小値よりも小さいトランザクション最小値を有するトランザクションを廃棄させるステップと、からなる下位マスタノードを階層的に有する上位マスタノードにおける追記型データベースの管理方法である。 Verify the presence of updates in the database tuple that aborts the processing of the write set when an update has been made, when the update is not performed and updating its database with the shadow copy , if the transaction minimum at the is smaller than the cluster minimum value, a step of aborting the process according to the write set, the cluster minimum value the upper master node holds inform the subordinate master node, outermost small a step of discarding a transaction with a small transaction minimum than the value, a management method of a write-once database in the upper master node having a lower master node hierarchical consisting.

本発明の第9形態は、レコード更新が可能な上位と下位のマスタノードを階層的に有する追記型データベースにおける下位マスタノードのデータベース管理方法であって、いずれかの下位マスタノードでデータベースへの更新命令が生じたときに、当該下位マスタノードのデータベース処理部が上位マスタノードに対して、自身のメモリ上に展開されたデータベースのシャドウコピーと、ヒープタプルマップと、実行中のトランザクションが参照するスナップショットのトランザクション最小値とを書込セットとして生成する際に、それを受信する前記上位マスタノードに対して、前記下位マスタノードから受信した書込セット中のトランザクション最小値と上位マスタノードが保持するクラスタ最小値とを比較して、トランザクション最小 Ninth aspect of the present invention, there is provided a database management method of the lower master node of the write-once-type database having a high and low of the master node capable of record updates hierarchical, updates to the database either lower master node when the instruction occurs, snaps to the database processing unit upper master node of the lower master node, and the shadow copy of the database developed in the own memory, and heap tuple map, the running transactions reference a transaction minimum value of the shot in generating a write set, the relative upper master node, transaction minimum and upper master node during a write set received from the lower master node holds that receives it It is compared with the cluster minimum value, the transaction minimum がクラスタ最小値と等しいか大きいときに前記シャドウコピーを用いて上位マスタノードのデータベースを更新させ、この更新記録をトランザクションログとして生成させ、前記トランザクションログを前記送信元の下位マスタノードを含む下位マスタノードに配信させるために、前記書込セットを上位マスタノードに送信するステップと、前記下位マスタノードのトランザクションログ処理部は、前記トランザクションログを受信したときに、当該トランザクションログに基づいて自身のデータベースを更新するステップと、下位マスタノードにおいて、前記上位マスタノードが保持するクラスタ最小値を受信して、該最小値よりも小さいトランザクション最小値を有するトランザクションを廃棄するステップと、からなる下位マスタノ Lower master including but not update the database of the upper master node using said shadow copy when greater than or equal to the cluster minimum, the update record is generated as a transaction log, the lower master node of the transmission source the transaction log to delivered to the node, and transmitting the write set to the upper master node, the transaction log processing unit of the lower master node, upon receiving the transaction log, its based on the transaction log database and updating the at lower master node, the upper receives the cluster minimum master node holds, the steps of discarding a transaction with a small transaction minimum than outermost small value, the lower consists Masutano ドのデータベースの管理方法である。 It is a management method of soil database.

本発明の第10形態は、前記下位マスタノードは、実行中のトランザクションを時系列に記録した複数のスナップショット間のトランザクション最小値同士を比較して最も小さい値をノード最小値とし、このノード最小値をツリー最小値として上位マスタノードに通知し、前記上位マスタノードは、自身のノード最小値と、前記1または2以上の下位マスタノードから通知されたツリー最小値とから選択的にクラスタ最小値を決定・保持する第8形態または第9形態記載の追記型データベースの管理方法である。 Tenth aspect of the present invention, the lower master node, the smallest value by comparing the transaction minimum each other between a plurality of snapshots recorded in time series running transactions as nodes minimum value, the minimum node It notifies the upper master node values ​​as a tree minimum value, the higher the master node, the node the minimum value of its own and the one or more selectively cluster minimum tree minimum value notified from the lower master node a eighth form or how to manage the write-once database ninth embodiment according to determination and hold.

本発明の第11形態は、前記上位マスタノードと前記下位マスタノードとの間の階層に中位マスタノードを有しており、前記下位マスタノードは、実行中のトランザクションを時系列に記録した複数のスナップショット間のトランザクション最小値同士を比較して最も小さい値をノード最小値とし、このノード最小値をツリー最小値として中位マスタノードに通知し、前記中位マスタノードは、自身のノード最小値と、前記1または2以上の下位マスタノードから通知されたツリー最小値とを比較して最も小さい値を当該中位マスタノードのツリー最小値として上位マスタノードに通知し、上位マスタノードは、自身のノード最小値と、前記1または2以上の中位マスタノードから通知されたツリー最小値とから選択的にクラスタ最小値を決 Plurality eleventh embodiment of the present invention has a hierarchy median master node between the upper master node and the lower master node, the lower master node, which records a transaction in progress chronologically the smallest value by comparing the transaction minimum value between the node minimum value among the snapshots, and notifies the medium master node the node minimum as a tree minimum value, the median master node, its own node minimum and a value, the one or more the smallest value as compared notified the tree minimum value from the lower master node notifies the upper master node as a tree minimum value of the median master node, the higher the master node, the node the minimum value of the own selectively determine the cluster minimum value from said one or more tree minimum value notified from the middle master node ・保持する第8形態または第9形態記載の追記型データベースの管理方法である。 - a eighth form or how to manage the write-once database ninth embodiment according to retain.

本発明の第12形態は、前記中位マスタノードはさらに2階層以上のツリー構造を有している第11形態記載の追記型データベースの管理方法である。 12th aspect of the present invention, the median master node is the management method of a write-once database eleventh embodiment, wherein further comprises two or more layers of the tree structure.

本発明の第13形態は、前記上位マスタノードが保持するクラスタ最小値の下位マスタノードへの通知は、前記トランザクションログの下位マスタノードへの通知とは非同期で行われる第8形態記載の追記型データベースの管理方法である。 Thirteenth embodiment of the present invention, the notification to the lower master node of the cluster minimum upper master node holds the write-once eighth embodiment according performed asynchronously with the notification to the subordinate master node of the transaction log it is a database management method.

本発明の第14形態は、前記上位マスタノードが保持するクラスタ最小値の下位マスタノードへの通知は、前記トランザクションログに当該クラスタ最小値を含めて行われる第8形態記載の追記型データベースの管理方法である。 Fourteenth embodiment of the present invention, the notification to the lower master node of the cluster minimum upper master node holds the management of the write-once database eighth embodiment according performed including the cluster minimum value to the transaction log it is a method.

本発明の第15形態は、前記書込セットは、下位マスタノードの代わりに中位マスタノードで生成され、少なくとも当該中位マスタノードで実行中のトランザクションが参照するスナップショットのトランザクション最小値が書き込まれている第11形態または第12形態記載の追記型データベースの管理方法である。 15th aspect of the present invention, the write set is generated by the medium master node instead of the lower master node, at least a transaction minimum snapshot transactions running in the middle master node referenced written a eleventh form or how to manage the write-once database twelfth embodiment described are.

本発明の第16形態は、更新が可能な上位と1または2以上の下位のマスタノードを階層的に有する追記型データベースの管理方法であって、前記各下位マスタノードにおいて、実行中のトランザクションが参照するスナップショットのトランザクション最小値同士を比較して最も小さい値であるノード最小値を前記上位マスタノードに送信するステップと、前記各下位マスタノードからのノード最小値を受信した上位マスタノードが、自身のノード最小値を読み出して前記で受信したノード最小値と比較して、これらの各ノード最小値の範囲内で上位マスタノードが保持するクラスタ最小値を決定・更新するステップと、前記上位マスタノードで更新されたクラスタ最小値を各下位マスタノードに通知して、該最小値よりも小さいトランザ 16th aspect of the present invention, there is provided a management method for write once type database having updated capable higher and one or more subordinate of the master node in a hierarchical, wherein each lower master node, a transaction in progress transmitting the node minimum value is the smallest value by comparing the transaction minimum between snapshots that refer to the upper master node, the upper master node receiving the node minimum value from the lower master node, compared to the node minimum value received by said reading its nodes minimum, the steps of the upper master node decides and updates the cluster minimum value held within each of these nodes minimum, the upper master notifies the cluster minimum value updated by the node to each lower master node, smaller than outermost small value transactor ション最小値を有するトランザクションを廃棄させるステップと、からなるマスタノードを階層的に有する追記型データベースの管理方法である。 A step of discarding a transaction with Deployment minimum, a management method of a write-once database having a master node in a hierarchical consisting.

本発明の第17形態は、前記上位マスタノードと下位マスタノードとの2階層である第16形態記載のマスタノードを階層的に有する追記型データベースの管理方法である。 17th aspect of the present invention is a management method of a write-once database having a master node of the 16 forms wherein the two layers of the upper master node and lower master node hierarchically.

本発明の第18形態は、前記上位マスタノードと、1階層以上の中位マスタノードと、下位マスタノードとからなる少なくとも3階層以上であり、前記中位マスタノードも自身のノード最小値を前記上位マスタノードに送信するステップを実行するとともに、上位マスタノードは、前記各下位マスタノードと中位マスタノードからのノード最小値を受信して、自身のノード最小値を読み出して前記で受信したノード最小値と比較して、これらの各ノード最小値の範囲内で上位マスタノードが保持するクラスタ最小値を決定・更新するステップを実行する第16形態記載のマスタノードを階層的に有する追記型データベースの管理方法である。 18th aspect of the present invention includes: the upper master node, 1 and hierarchical or more intermediate master node is at least 3 or more layers consisting of a lower master node, the middle master node also the own node minimum and executes a step of transmitting to the upper master node, the higher the master node, the receiving node minimum value from the lower master node and middle master node, received by the reading node minimum value of its own node compared to the minimum value, a write-once database having a master node of the 16 mode, wherein to perform these steps of determining and updating the cluster minimum upper master node holds within each node minimum hierarchically it is a management method.

本発明の第19形態は、レコード更新が可能な上位と下位のマスタノードを階層的に有する追記型データベースの管理方法であって、いずれかの下位マスタノードのセッションにおいて、上位マスタノードに対して、当該下位のマスタノードのデータベースのシャドウコピーと、自身のメモリ上に展開されたヒープタプルマップと、実行中のトランザクションが参照するスナップショットのトランザクション最小値と、ノード内のトランザクション最小値同士を比較して、最も小さい値であるノード最小値とを書込セットとして送信するステップと、前記上位マスタノードおいて、前記各書込セットから読み出したノード最小値と、自身が保持するノード最小値と比較して、これらの各ノード最小値の範囲内の値で上位マスタノードが保持す 19 embodiment of the present invention, there is provided a management method for write once type database having a high and low of the master node capable of record updates hierarchically, in one of the lower master node session, to the upper level master node , compares the shadow copy of the database of the subordinate of the master node, and heap tuple maps developed on its own memory, and transaction minimum value of the snapshot transaction being executed refers the transaction minimum each other in the node and, sending the node minimum value is the smallest value as the write set, the keep upper master node, wherein the node minimum value read from the write set, the node the minimum value held by itself in comparison, to hold the upper master node with a value within the range of each of these nodes minimum クラスタ最小値を決定・更新するステップと、前記上位マスタノードにおいて、前記下位マスタノードから受信した書込セット中のトランザクション最小値と上位マスタノードが保持するクラスタ最小値とを比較して、トランザクション最小値がクラスタ最小値と等しいか大きい場合には、当該書込セット中のヒープタプルマップと自身のデータベースとを比較して、ターゲットとして登録されているタプルのデータベースにおける更新の有無を検証し、更新がなされているときには当該書込セットによる処理をアボートし、更新がなされていないときには前記シャドウコピーを用いて自身のデータベースを更新するとともに、この更新記録をトランザクションログとして生成するステップと、前記でトランザクション最小値がクラスタ最 Determining and updating the cluster minimum, in the upper master node is compared with the transaction minimum value and the cluster minimum upper master node holds during a write set received from the lower master node, transaction minimum If the value is greater than or equal to the cluster minimum, it compares the heap tuple map and its own in the write set database, to verify the presence of updates in the database tuple that is registered as a target, update aborts the processing by the write set when the has been made, and updates its database with the shadow copy when the update is not made, the step of generating the update record as a transaction log, transaction wherein minimum cluster top 値よりも小さい場合には、当該書込セットによる処理をアボートするステップと、前記トランザクションログを前記送信元の下位マスタノードを含む下位マスタノードに配信するステップと、前記下位マスタノードにおいて、前記で受信したトランザクションログに基づいて自身のデータベースを更新するステップと、前記上位マスタノードが保持するクラスタ最小値を下位マスタノードに通知して、該最小値よりも小さいトランザクション最小値を有するトランザクションを廃棄させるステップと、からなるマスタノードを階層的に有する追記型データベースの管理方法である。 Is smaller than the value it includes the steps of aborting the process according to the write set, comprising the steps of delivering the transaction log to the lower master node including sub master node of the transmission source, in the lower master node, with the and updating its database based on the received transaction log, the cluster minimum value the upper master node holds inform the subordinate master node, to discard the transactions with small transaction minimum than outermost minimum value a step, a management method of a write-once database having a master node in a hierarchical consisting.

本発明の第20形態は前記上位マスタノードと下位マスタノードとの間に、1階層以上の中位マスタノードを有しており、いずれかの中位マスタノードのセッションにおいて、上位マスタノードに対して、当該中位マスタノードのデータベースのシャドウコピーと、自身のメモリ上に展開されたヒープタプルマップと、実行中のトランザクションが参照するスナップショットのトランザクション最小値と、ノード内のトランザクション最小値同士を比較して、最も小さい値であるノード最小値を書込セットとして送信するステップとをさらに含む第19形態記載のマスタノードを階層的に有する追記型データベースの管理方法である。 During the first 20 embodiment of the present invention with the upper master node and the lower master node has one or more layers of intermediate master node, in either medium master node session, to the upper master node Te, and shadow copy of the database of the intermediate master node, and heap tuple maps developed on its own memory, and transaction minimum value of the snapshot transaction being executed refers the transaction minimum each other in the node in comparison, a management method of a write-once database having a master node of the 19 form, further including the step of transmitting a node minimum value is the smallest value as the write set hierarchically.

本発明の第21形態は、更新が可能な上位と下位のマスタノードを階層的に有する追記型データベースの管理方法であって、いずれかの下位マスタノードのセッションにおいて、実行中のトランザクションが参照するスナップショットのトランザクション最小値を含む下位データベース更新情報を上位マスタノードに送信するステップと、前記下位データベース更新情報を受信した上位マスタノードにおいて、前記トランザクション最小値と上位マスタノードが保持するクラスタ最小値とを比較して、トランザクション最小値がクラスタ最小値と等しいか大きい場合には、前記下位データベース更新情報に基づいて上位マスタノードのデータベースを更新するステップと、前記でトランザクション最小値がクラスタ最小値よりも小さい場合に 21 embodiment of the present invention, there is provided a management method for write once type database having updated upper and lower master node capable of hierarchical, in one of the lower master node session running transactions referenced and transmitting the lower database update information including the transaction minimum value of the snapshot to the upper master node, in the upper master node that has received the subordinate databases update information, and the cluster minimum value the transaction minimum and upper master node holds compare, if the transaction minimum value is greater or equal to the cluster minimum, and updating the database of the upper master node based on the lower database update information than said transaction minimum cluster minimum value If small 、当該下位データベース更新情報による処理をアボートするステップと、前記上位マスタノードの更新記録をトランザクションログとして生成するステップと、前記トランザクションログを前記送信元の下位マスタノードを含む下位マスタノードに配信するステップと、前記下位マスタノードにおいて、前記で受信したトランザクションログに基づいて自身のデータベースを更新するステップと、前記上位マスタノードが保持するクラスタ最小値を下位マスタノードに通知して、該最小値よりも小さいトランザクション最小値を有するトランザクションを廃棄させるステップと、からなる下位マスタノードを階層的に有する上位マスタノードにおける追記型データベースの管理方法である。 The step of distributing the step of aborting the process of the subordinate databases update information, and generating an update record of the upper master node as a transaction log, the transaction log to the lower master node including sub master node of the source When, in the lower master node, and updating its database based on the transaction log received by the, the cluster minimum value the upper master node holds inform the subordinate master node, than the outermost small value a step of discarding a transaction with a small transaction minimum value, a management method of a write-once database in the upper master node having a lower master node hierarchical consisting.

本発明の第22形態は、前記下位データベース更新情報は、下位マスタノードのデータベースのシャドウコピーと、自身のメモリ上に展開されたヒープタプルマップと、実行中のトランザクションが参照するスナップショットのトランザクション最小値とからなる書込セットであり、上位マスタノードが前記書込セットを受信すると、トランザクション最小値と上位マスタノードが保持するクラスタ最小値とを比較して、トランザクション最小値がクラスタ最小値と等しいか大きい場合には、当該書込セット中のヒープタプルマップと自身のデータベースとを比較して、ターゲットとして登録されているタプルのデータベースにおける更新の有無を検証し、更新がなされているときには当該書込セットによる処理をアボートし、更新がなされ 22 embodiment of the present invention, the lower database update information, a shadow copy of the database of the lower master node, and heap tuple maps developed on its memory, the transaction minimum snapshot running transactions referenced a writing set comprising a value, the higher the master node receives the write set is compared with the cluster minimum value holding transaction minimum and upper master node, transaction minimum value is equal to the cluster minimum or when large compares the heap tuple map and its own in the write set database, said document when the verify the presence of updates in the database tuple that is registered as a target, the update has been made aborts the process by the write set, updates are made いないときには前記シャドウコピーを用いて自身のデータベースを更新するステップと、前記でトランザクション最小値がクラスタ最小値よりも小さい場合には、当該書込セットによる処理をアボートするステップと、からなる第21形態記載の追記型データベースの管理方法である。 21 embodiment and updating its database with the shadow copy when no, if the transaction minimum at the is smaller than the cluster minimum value, consisting of the steps of aborting the process according to the write set, it is a management method of a write-once database description.

本発明の第23形態は、上記に加えて、上位と下位のマスタノードの間に1階層以上の中位マスタノードを有しており、いずれかの中位マスタノードのセッションにおいて、上位マスタノードに対して、当該中位マスタノードのデータベースの更新対象となったトランザクション最小値を含む中位データベース更新情報を上位マスタノードに送信するステップと、前記中位データベース更新情報を受信した上位マスタノードにおいて、前記トランザクション最小値と上位マスタノードが保持するクラスタ最小値とを比較して、トランザクション最小値がクラスタ最小値と等しいか大きい場合には、前記中位データベース更新情報に基づいて上位マスタノードのデータベースを更新するステップと、を含む第21形態または第22形態記載の追 23 embodiment of the present invention, in addition to the above, have one or more layers of intermediate master node between the high and low of the master node, in either medium master node session, the higher the master node respect, and transmitting the median database update information including the transaction minimum value to be updated target database of the median master node to the upper master node, in the upper master node that has received the intermediate database update information the by comparing the transaction minimum value and the cluster minimum upper master node holds, if the transaction minimum value is greater or equal to the cluster minimum, the upper master node based on the median database update information database and updating a add of the 21 embodiment or the 22 embodiment described including 型データベースの管理方法である。 It is a management method of the type database.

本発明によれば、マルチマスタノード形式のデータベースにおいても、データベース全体の整合性を崩すことなく、より大きな最小値IDレベルでツリー全体の完全消去を実現することができる。 According to the present invention, even in the database of the multi-master node form, it is possible to realize the full erase of the entire tree by not larger minimum ID level breaking the integrity of the entire database.

本願発明のマルチノード形式のデータベース構造を示す説明図 Explanatory view showing a database structure of the multi-node format of the present invention データベース制御部の構成を示すブロック図 Block diagram showing the configuration of the database controller 書込セットの内容を示す図 Diagram showing the contents of the writing set 上位マスタノードにおける書込セットの処理を示す説明図 Explanatory view showing a process of writing a set in the upper master node トランザクションログデータの構成を示す説明図 Explanatory view showing a configuration of a transaction log data マルチノード形式のデータベースツリー構造とトランザクション最小値とツリー最小値とノード最小値との関係を示す図 Diagram showing the relationship between the database tree structure and transaction minimum and tree minimum value and the node the minimum value of the multi-node format クラスタ最小値の更新と、そのクラスタ最小値を用いたトランザクションの廃棄処理の説明図 And updating the cluster minimum, illustration of disposal of the transaction with the cluster minimum スナップショットの内容を示す図 Diagram showing the contents of the snapshot 書込セットの変形例を示す図 It illustrates a modification of the write set

以下、本発明の実施の形態を図面を参照して説明する。 Hereinafter, an embodiment of the present invention with reference to the drawings.

図1は、本実施形態の階層的マスタノードの構造を示している。 Figure 1 shows the structure of a hierarchical master node in this embodiment. 同図に示すように、上位マスタノード(MS101)の下に階層的に中位マスタノード(MS201,MS202・・・MS20n)や、下位マスタノード(MS301,MS302・・・MS30n)を有するノード構成となっている。 As shown in the figure, node configuration having hierarchically median master node (MS201, MS202 ··· MS20n) and under the upper master node (MS 101), the lower master node (MS301, MS302 ··· MS30n) It has become. 各ノード(情報処理装置)にはデータベースを有している。 Each node (information processing apparatus) has a database. また上位マスタノード(MS101)にはスレーブを有しているが、他の下位マスタノードにもスレーブを有していてもよい。 Although the upper master node (MS 101) has a slave, it may have a slave to other subordinate master node. このようなマスタ・スレーブ構成の場合には両者間のデータベースの更新には本出願人によるPCT/JP2010/054311(本出願人による未公開先行出願)に記載された更新管理技術を適用することができる。 Be applied has been updated management techniques described in PCT / JP2010 / 054311 filed by the present applicant to update the database therebetween (unpublished prior application filed by the present applicant) in the case of such a master-slave configuration it can.

図2は、下位マスタノード(MS201)の機能ブロック図であるが、上位マスタノード(MS101)も同様の機能を有している。 Figure 2 is a functional block diagram of the lower master node (MS 201), the upper master node (MS 101) has a similar function.
同図に示すように、クライアント(CL)からデータベースの更新命令が入力されるとデータベース処理部(11b)は、メモリ(MM)上に構築されたバックエンドメモリ(BEM)上に下位データベース更新情報を示す書込セットを生成する。 As shown in the figure, when the update command of the database from the client (CL) is input database processing unit (11b), the lower database update information on the backend memory built in the memory (MM) (BEM) to generate a writing set that shows. この書込セットは図4に示すようにヒープタプルマップ(HTM)とシャドウコピー(SC)とトランザクション最小値(Xmin)とで構成される。 The write set is composed out with heap tuple map (HTM), as shown in FIG. 4 shadow copy (SC) and transaction minimum value (Xmin). ここでは、マスタデータベース(101a)の行番号4を削除(DELETE)し、行番号5を新たな値(sc1)に書き換える(UPDATE)する更新命令が入力されたものと仮定する。 It is assumed here that deleting the row number 4 of the master database (101a) and (DELETE), the update instruction to rewrite the line numbers 5 to a new value (sc1) to (UPDATE) is input.

このとき、データベース処理部11bは、マスタデータベース(11a)を参照しながら当該マスタデータベース(11a)に直接書き込むことは行わずに、バックエンドメモリ(BEM)で生成された書込セットを通信モジュール(11d)より上位マスタに送信する。 At this time, database processing unit 11b does not perform the writing directly to the master database with reference to the master database (11a) (11a), the back-end memory (BEM) communication module the generated write Set by ( 11d) is transmitted from the higher-level master.
このような処理は上位マスタノード(MS101)においても、下位マスタノード(MS201,MS202・・・MS20nや、MS301,MS302・・・MS30n)においても同様である。 In such process the upper master node (MS 101), the lower master node (MS201, MS202 ··· MS20n and, MS301, MS302 ··· MS30n) is the same in.

図8は、各ノード(上位ノード、中位ノードまたは下位ノード)におけるトランザクションとそのスナップショットとの関係を示している。 Figure 8 shows the relationship between each node (upper node, middle node or sub-node) and a transaction in its snapshot. 各ノードでは複数のトランザクションが並行して実行されており、複数のそれぞれの時点での時系列にトランザクションの実行状態を示すスナップショットが複数保持されている。 At each node it is running in parallel a plurality of transactions, snapshot of the execution state of the transaction in the time series of a plurality of each time point are more retained.

同図においてこのノードでは、トランザクションID=2,4,5,6および9が実行中である。 This node in the figure, the transaction ID = 2, 4, 5, 6 and 9 are running. また、トランザクションID=1,3,7,8および10はコミットされている。 Also, the transaction ID = 1,3,7,8 and 10 are committed. また、トランザクションID=11は未実行状態である。 Also, the transaction ID = 11 is not executed state. この時点でのスナップショットには、実行中またはコミットされたトランザクションの最大値をトランザクション最大値(ここではXmax=10)として、実行中のトランザクションの最小値をトランザクション最小値(ここではXmin=2)として記録されている。 This snapshot at the time the transaction maximum value the maximum value of transactions performed during or committed as (Xmax = 10 in this case), the transaction minimum value minimum value of the transaction being executed (in this case, Xmin = 2) It is recorded as.

このようなスナップショットは、前述のバックエンドメモリ(BEM)に記録されるようになっている。 Such snapshot is adapted to be recorded on the aforementioned back-end memory (BEM).
これらのスナップショット間の複数のトランザクション最小値の中で、最も小さい値がノード最小値となる。 Among the multiple transactions minimum between these snapshots, the smallest value becomes the node minimum. 同図では、スナップショット701のトランザクション最小値が2(Xmin=2)であり、スナップショット702のトランザクション最小値が4(Xmin=4)であるので、ノード最小値は2(Nmin=2)となる。 In the figure, a transaction minimum value of the snapshot 701 2 (Xmin = 2), since the transaction minimum value of the snapshot 702 is 4 (Xmin = 4), the node the minimum value and the 2 (Nmin = 2) Become. なお、下位マスタノードにさらに下位のノードが無い場合には、当該ノード最小値(Nmin=2)がツリー最小値(Tmin=2)となる。 Incidentally, in the case further lower node is not in the lower master node, the node the minimum value (Nmin = 2) is a tree minimum value (Tmin = 2).

下位マスタノード(たとえばMS301)で生成されたノード最小値(Nmin)、すなわちツリー最小値(Tmin)は、後述する書込セットとは非同期で随時中位ノード(たとえばMS201)に通知される。 Lower master node (e.g. MS 301) node minimum value generated by the (Nmin), i.e. tree minimum value (Tmin) is the write set to be described later is notified from time to time middle node asynchronously (e.g. MS 201). この中位マスタノード(MS201)ではそれぞれの下位マスタノード(MS301−MS30n)から受信したツリー最小値(Tmin)と自身のスナップショット中のノード最小値(Nmin)とを比較して、より小さい値を自身のツリー最小値(Tmin)として更新する。 Compared this median master node (MS 201) in the tree minimum value received from each of the lower master node (MS301-MS30n) (Tmin) and its own node minimum value in the snapshot and (Nmin), smaller than the value to update the tree minimum value of itself as a (Tmin).

次に、それぞれの中位マスタノード(MS201−MS20n)のツリー最小値(Tmin)は上位マスタノード(MS101)に通知される。 Next, the tree minimum value of each of the middle master node (MS201-MS20n) (Tmin) is notified to the upper master node (MS 101).
上位マスタノード(MS101)では、それぞれの中位マスタノード(MS201−MS20n)から受信したツリー最小値(Tmin)を受信すると、自身のスナップショット中のノード最小値(Nmin)とを比較して、いずれかの最小値またはその最小値間の値を採用して自身のツリー最小値(Tmin)を更新する。 The higher level master node (MS 101), upon receiving each tree minimum value received from the medium master node (MS201-MS20n) a (Tmin), compared node minimum in its snapshot and (Nmin), It adopts a value between either the minimum value or the minimum value thereof is updated own tree minimum value (Tmin). そして、このツリー最小値(Tmin)とその時点でのクラスタ最小値(Cmin)を比較して、その間の値をとって新たなクラスタ最小値(Cmin)を決定・更新する。 Then, by comparing the minimum value of this tree (Tmin) and the cluster minimum value at that point in time (Cmin), to determine and update a new cluster minimum value (Cmin) to take a while of value.

次に、図6を用いて下位マスタノードE,Fのノード最小値(Nmin)すなわちツリー最小値(Tmin)、中位マスタノードB,C,D,Eのツリー最小値(Tmin)および上位マスタノードAのツリー最小値(Tmin)とクラスタ最小値(Cmin)とが更新される状態を説明する。 Next, the lower master node E, the node the minimum value of F (Nmin) ie tree minimum value (Tmin), median master node B, C, D, tree minimum value of E (Tmin) and upper master with reference to FIG. 6 node tree minimum value of a (Tmin) and the cluster minimum (Cmin) and is describing a state to be updated.

ここで、下位マスタノードFのトランザクション最小値(Xmin)同士を比較した結果、ノード最小値(Nmin)が3、下位マスタノードGの最小値(Nmin)が4の場合、これらの下位マスタノードF,Gにはさらに下の階層が無いので、これらのノード最小値(Nmin)がそれぞれのツリー最小値(Tmin)となる。 Here, the transaction minimum value of the lower master node F (Xmin) result of comparison between the node minimum (Nmin) is 3, if the minimum value of the lower master node G (Nmin) is 4, these sub master node F since further there is no level below the G, these nodes minimum (Nmin) is each tree minimum value (Tmin).

これらのツリー最小値(Tmin=3,Tmin=4)がそれぞれ中位マスタノードDに通知される。 These trees minimum (Tmin = 3, Tmin = 4) is notified to the median master node D, respectively.
中位マスタノードDでは、ノード最小値として4を有しており、これらが比較されて最も低い値(ここでは3)が中位ノードDのツリー最小値として設定される(Tmin=3)。 In middle master node D, has a 4 as a node minimum, they being compared lowest values ​​(here 3) is set as a tree minimum value of the median node D (Tmin = 3).

一方、中位マスタノードEでは、ノード最小値(Nmin)が5であり、このノードは下位マスタノードを有していないため、当該ノード最小値(Nmin=5)がツリー最小値(Tmin=5)として設定される。 On the other hand, the median master node E, a node minimum (Nmin) is 5, because this node does not have the lower master node, the node the minimum value (Nmin = 5) tree minimum value (Tmin = 5 ) is set as.

中位マスタノードCでは、中位マスタノードDからのツリー最小値(Tmin=3)と中位マスタノードEからのツリー最小値(Tmin=5)とを受信する。 In middle master node C, and it receives the tree minimum value from intermediate master node D (Tmin = 3) and tree minimum value from moderate master node E (Tmin = 5). 一方、中位マスタノードCでは自身のノード最小値(Nmin)として4を有しており、これらを比較して最も小さい値である3を自身のツリー最小値(Tmin=3)として更新する。 On the other hand, middle master node its own node minimum at C (Nmin) has 4 as to update the 3 is the smallest value by comparing these trees minimum value of itself as (Tmin = 3). そしてこのツリー最小値は上位マスタノードAに通知される。 The minimum value this tree is notified to the upper master node A.

一方、同図では、前記中位マスタノードCと並列な中位マスタノードBが存在しているが、この中位マスタノードBには下の階層のマスタノードが無いため、自身のノード最小値(Nmin=6)がそのままツリー最小値(Tmin=6)として上位マスタノードAに通知される。 Meanwhile, in the figure, wherein at middle master node C in parallel with median master node B is present, this because there is no master node under the hierarchy to moderate the master node B, the node itself minimum (Nmin = 6) is notified to the upper master node a as a tree minimum value (Tmin = 6) as it is.

上位マスタノードAでは、中位マスタノードBからのツリー最小値(Tmin=6)と、中位マスタノードCからのツリー最小値(Tmin=3)とを受信して、自身のノード最小値(Nmin=7)と比較して、これらの中で最も小さい値を上位マスタノードAにおけるツリー最小値(Tmin=3)として更新する。 The higher level master node A, the tree minimum value from moderate master node B and (Tmin = 6), tree minimum value from moderate master node C (Tmin = 3) receives and its own node minimum ( Nmin = 7) as compared to, it updates the smallest value among these as a tree minimum value in the upper master node a (Tmin = 3).

そしてマスタノードAでは、自身のノード最小値(Nmin=7)と、更新されたツリー最小値(Tmin=3)との間の数値をクラスタ最小値(Cmin)として設定する。 Then the master node A, to set the node the minimum value of itself and (Nmin = 7), a numerical value between the updated tree minimum value (Tmin = 3) cluster minimum value as (Cmin).
このときのクラスタ最小値(Cmin)の決定基準としては、クラスタ最小値をより小さい値(たとえばCmin=3)とすれば、全てのノードのスナップショット上のトランザクション最小値が3以上になるので、下位・中位マスタノードで生成される書込セットが上位マスタノードに到達したときに当該書込セットによる処理がアボートされる確率は低くなり、無駄になる書込セットが少なくなり各ノードでの負荷は低減される。 The criteria for determining the cluster minimum (Cmin) of this time, if the cluster minimum value smaller than the value (e.g. Cmin = 3), since the transaction minimum on snapshots of all the nodes is three or more, probability processing by the write set when the write set reaches the upper master nodes generated by the lower-middle master node is aborted is low, the write set wasted is reduced at each node load is reduced. 一方、完全消去の基準が小さい値となってしまうために、ノード全体の完全消去による効率的運用は図りにくくなる。 On the other hand, in order to reference the complete erasure becomes a small value, efficient operation with full erase of the entire node becomes hard aim.

それとは逆に、クラスタ最小値(Cmin)をより大きな値(たとえばCmin=7)とすれば、完全消去の効率は良くなるが、中位・下位マスタノードで生成された書込セットが上位マスタノードに到着したときに当該書込セットによる処理がアボートされる確率が高くなり、中位・下位マスタノードにおける書込セットの負荷は大きくなる。 On the contrary, if the cluster minimum value (Cmin) and a larger value (e.g. Cmin = 7), complete the efficiency of erasing becomes better, the higher the write set generated by the middle-order and low-order master node master probability processing by the write set is aborted becomes high when it arrives at a node, the load of writing the set of middle-order and low-order master node increases.

このようなクラスタ最小値(Cmin)の設定方法は、あらかじめノード最小値(Nmin)とツリー最小値(Tmin)との規定差分値を定めておき、この規定差分値を越えた場合には強制的に規定差分内となるような基準値に制御してもよい。 Setting method of the cluster minimum (Cmin) is previously implemented regulations differential value previously node minimum value (Nmin) tree minimum value (Tmin), force if it exceeds the prescribed difference value it may be controlled to the reference value such that the defined difference in.

このようにクラスタ最小値(Cmin)が設定されると、このクラスタ最小値(Cmin)に基づいてタプルの完全消去が行われる。 If the cluster minimum (Cmin) is set to, complete erasure of tuples is performed on the basis of the cluster minimum (Cmin). つまり、上位マスタノードにおいて、このクラスタ最小値(Cmin)より小さいトランザクションIDを持つトランザクションによって削除されたタプルを完全消去することができる。 That is, in the upper master node, the tuple is deleted by the transaction with the cluster minimum (Cmin) is less than the transaction ID can be completely erased. そして上位マスタノードで完全消去されたタプルは、以下で説明するトランザクションの廃棄と書込セットによる処理のアボートとによって、中位・下位マスタノードでも安全に完全消去できることになる。 The fully erased tuples upper master node, by the abort processing by discarding the write set of transactions described below, also becomes possible to safely complete erasure in middle-order and low-order master node.

なお、以上の説明では、中位マスタノードB−Eまたは下位マスタノードF,Gがノード最小値(Nmin)同士を比較してツリー最小値を更新しながら上位マスタノードAに通知される例で説明したが、これに限定されることなく、各中位マスタノードB−Eまたは下位マスタノードF,Gがそれぞれ自身のノード最小値(Nmin)を直接上位マスタノードAに通知するようにしてもよい。 In the above description, median master node B-E or lower master node F, in the example G is notified to the upper master node A while updating the tree minimum value by comparing the node minimum value (Nmin) between has been described, without having to be limited to this, the median master node B-E or lower master node F, also be G notifies the node the minimum value of the own (Nmin) directly upper master node a, respectively good. 上位マスタノードAはこのようにして通知されたノード最小値(Nmin)を自身が保持するノード最小値(Nmin)と比較して、これらの範囲内で新たな値を決定してそれをクラスタ最小値(Cmin)として更新することができる。 Top master node A node minimum value with the notified nodes minimum in this way (Nmin) itself as compared with the (Nmin), cluster minimum it to determine the new values ​​within these ranges it can be updated as the value (Cmin).

このように各中位・下位マスタノードB−Gがそれぞれのノード最小値(Nmin)を直接上位マスタノードAに通知することにより、各階層でツリー最小値(Tmin)を更新しながら上位マスタノードAに通知する方式よりも複雑な処理が必要なく通知システムを簡略化できる。 By thus each middle-order and low-order master node B-G notifies each node the minimum value (Nmin) directly upper master node A, the upper master node while updating the tree minimum value (Tmin) in each hierarchy complicated processing than type to notify the a can be simplified notification system without.
さらに、中位マスタノードB−Eまたは下位マスタノードF,Gのそれぞれで書込セットを生成するときにヒープタプルマップ(HTM)、シャドウコピー(SC)、トランザクション最小値(Xmin)とともにノード最小値(Nmin)を登録させるようにしてもよい(図9参照)。 Furthermore, median master node B-E or lower master node F, heap tuples map when generating a write set for each G (HTM), shadow copy (SC), the transaction minimum (Xmin) with node minimum It may be allowed to register the (Nmin) (see FIG. 9). このように書込セット中にノード最小値(Nmin)を登録して上位マスタノードAに通知させることによって、上位マスタノードAに対して書込セット以外の別の通知システムが不要となりシステムを簡略化できる。 By notifying the upper master node A thus registered node minimum value (Nmin) during a write set, simplified alternative notification system becomes unnecessary system other than the write set to the upper master node A possible reduction.

この場合、上位マスタノードAは、各中位マスタノードB−Eおよび下位マスタノードF,Gから直接送信されたそれぞれの書込セットからノード最小値(Nmin)を読み出して、自身が保持するノード最小値(Nmin)と比較して、これらの範囲内で新たな値を決定してそれをクラスタ最小値(Cmin)として更新してもよい。 Node In this case, the upper master node A, which reads the median master node B-E and lower master node F, node minimum value from each of the write set sent directly from the G (Nmin), self-retained compared to the minimum value (Nmin), it may update it to determine the new values ​​within these ranges as a cluster minimum value (Cmin).

上位マスタノードAにおいて、以上のようにクラスタ最小値(Cmin)を更新した後は、前述と同じ処理が行われる。 In the upper master node A, after updating the cluster minimum value (Cmin) As described above, the same processing is performed as described above. すなわち、前記上位マスタノードAにおいて、前記中位マスタノードB−Eまたは下位マスタノードF,Gから受信した書込セット中のトランザクション最小値(Xmin)と上位マスタノードAが保持するクラスタ最小値(Cmin)とを比較して、トランザクション最小値(Xmin)がクラスタ最小値(Cmin)と等しいか大きい場合には、当該書込セット中のヒープタプルマップ(HTM)と自身のデータベースとを比較して、ターゲットとして登録されているタプルのデータベースにおける更新の有無を検証し、更新がなされているときには当該書込セットによる処理をアボートし、更新がなされていないときには前記シャドウコピー(SC)を用いて自身のデータベースを更新するとともに、この更新記録をトランザクション That is, the upper in the master node A, the median master node B-E or lower master node F, the transaction minimum during a write set received from the G (Xmin) and the upper master node cluster minimum A holds ( Cmin) and by comparing, when the transaction minimum (Xmin) is greater than or equal to the cluster minimum (Cmin) compares the heap tuple map (HTM) with its own in the write set database , to verify the presence of updates in the database tuple that is registered as the target, and aborts the processing by the write set when an update has been made, when the update is not made by using the shadow copy (SC) itself transaction with, this update record to the database update グとして生成する。 To generate as grayed. 一方、トランザクション最小値(Xmin)がクラスタ最小値(Cmin)よりも小さい場合には、当該書込セットによる処理をアボートする。 On the other hand, the transaction minimum (Xmin) is smaller than the cluster minimum (Cmin) aborts the processing by the write set.

上位マスタノードAで設定・更新されたクラスタ最小値(たとえばCmin=6)は、図7に示すように、中位マスタノードB,C,D,Eおよび下位マスタノードF,Gに通知される。 Setting the upper master node A · updated cluster minimum (e.g. Cmin = 6), as shown in FIG. 7 is notified median master node B, C, D, E and lower master node F, the G . このクラスタ最小値(Cmin=6)を受信した各ノードでは、この値(Cmin=6)よりも小さいトランザクション最小値を持つスナップショットを参照しているトランザクションを全て廃棄する。 Each node receiving the minimum value this cluster (Cmin = 6), discards all transactions that reference snapshots with small transaction minimum value than this value (Cmin = 6). これによって、各ノードでのトランザクション最小値(Xmin)、ノード最小値(Nmin)、それらに基づくツリー最小値(Tmin)は必ず6よりも大きな値をとる。 Thus, the transaction minimum value at each node (Xmin), the node the minimum value (Nmin), takes a larger value than the tree minimum value (Tmin) is always 6 based on them. したがって、クラスタ最小値(Cmin)の通知後は完全消去されたタプルを参照するトランザクションは存在しなくなる。 Therefore, the transaction after notification of the cluster minimum (Cmin) is to refer to the complete erase tuple no longer exists.

なお、図6および図7では、上位マスタノードA、2階層の中位マスタノードB,C,D,E、下位マスタノードE,Fからなる4階層のツリー構造を有するマルチマスタノードで説明したが、上位マスタノードと下位マスタノードの2階層構造、または中位マスタノードが3階層以上すなわち全体で5階層以上のツリー構造を有していてもよい。 In FIG. 6 and FIG. 7, described in a multi-master node having upper master node A, 2 hierarchy medium master node B, C, D, E, lower master node E, the 4 hierarchical tree structure consisting of F but it may have a two-layer structure or a median master node 3 or more layers i.e. total 5 or more layers in the tree structure, the upper master node and lower master node.

次に、図3を用いて書込セットの生成およびそれを用いた更新について説明する。 Next, the update will be explained using generated and its write set with reference to FIG.
同図は、下位マスタノード(一例としてM301)におけるマスタデータベース(11a)と、書込セットとの関係を示している。 The figure includes a master database (11a) in the lower master node (M301 as an example), it shows the relationship between the write set. マスタデータベース(11a)は行番号と、命令内容と、ポインタとによって構成されており、新たな命令がクライアント端末(CL)からなされる毎に行番号が追加されていく追記型のデータベースである。 A master database (11a) line number, the contents of a command, is constituted by a pointer, a new instruction is a recordable database of line numbers will be added each time made from the client terminal (CL). 同図の場合、 In the case of the figure,
前記で説明したように、行番号4を削除(DELETE)し、行番号5を新たな命令内容に書き換える(sc1にUPDATE)する場合を示している。 As discussed above, a shows a case where deletes the line number 4 (DELETE), rewrites the line number 5 in the new command content to (UPDATE to sc1).

下位マスタノード(MS301)においてクライアント端末(CL)からの命令によりマスタデータベースに対してこのような更新命令がなされると、前述のように、バックエンドメモリ(BEM)上でヒープタプルマップ(HTM、ヒープファイル)とシャドウコピー(SC)とトランザクション最小値(Xmin)からなる書込セットが生成される。 If such update instruction is made to the master database in the lower master node (MS 301) by a command from the client terminal (CL), as described above, the heap tuples map on the backend memory (BEM) (HTM, heap file) and write set of shadow copies (SC) from the transaction minimum (Xmin) is generated.

ヒープタプルマップ(HTM)には、元の行番号(ctid)と、新しい行の行番号(sctid)が関係付けられて登録されるようになっている。 To heap tuple map (HTM) is, the original line number (ctid), a new line of line number (sctid) is adapted to be registered associated with. このようにヒープタプルマップ(HTM)はデータベースの更新毎に追加生成されていく。 In this way the heap tuple map (HTM) in is going to be added generated for each update of the database. なお、行番号5の命令内容(sc1)が書き込まれる行番号はこの段階ではまだ不明であるため、sctidには新しい命令(sc1)を書き込んでおく。 Since the line number instruction contents of the line number 5 (sc1) is written at this stage is still unclear, is written the new instruction (sc1) for Sctid.

一方、シャドウコピー(SC)には、マスタデータベース(11a)を参照して書き換えられるべき行番号のシャドウコピーを生成する。 On the other hand, the shadow copy (SC), generating a shadow copy of the master database (11a) referring to should be rewritten line number. このとき、新たに追加される行番号はこの段階では不明であるので、行番号には新たな命令(sc1)を書き込んでおく。 At this time, the line number that is newly added since at this stage is not known, the line number is written to a new instruction (sc1).

なお、この段階で下位マスタノード(MS301)のデータベース処理部(11b)は、ヒープタプルマップ(HTM)の生成によりDELETE命令が適用される行番号4と、UPDATE命令が適用される旧行番号5は削除されることが既にわかるため、シャドウコピー(SC)としては新たな命令(sc1)だけを書き込んでおいてもよい。 Incidentally, the database processing unit of the lower master node (MS 301) at this stage (11b) includes a row number 4 DELETE command is applied by the generation of the heap tuple map (HTM), the old line number UPDATE command is applied 5 because you can see already that are deleted, it may be previously written only the new instruction (sc1) as a shadow copy (SC).

さらに、書込セットに付加されるトランザクション最小値(Xmin)は、前記で説明したように実行中のトランザクションが参照しているスナップショット上に記録されているトランザクション最小値(Xmin)をそのまま書き込む。 Moreover, the transaction minimum value to be added to the write set (Xmin) writes transaction minimum running transactions are recorded on a snapshot references as described in said (Xmin) as it is.

このようにして生成された書込セットは、当該下位マスタノード(MS301)から中位マスタノード(たとえばMS201)、さらに上位マスタノード(MS101)に送信される。 Such writing sets generated by the, the lower master node (MS 301) moderate to master node (e.g. MS 201), and transmitted further to the upper master node (MS 101).

上位マスタノード(MS101)において、データベース処理部11b(中央処理装置(CPU))は、前記で受信した書込セットからトランザクション最小値(Xmin)を読み出す。 In the upper master node (MS 101), a database processing unit 11b (central processing unit (CPU)) reads transaction minimum value (Xmin) from the write set received by the. そして、このトランザクション最小値(Xmin)と上位マスタノード(MS101)のバックエンドメモリ(BEM)に保持されたクラスタ最小値(Cmin)と比較する。 Then, compared with the transaction minimum (Xmin) and the upper master node (MS 101) backend memory holding cluster minimum value (BEM) of (Cmin). このとき、トランザクション最小値(Xmin)がクラスタ最小値(Cmin)と等しいか大きいときには、トランザクションログ処理部(11c)を起動してトランザクションログデータの生成を開始した後に、以下の処理を行う。 At this time, when a transaction minimum (Xmin) is greater than or equal to the cluster minimum (Cmin), after starting the generation of the transaction log data to start the transaction log processing unit (11c), the following process is performed.

まず、ヒープタプルマップ(HTM)を読み出して、自身のマスタデータベース11aと比較する。 First, read the heap tuple map (HTM), it is compared with its own master database 11a. ここで、ターゲットとなっているタプル(ここでは行番号4,5および7)の内容がデータベース(11a)上で更新されているか否かを検証する。 Here, (in this case row number 4, 5 and 7) tuple that is targeted to verify whether the contents have been updated on the database (11a). 図4では、行番号4−6については未更新であるため、行番号4に削除ポインタを付与し、書き換えられる旧番号5にも削除ポインタを付与する。 In Figure 4, for the row number 4-6 for a non-updated, delete the pointer assigned to the row number 4, to award remove pointer to the old number 5 to be rewritten. そして、新たな行番号7に新しい命令(sc1)が書き込まれる。 Then, new instruction (sc1) is written to a new line number 7.

下位マスタノード(M301)からの書込セット中のヒープタプルマップ(HTM)と自身のデータベースを比較して、上位マスタノード(M101)において既に別の書込セットによって当該行が更新されているときには、当該書込セットによる処理はアボート(中断)される。 Comparing the database of the heap tuple map (HTM) with its own during a write set from the lower master node (M301), when the row is updated already by another write set in the upper master node (M101) is , treatment with the write set is aborted (abort).

一方、書込セット内のトランザクション最小値(Xmin)とクラスタ最小値(Cmin)と比較して、トランザクション最小値(Xmin)がクラスタ最小値(Cmin)よりも小さいときには、当該書込セットによる処理をアボートする。 On the other hand, as compared transaction minimum value in the write set and (Xmin) cluster minimum value (Cmin), when the transaction minimum (Xmin) is smaller than the cluster minimum (Cmin) is the processing of the write set to abort.

このように書込セットによる処理をアボートする理由を以下に説明する。 Thus explaining the processing by the write set why Ru abort toss below.
書込セットの中にはクラスタ最小値(Cmin)よりも小さいトランザクションIDを持つトランザクションが削除したタプルが更新対象となっている可能性がある。 Some write set is likely to tuples transaction has deleted with small transaction ID than the cluster minimum (Cmin) is in the update target. このようなタプルは上位マスタノードのクラスタ最小値(Cmin)の設定に基づいて、既に廃棄されている可能性が高い。 Such tuple based on the setting of the cluster minimum value of the upper master node (Cmin), already likely to be discarded. その場合、ヒープタプルマップを用いてこのタプルに対する整合性検出ができないので、上位マスタノードに矛盾を生じてしまう。 In this case, since using the heap tuples map can not consistent detection for this tuple, it occurs a contradiction to the upper master node. そのため、クラスタ最小値(Cmin)よりも小さいトランザクション最小値(Xmin)を有する書込セットによる処理をアボートして係る矛盾の発生を防止しているわけである。 Therefore, it is not to prevent the occurrence of contradiction according to abort the process by writing a set having a cluster minimum small transactions minimum value than (Cmin) (Xmin).

クラスタ最小値(Cmin)の通知によるトランザクションの廃棄が中位・下位マスタノードで完了すれば、このような書込セットは生成されない。 If notification discarded transactions with the cluster minimum (Cmin) is completed by middle-order and low-order master node, such write set is not generated. しかし、クラスタ最小値(Cmin)を上位マスタノードから下位マスタノードに通知している間に中位・下位マスタノードで生成された書込セットは、クラスタ最小値(Cmin)より小さいトランザクション最小値を持つ可能性があるので、書込セットを上位マスタノードで適用する際にチェックする必要がある。 However, writing sets generated by the middle-order and low-order master node while notifies the lower master node cluster minimum value (Cmin) from the upper master node, the cluster minimum value (Cmin) is less than the transaction minimum since there is a possibility to have, it is necessary to check in applying write set the upper master node. そこで前述のように、書込セットに登録されたトランザクション最小値(Xmin)とクラスタ最小値(Cmin)とを比較して、トランザクション最小値(Xmin)が小さい場合には書込セットによる処理をアボートするようにして解決しているわけである。 Therefore, as described above, the abort transaction minimum value registered in the write set and (Xmin) is compared with the cluster minimum (Cmin), the processing by the write set if the transaction minimum (Xmin) is small it is not is solved way to.

このように、クラスタ最小値(Cmin)の通知により、完全消去されたタプルを参照するトランザクションを全て廃棄することができ、前記通知(Cmin)の通知と入れ違いに作成された書込セットもクラスタ最小値(Cmin)を基準に当該書込セットによる処理をアボートできる。 Thus, by notifying the cluster minimum (Cmin), it is possible to discard all transactions to the complete erase tuple, the notification (Cmin) of the write also set cluster minimum created Irechigai and notifications value (Cmin) can abort the processing of the write set criteria. したがって、中位・下位ノードでもデータベースの整合性を損なわずにタプルを完全消去することができる。 Therefore, it is possible to completely erase the tuple without compromising the integrity of the database in middle-lower node.

図5は、上位マスタノード(MS101)のマスタデータベース(11a)が上記により更新されたときにトランザクションログ処理部(11c)で生成されるトランザクションログデータの一例である。 Figure 5 is a master database of the upper master node (MS101) (11a) is an example of a transaction log data generated by the transaction log processing unit (11c) when it is updated by the. このトランザクションログは、少なくとも命令とトランザクション内容(行番号とそれに対する実行処理内容)が時系列で連続的に記録されたファイルである。 The transaction log is a file in which at least instructions and transaction contents (line number and executes the processing contents with respect to it) was recorded continuously over time.

同図によればトランザクションの開始命令(XB1)に続いて、命令番号と行番号とが対になったログが順次生成されている。 Following transaction start instruction according to the drawing (XBl), logs the instruction numbers and line number are paired are sequentially generated. たとえば、最初にDELETE命令(D1)として行番号4を削除し(D14)、次にUPDATE命令(U1)として行番号5を削除し行番号7を追加し(U157)次にこれらのコミット命令(XC1)を発行する。 For example, first remove the line number 4 as DELETE command (D1) (D14), then delete the row number 5 as UPDATE command (U1) by adding the line number 7 (U157) Next These commit instruction ( XC1) to issue. なお、このトランザクションログデータには、クラスタ最小値(Cmin=6)を追加してもよい。 Note that this transaction log data may be added cluster minimum value (Cmin = 6). このようにクラスタ最小値(Cmin=6)を含めることによって、中位マスタノードB,C,D,Eまたは下位マスタノードF,Gにおけるトランザクションの廃棄順を制御することが可能となる。 By including this manner clusters minimum value (Cmin = 6), it is possible to control median master node B, C, D, E or lower master node F, the disposal sequence of transactions in G.

なお、前述したようにこのトランザクションログデータとは非同期にクラスタ最小値(Cmin=6)を中位マスタノードB,C,D,Eおよび下位マスタノードF,Gに通知する場合には、前述のトランザクションログデータの生成・送信を待つことなく効率的なトランザクションの廃棄処理が可能となる。 In the case of notifying asynchronous to the cluster minimum value and the transaction log data, as described above the (Cmin = 6) intermediate the master node B, C, D, E and lower master node F, the G is the aforementioned disposal of efficient transaction without waiting for the generation and transmission of transaction log data can be.

このトランザクションログデータは、通信モジュール(11d)より中位マスタノード(MS201)をはじめ、すべての下位マスタノード(MS302・・・MS30n)に対して配信される。 The transaction log data, communication module (11d), including the medium master node (MS201) than, be distributed to all of the sub-master node (MS302 ··· MS30n).

前記トランザクションログデータを受信した中位・下位マスタノードでは、当該トランザクションログデータを自身のデータベースに複製(レプリケーション)する。 And in the middle-lower master node receiving the transaction log data, replicates the transaction log data in its own database (replication).
具体的には、下位マスタノード(たとえばM302)が図5に示したトランザクションログデータを通信モジュール11dで受信すると、トランザクションログ処理部11cを起動してこのトランザクションログデータを自身のマスタデータベース11aにレプリケーションする。 Specifically, replication when the lower master node (e.g. M302) is received by the communication module 11d transaction log data shown in FIG. 5, to start the transaction log processing unit 11c of the transaction log data in its own master database 11a to. この結果、行番号4と5に削除ポインタが付与され、新たな行番号7が追加される。 As a result, deletion pointer is given to the row number 4 and 5, a new line number 7 is added. そして、このトランザクションログデータにクラスタ最小値(Cmin=6)が追記されている場合には、各マスタノードにおいて、このクラスタ最小値(Cmin=6)よりも小さいトランザクション最小値(Xmin)を持つスナップショットを参照するトランザクションが全て廃棄される。 Then, snap the transaction log data in the cluster minimum when (Cmin = 6) is additionally written, with each master node, the minimum value this cluster (Cmin = 6) small transactions minimum value than (Xmin) transaction to refer to the shot are discarded all.

このように、中位・下位マスタノードでは上位マスタノードから送信されるトランザクションログデータのレプリケーションによって統一的にデータベースが管理されることになる。 Thus, resulting in a unified manner the database is managed by the replication of the transaction log data transmitted from a host master node in middle-order and low-order master node.

以上、本発明を実施形態に基づいて説明したが、本発明はこれに限定されるものではない。 Has been described above based on the embodiment of the present invention, the present invention is not limited thereto. 以下、その変形例について説明する。 The following describes the modification.
(上位マスタノードMS101でデータベースの更新が行われる場合) (If the database update is performed in the upper master node MS 101)
下位マスタノード(たとえばMS301)でマスタデータベースの更新命令が発生した場合の処理については、図2で説明したように、バックエンドメモリ(BEM)上でヒープタプルマップ(HTM、ヒープファイル)とシャドウコピー(SC)とからなる書込セットが生成されるが、上位マスタノード(MS101)でマスタデータベースの更新命令が発生した場合には、上位ノードに通知する必要がないため、書込セットは生成されない。 The processing when the updating instruction of the master database is generated by the lower master node (e.g. MS 301), as described in FIG. 2, the heap tuple map (HTM, heap file) and a shadow copy on the backend memory (BEM) While writing the set consisting of a (SC) is generated, when the update command of the master database in the upper master node (MS 101) has occurred, there is no need to notify the upper node, the write set is not generated . すなわち、このような場合、上位ノード(MS101)では、図4の左図に示すようにマスタデータベース(11a)に対して直接更新データの書込が行われるとともに、図5に示すトランザクションログデータが生成される。 That is, in such a case, the higher level node (MS 101), with the writing of the direct update data is performed on the master database (11a) as shown in the left diagram of FIG. 4, the transaction log data shown in FIG. 5 It is generated. このトランザクションログデータは下位マスタノードに配信され、前記トランザクションログデータを受信した下位マスタノードでは、当該トランザクションログデータを自身のマスタデータベースにレプリケーションする。 The transaction log data is delivered to the lower master node, and in the lower master node receiving the transaction log data, replicate the transaction log data in its own master database.

(下位マスタノードで書込セットを生成している段階で検索処理が実行されたとき) (When the search process at the stage that is generating the write set at a lower master node is performed)
下位マスタノード(たとえばMS101)において、図3に示すような書込セットを生成している段階で、当該下位マスタノードのマスタデータベースに対して検索が実行されたとき、書込セットの生成された行番号以外の行番号を対象とした検索であれば問題はないが、該当行(ここでは行番号4および行番号5)に対する検索である場合、これらの行番号に対しては既に実質的な更新処理が行われているため、マスタデータベースの該当行を検索したとしても正確な検索結果は得られない。 In the lower master node (e.g. MS 101), at the stage that is generating the write set as shown in FIG. 3, when a search for the master database of the lower master node is performed, the generated write set there is no problem as long as searches across row number other than the row number, if the relevant line (in this case row number 4 and line number 5) is searched for, already substantially for these line number since the update processing is being performed, no accurate search results are obtained even find the appropriate row of the master database.

このような場合、データベース処理部(11b)は、まずヒープタプルマップ(HTM)を参照して、検索該当行番号がエントリされているか否かをチェックする。 In this case, database processing unit (11b), first with reference to the heap tuple map (HTM), checks whether the search destination line number has been entered. たとえば図3に示す例で、検索対象が行番号3である場合、データベース処理部(11b)は、メモリ(MM)上に構築されたバックエンドメモリ(BEM)上の書込セット内のヒープタプルマップ(HTM)を参照して、該当行(行番号3)がエントリされているか否かを判定する。 For example, in the example shown in FIG. 3, if the search target is the row number 3, database processing unit (11b) includes a memory (MM) backend memory that is built on top (BEM) in Ueno write set heap tuple by referring to a map (HTM), it determines whether the corresponding row (row number 3) is entered. 図3の例では、該当行はエントリされていない。 In the example of FIG. 3, the corresponding row is not entry. その場合には、マスタデータベース11aに直接アクセスして該当行(行番号3)を検索する。 In this case, direct access to the master database 11a to find the relevant line (line number 3).

一方、図3に示す例で、検索対象が行番号4である場合、データベース処理部(11b)は書込セット内のヒープタプルマップ(HTM)を参照したときに、該当行(行番号4)がエントリされていることを検出することになる。 On the other hand, in the example shown in FIG. 3, if the search target is the row number 4, a database processing unit (11b) when the referenced heap tuples map in writing the set (HTM), the relevant line (line number 4) There will detect that it is the entry. この場合、マスタデータベース11aにアクセスしても、残存する該当行は既に削除する更新命令が実行されているため、検索対象としても意味がない。 In this case, even when access to the master database 11a, for updating instruction appropriate line the remaining of already deleted is running, there is no point as a search target. この場合、データベース処理部(11b)は、ヒープタプルマップ(HTM)を参照して該当行(行番号4)が削除されていることを検出する。 In this case, database processing unit (11b) detects that with reference to the heap tuple map (HTM) relevant line (line number 4) is deleted. このように、検索対象行が削除されているため、データベース処理部(11b)は該当行を検索対象とはしない。 Since the search target row is deleted, the database processing unit (11b) is not the search target corresponding line.

一方、図3に示す例で、検索対象が行番号5である場合、上記と同様に、ヒープタプルマップ(HTM)を参照して該当行(行番号5)に対応するシャドウコピー(SC1)が作成されていることを検出する。 On the other hand, in the example shown in FIG. 3, if the search target is row number 5, in the same manner as described above, the shadow copy corresponding with reference to the heap tuple map (HTM) in the corresponding row (row number 5) (SC1) is it is detected that has been created.

このとき、データベース処理部(11b)は、シャドウコピー(SC1)を参照して、行番号5を書き換えた内容を検索対象とすればよい。 At this time, database processing unit (11b) refers to the shadow copy (SC1), may be the contents rewritten line number 5 searched.
以上の説明では、1行毎にヒープタプルマップ(HTM)を参照する場合で説明したが、このような処理方法に限らず、検索を行う際にデータベース処理部(11b)は、まず一括的にヒープタプルマップ(HTM)を参照して、ここにエントリされている行番号の全てを削除されたものとしてこれらを除外してマスタデータベース(11a)を検索しその後、再度ヒープタプルマップ(HTM)を参照してそのエントリに基づいて該当行を検索対象から除外したり(行番号4の場合)、シャドウコピー(SC1)を検索対象としてもよい。 In the above description has been described in the case of referring to the heap tuple map (HTM) in each row is not limited to such a processing method, a database processing unit when performing search (11b), first collectively heap tuple by referring to the map (HTM), these are excluded searching master database (11a) then as deleted all of the line number entries here again heap tuple map (HTM) reference based on the entry or exclude the corresponding row from the search (if line number 4), may be the search target shadow copy (SC1).

(下位マスタノードで上位マスタノードからのトランザクションログデータによる更新が行われているときの競合が生じた場合) (If a conflict occurs when the update by the transaction log data from a higher-level master node is being carried out at a lower master node)
上位マスタノードから配信されたトランザクションログデータによって下位マスタノードのデータベースにレプリケーションが行われているときに、該当行に対して下位マスタノードのデータベースの更新命令が実行されている場合、競合が発生することになる。 When the replication is performed in the database of lower master node by the transaction log data delivered from the upper master node, if the update command of the database of the lower master node for the corresponding row is performed, a conflict occurs It will be.

具体的には、下位マスタノードへの更新命令に基づいて行番号4と5とを更新しているときに、上位マスタノードから行番号5に関するトランザクションログデータが配信されてきたときがこれに該当する。 Specifically, when updating the row number 4 and 5 based on the update instruction to lower the master node, corresponding thereto when the transaction log data has been distributed about the line number 5 from the upper master node to.

このような場合には、下位マスタノードで作成された書込セットが上位マスタノードに送信されたとしても、上位マスタノードでは既に該当行に関するトランザクションログデータが配信されているため、前記書込セットは上位マスタノードで競合が検出されて当該書込セットによる処理がアボートされることになる。 In such a case, since the write set created in the lower master node even if they are delivered to the upper master node, has already been distributed transaction log data related to the corresponding lines in the upper master node, said write set contention upper master node is detected so that the processing by the write set is aborted. したがって、当該下位マスタノードにおける競合は無視して差し支えない。 Accordingly, competition in the lower master node no problem to ignore. この方法によれば、上位マスタノードにおいて本来その書込セットによる処理がアボートされるのがわかっているような書込セットでも上位マスタノードに送信しなければならず、上位マスタノードおよび下位マスタノードでのそれぞれの負担は増加するものの、上位マスタノードからのトランザクションログデータを下位マスタノードでレプリケーションする段階で一々競合のチェックを行わなくてよいため、処理が高速化できるという利点がある。 According to this method, it is necessary to send to the upper master node in writing sets such as treatment with the write set original is found to be aborted in the upper master node, the higher the master node and the lower master node although increases each burden, since it is not necessary each time to perform the check of contention at the stage of replication transaction log data from the upper master node at a lower master node, there is an advantage that processing can be faster.

一方、このような下位マスタノードでの競合を解決する別の方法としては、下位マスタノードにおいてヒープタプルマップ(HTM)を生成したときに、これを当該下位マスタノード内のメモリに登録し、このメモリを共有メモリとして、他の下位マスタノードからアクセス可能な状態としておく。 On the other hand, as another method for solving the conflict in such a subordinate master node, upon generating a heap tuple map (HTM) in the lower master node, which was registered in the memory in the lower master node, this as shared memory memory, keep the accessible state from other lower master node. このような他の下位ノードマスタ間のアクセスは、それぞれの下位マスタノードのデータベース処理部11bが行う。 Access between such other lower nodes master is performed by the database processing unit 11b of each of the lower master node. この方法によれば、ヒープタプルマップ(HTM)の生成時に競合をチェックするため、トランザクションログデータによるレプリケーションが遅延する可能性はあるものの、競合の問題を下位マスタノード間だけで解決できるので、上位マスタノードに負担をかけない。 According to this method, in order to check for conflicts when generating the heap tuple map (HTM), although replication by the transaction log data is likely to delay, because the contention problem can be solved only between the lower master node, the higher do not put a burden on the master node.

以上、本発明を実施形態に基づいて説明したがこれらに限定されるものではない。 Above, is not limited thereto has been described based on the embodiment of the present invention.
たとえば、書込セットは下位マスタノード(MS301)で生成する場合で説明したがこれに限らず中位マスタノード(MS201)で生成してもよいことは勿論である。 For example, the write set is of course able to be generated by the middle master node is not limited to this it has been described in the case of generating the lower master node (MS301) (MS201).

本発明は、階層構造を備えたマルチマスタノード構造のデータベース管理システムに利用できる。 The present invention can be used in a database management system of the multi-master node structure with a hierarchical structure.

MS101 上位マスタノードSL スレーブMS201,MS202・・・MS20n 中位マスタノードMS301,MS302・・・MS30n 下位マスタノードCL クライアント端末11a マスタデータベース11b データベース処理部11c トランザクションログ処理部11d 通信モジュールBEM バックエンドメモリHTM ヒープタプルマップSC シャドウコピーCmin クラスタ最小値Xmin トランザクション最小値 MS101 upper master node SL slave MS201, MS202 ··· MS20n median master node MS301, MS302 ··· MS30n lower master node CL client terminal 11a master database 11b database processing unit 11c transaction log processing unit 11d communication module BEM backend memory HTM heap tuple map SC shadow copy Cmin cluster minimum value Xmin transaction minimum value

Claims (9)

  1. レコード更新が可能な上位と下位のマスタノードを階層的に有する追記型データベース管理システムにおけるデータベースの管理方法であって、 Method of managing a database in a write-once-type database management system having a high and low of the master node capable of record updates hierarchically,
    いずれかの下位マスタノードのセッションにおいて、上位マスタノードに対して、当該下位のマスタノードのデータベースのシャドウコピーと、自身のメモリ上に展開されたヒープタプルマップと、実行中のトランザクションが参照するスナップショットのトランザクション最小値とを書込セットとして送信するステップと、 In session one of the lower master node, to the upper level master node, and the shadow copy of the database of the subordinate of the master node, and heap tuple maps developed on its memory, the transaction being executed refers snap sending the transaction minimum value of the shot as the write set,
    前記上位マスタノードにおいて、前記下位マスタノードから受信した書込セット中のトランザクション最小値と上位マスタノードが保持するクラスタ最小値とを比較して、トランザクション最小値がクラスタ最小値と等しいか大きい場合には、当該書込セット中のヒープタプルマップと自身のデータベースとを比較して、ターゲットとして登録されているタプルのデータベースにおける更新の有無を検証し、更新がなされているときには当該書込セットによる処理をアボートし、更新がなされていないときには前記シャドウコピーを用いて自身のデータベースを更新するとともに、この更新記録をトランザクションログとして生成するステップと、 In the upper master node, wherein by comparing the cluster minimum transaction minimum during a write set received from the lower master node and the upper master node holds, if the transaction minimum value is greater or equal to the cluster minimum compares the heap tuple map and its own in the write set database, processing by the write set when to verify the presence of updates in the database tuple that is registered as a target, the update has been made a step aborted, with when the update is not made to update its database by using the shadow copy, that generates the update records as a transaction log,
    前記でトランザクション最小値がクラスタ最小値よりも小さい場合には、当該書込セットによる処理をアボートするステップと、 If the transaction minimum value is smaller than the cluster minimum value includes the steps of aborting the process according to the write set,
    前記トランザクションログを前記送信元の下位マスタノードを含む下位マスタノードに配信するステップと、 A step of delivering the transaction log to the lower master node including sub master node of the transmission source,
    前記下位マスタノードにおいて、前記で受信したトランザクションログに基づいて自身のデータベースを更新するステップと、 In the lower master node, and updating its database based on the transaction log received by the,
    前記上位マスタノードが保持するクラスタ最小値を下位マスタノードに通知して、該クラスタ最小値よりも小さいトランザクション最小値を有するトランザクションを廃棄させるステップと、 Notifies the cluster minimum value the upper master node holds the lower master node, a step of discarding a transaction with a small transaction minimum than the cluster minimum,
    からなるデータベースの管理方法。 Tona Lud database management method.
  2. 前記下位マスタノードは、実行中のトランザクションを時系列に記録した複数のスナップショット間のトランザクション最小値同士を比較して最も小さい値をノード最小値とし、このノード最小値をツリー最小値として上位マスタノードに通知し、 The lower master node, the smallest value by comparing the transaction minimum each other between a plurality of snapshots recorded in time series running transactions as nodes minimum value, the higher master this node minimum as a tree minimum value notify the node,
    前記上位マスタノードは、自身のノード最小値と、前記1または2以上の下位マスタノードから通知されたツリー最小値とから選択的にクラスタ最小値を決定・保持する請求項1記載のデータベースの管理方法。 The upper master node, the node the minimum value of its own, said one or more tree minimum value notified from the lower master node selectively claim 1, wherein the database of determining and holding the cluster minimum Management method.
  3. 前記追記型データベース管理システムは、前記上位マスタノードと前記下位マスタノードとの間の階層に中位マスタノードをさらに有しており、 The write-once database management system, hierarchical further has a median master node between the upper master node and the lower master node,
    前記下位マスタノードは、実行中のトランザクションを時系列に記録した複数のスナップショット間のトランザクション最小値同士を比較して最も小さい値をノード最小値とし、このノード最小値をツリー最小値として中位マスタノードに通知し、 The lower master node, a transaction running the smallest value by comparing the transaction minimum each other between a plurality of snapshots recorded in time series and node minimum, median this node minimum as a tree minimum value notify the master node,
    前記中位マスタノードは、自身のノード最小値と、前記1または2以上の下位マスタノードから通知されたツリー最小値とを比較して最も小さい値を当該中位マスタノードのツリー最小値として上位マスタノードに通知し、 The median master node, the higher the node the minimum value of the own the smallest value by comparing the one or more tree minimum value notified from the lower master node as a tree minimum value of the median master node notify the master node,
    上位マスタノードは、自身のノード最小値と、前記1または2以上の中位マスタノードから通知されたツリー最小値とから選択的にクラスタ最小値を決定・保持する請求項1記載のデータベースの管理方法。 Upper master node, the node the minimum value of its own, the one or from the notified tree minimum value from two or more intermediate master node selectively the database according to claim 1, wherein the determining and holding the cluster minimum Management method.
  4. 前記中位マスタノードはさらに2階層以上のツリー構造を有している請求項3記載のデータベースの管理方法。 The median master node according to claim 3 database management method according to further comprising two or more layers of the tree structure.
  5. 前記上位マスタノードが保持するクラスタ最小値の下位マスタノードへの通知は、前記トランザクションログの下位マスタノードへの通知とは非同期で行われる請求項1記載のデータベースの管理方法。 The notification to the lower master node of the cluster minimum upper master node holds the management of database according to claim 1, which is carried out asynchronously with the notification to the subordinate master node of the transaction log.
  6. 前記上位マスタノードが保持するクラスタ最小値の下位マスタノードへの通知は、前記トランザクションログに当該クラスタ最小値を含めて行われる請求項1記載のデータベースの管理方法。 The notification to the lower master node of the cluster minimum upper master node holds the management of database according to claim 1, wherein performed including the cluster minimum value to the transaction log.
  7. 前記書込セットは、下位マスタノードの代わりに中位マスタノードで生成され、少なくとも当該中位マスタノードで実行中のトランザクションが参照するスナップショットのトランザクション最小値が書き込まれている請求項3または4記載のデータベースの管理方法。 Said write set lower master node instead generated by the medium master node to the at least the median snapshot transaction minimum value is being claim 3 or 4 is written in a transaction running on the master node reference database management method as set forth.
  8. レコード更新が可能な上位と下位のマスタノードを階層的に有する追記型データベース管理システムであって、 The high and low master node capable of record update a write-once type database management system having a hierarchical,
    いずれかの下位マスタノードのセッションにおいて、上位マスタノードに対して、当該下位のマスタノードのデータベースのシャドウコピーと、自身のメモリ上に展開されたヒープタプルマップと、実行中のトランザクションが参照するスナップショットのトランザクション最小値とを書込セットとして送信する手段と、 In session one of the lower master node, to the upper level master node, and the shadow copy of the database of the subordinate of the master node, and heap tuple maps developed on its memory, the transaction being executed refers snap It means for transmitting the transaction minimum value of the shot as the write set,
    前記上位マスタノードにおいて、前記下位マスタノードから受信した書込セット中のトランザクション最小値と上位マスタノードが保持するクラスタ最小値とを比較して、トランザクション最小値がクラスタ最小値と等しいか大きい場合には、当該書込セット中のヒープタプルマップと自身のデータベースとを比較して、ターゲットとして登録されているタプルのデータベースにおける更新の有無を検証し、更新がなされているときには当該書込セットによる処理をアボートし、更新がなされていないときには前記シャドウコピーを用いて自身のデータベースを更新するとともに、この更新記録をトランザクションログとして生成する手段と、 In the upper master node, wherein by comparing the cluster minimum transaction minimum during a write set received from the lower master node and the upper master node holds, if the transaction minimum value is greater or equal to the cluster minimum compares the heap tuple map and its own in the write set database, processing by the write set when to verify the presence of updates in the database tuple that is registered as a target, the update has been made with aborted, when the update is not made to update its database with the shadow copy, it means for generating the updated recorded as transaction logs,
    前記でトランザクション最小値がクラスタ最小値よりも小さい場合には、当該書込セットによる処理をアボートする手段と、 If the transaction minimum at the is smaller than the cluster minimum value, it means for aborting the processing by the write set,
    前記トランザクションログを前記送信元の下位マスタノードを含む下位マスタノードに配信する手段と、 It means for delivering the transaction log to the lower master node including sub master node of the transmission source,
    前記下位マスタノードにおいて、前記で受信したトランザクションログに基づいて自身のデータベースを更新する手段と、 In the lower master node, and means for updating its database based on the transaction log received by the,
    前記上位マスタノードが保持するクラスタ最小値を下位マスタノードに通知して、該クラスタ最小値よりも小さいトランザクション最小値を有するトランザクションを廃棄させる手段と、 Notifies the cluster minimum value the upper master node holds the lower master node, and means for discarding a transaction with a small transaction minimum than the cluster minimum,
    を備える追記型データベース管理システム。 Write-once-read-many database management system that includes a.
  9. レコード更新が可能な上位と下位のマスタノードを階層的に有する追記型データベース管理システムに、 Write-once database management system having a high and low of the master node capable of record updates hierarchically,
    いずれかの下位マスタノードのセッションにおいて、上位マスタノードに対して、当該下位のマスタノードのデータベースのシャドウコピーと、自身のメモリ上に展開されたヒープタプルマップと、実行中のトランザクションが参照するスナップショットのトランザクション最小値とを書込セットとして送信するステップと、 In session one of the lower master node, to the upper level master node, and the shadow copy of the database of the subordinate of the master node, and heap tuple maps developed on its memory, the transaction being executed refers snap sending the transaction minimum value of the shot as the write set,
    前記上位マスタノードにおいて、前記下位マスタノードから受信した書込セット中のトランザクション最小値と上位マスタノードが保持するクラスタ最小値とを比較して、トランザクション最小値がクラスタ最小値と等しいか大きい場合には、当該書込セット中のヒープタプルマップと自身のデータベースとを比較して、ターゲットとして登録されているタプルのデータベースにおける更新の有無を検証し、更新がなされているときには当該書込セットによる処理をアボートし、更新がなされていないときには前記シャドウコピーを用いて自身のデータベースを更新するとともに、この更新記録をトランザクションログとして生成するステップと、 In the upper master node, wherein by comparing the cluster minimum transaction minimum during a write set received from the lower master node and the upper master node holds, if the transaction minimum value is greater or equal to the cluster minimum compares the heap tuple map and its own in the write set database, processing by the write set when to verify the presence of updates in the database tuple that is registered as a target, the update has been made a step aborted, with when the update is not made to update its database by using the shadow copy, that generates the update records as a transaction log,
    前記でトランザクション最小値がクラスタ最小値よりも小さい場合には、当該書込セットによる処理をアボートするステップと、 If the transaction minimum value is smaller than the cluster minimum value includes the steps of aborting the process according to the write set,
    前記トランザクションログを前記送信元の下位マスタノードを含む下位マスタノードに配信するステップと、 A step of delivering the transaction log to the lower master node including sub master node of the transmission source,
    前記下位マスタノードにおいて、前記で受信したトランザクションログに基づいて自身のデータベースを更新するステップと、 In the lower master node, and updating its database based on the transaction log received by the,
    前記上位マスタノードが保持するクラスタ最小値を下位マスタノードに通知して、該クラスタ最小値よりも小さいトランザクション最小値を有するトランザクションを廃棄させるステップと、 Notifies the cluster minimum value the upper master node holds the lower master node, a step of discarding a transaction with a small transaction minimum than the cluster minimum,
    を実行させるためのプログラム。 Program for the execution.
JP2012010434A 2011-07-05 2012-01-20 Database management method, a database management system, and program Active JP5283766B2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2012547212 2011-07-05
JP2012547212 2011-07-05
JP2012010434A JP5283766B2 (en) 2011-07-05 2012-01-20 Database management method, a database management system, and program

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2012010434A JP5283766B2 (en) 2011-07-05 2012-01-20 Database management method, a database management system, and program
EP20120175043 EP2544107A1 (en) 2011-07-05 2012-07-05 Method of managing a database
US13542324 US9251195B2 (en) 2011-07-05 2012-07-05 Method of managing database

Publications (2)

Publication Number Publication Date
JP2013037669A true JP2013037669A (en) 2013-02-21
JP5283766B2 true JP5283766B2 (en) 2013-09-04

Family

ID=47789266

Family Applications (4)

Application Number Title Priority Date Filing Date
JP2012010434A Active JP5283766B2 (en) 2011-07-05 2012-01-20 Database management method, a database management system, and program
JP2012013838A Active JP5283768B2 (en) 2011-07-05 2012-01-26 Database management method, a database management system, and program
JP2012013839A Active JP5283769B2 (en) 2011-07-05 2012-01-26 Database management method, a database management system, and program
JP2012013837A Active JP5283767B2 (en) 2011-07-05 2012-01-26 Managing a database, the master node, and program

Family Applications After (3)

Application Number Title Priority Date Filing Date
JP2012013838A Active JP5283768B2 (en) 2011-07-05 2012-01-26 Database management method, a database management system, and program
JP2012013839A Active JP5283769B2 (en) 2011-07-05 2012-01-26 Database management method, a database management system, and program
JP2012013837A Active JP5283767B2 (en) 2011-07-05 2012-01-26 Managing a database, the master node, and program

Country Status (1)

Country Link
JP (4) JP5283766B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015145586A1 (en) * 2014-03-25 2015-10-01 株式会社Murakumo Database system, information processing device, method, and program

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5432926A (en) * 1992-12-04 1995-07-11 International Business Machines Corporation Method and apparatus for improving database reliability and response time in a distributed transaction processing system
EP0675451A3 (en) * 1994-03-30 1996-12-04 Siemens Stromberg Carlson A distributed database architecture and distributed database management system for open network evolution.
JPH10171688A (en) * 1996-12-09 1998-06-26 Nec Corp Processor and method for data storing process
JP2010218159A (en) * 2009-03-16 2010-09-30 Nec Corp Management device, database management method and program
JP4719318B2 (en) * 2009-03-19 2011-07-06 株式会社Murakumo Replication management method and system of data
WO2012056734A1 (en) * 2010-10-26 2012-05-03 株式会社Murakumo Database management method

Also Published As

Publication number Publication date Type
JP2013033439A (en) 2013-02-14 application
JP2013037669A (en) 2013-02-21 application
JP5283769B2 (en) 2013-09-04 grant
JP5283768B2 (en) 2013-09-04 grant
JP2013033440A (en) 2013-02-14 application
JP5283767B2 (en) 2013-09-04 grant
JP2013033441A (en) 2013-02-14 application

Similar Documents

Publication Publication Date Title
US7257689B1 (en) System and method for loosely coupled temporal storage management
US6295610B1 (en) Recovering resources in parallel
US20120011106A1 (en) Shared log-structured multi-version transactional datastore with metadata to enable melding trees
US6535869B1 (en) Increasing efficiency of indexing random-access files composed of fixed-length data blocks by embedding a file index therein
US20110035359A1 (en) Database Backup and Restore with Integrated Index Reorganization
US20090240664A1 (en) Scalable Database Management Software on a Cluster of Nodes Using a Shared-Distributed Flash Memory
US20040267828A1 (en) Transaction consistent copy-on-write database
US6678809B1 (en) Write-ahead log in directory management for concurrent I/O access for block storage
US6192376B1 (en) Method and apparatus for shadowing a hierarchical file system index structure to enable error recovery
US7685385B1 (en) System and method for satisfying I/O requests before a replica has been fully synchronized
US20100114831A1 (en) Building a Synchronized Target Database
Baker et al. Megastore: Providing scalable, highly available storage for interactive services.
Fang et al. High performance database logging using storage class memory
US7752402B2 (en) Systems and methods for allowing incremental journaling
US20060106891A1 (en) Managing atomic updates on metadata tracks in a storage system
US20110060724A1 (en) Distributed database recovery
US7822932B2 (en) Systems and methods for providing nonlinear journaling
US20120017037A1 (en) Cluster of processing nodes with distributed global flash memory using commodity server technology
US20120221528A1 (en) Logging scheme for column-oriented in-memory databases
US20050193041A1 (en) Parallel apply processing in data replication with preservation of transaction integrity and source ordering of dependent updates
US20070088912A1 (en) Method and system for log structured relational database objects
US20100223235A1 (en) Systems and methods for providing nonlinear journaling
US20090063548A1 (en) Log-structured store for streaming data
US20120109895A1 (en) Versatile in-memory database recovery
US7613743B1 (en) Methods and apparatuses for data protection

Legal Events

Date Code Title Description
A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20130125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130205

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130408

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130514

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130528

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250