JP2011076487A - Computer and database management program - Google Patents

Computer and database management program Download PDF

Info

Publication number
JP2011076487A
JP2011076487A JP2009228864A JP2009228864A JP2011076487A JP 2011076487 A JP2011076487 A JP 2011076487A JP 2009228864 A JP2009228864 A JP 2009228864A JP 2009228864 A JP2009228864 A JP 2009228864A JP 2011076487 A JP2011076487 A JP 2011076487A
Authority
JP
Japan
Prior art keywords
node
update
database
redo log
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2009228864A
Other languages
Japanese (ja)
Inventor
Katsumi Hatanaka
勝実 畑中
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oki Networks Co Ltd
Original Assignee
Oki Networks Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oki Networks Co Ltd filed Critical Oki Networks Co Ltd
Priority to JP2009228864A priority Critical patent/JP2011076487A/en
Publication of JP2011076487A publication Critical patent/JP2011076487A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To construct a multiplex database control system having a simple configuration on the assumption of an inexpensive hardware configuration using no shared disk devices. <P>SOLUTION: A node 2 holds a redo logs 120 for node as update information of a database held in the node 2 and redo logs 130 for the other nodes as update information of databases other than the database held in the node 2 for each database. When the node 2 updates the redo log 120 for node, the node 2 refers to redo logs 130 for the other nodes to determine whether contention occurs between updating of the database held in the node 2 and updating of databases other than the database held in the node 2. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

本発明は、多重化されたデータベースのうち少なくとも一つを備える計算機、及びデータベース管理プログラムに関する。   The present invention relates to a computer including at least one of multiplexed databases and a database management program.

従来の多重化データベースにおいては、各ノードにデータそのものを格納するためのDBファイルと、更新履歴情報を逐次書き込むためのredoログとを持っている。
図11(a)に示すように、多重化データベースは、データベースの可用性を向上するためにノードを2重化する。ノードの2重化を行う方法の一つに、分散トランザクションの機能を用いる方法がある。
A conventional multiplexed database has a DB file for storing the data itself in each node and a redo log for sequentially writing update history information.
As shown in FIG. 11 (a), the multiplexed database duplicates nodes in order to improve the availability of the database. One method of duplexing nodes is to use a distributed transaction function.

この方法では、更新を行う際に、クライアントから、両ノードに対して同一の内容の更新要求を行い、2フェーズコミット方式により、両ノード間のDBファイルの内容の整合を保障する。すなわち、この方法は、コミット要求時に、両ノードにコミット準備指示を行い、両ノードから準備完了応答を得られてから、両ノードに対してコミット指示を行う。なお、分散トランザクションの機能を用いる方法の詳細は、例えば、特許文献1に記載がある。   In this method, when updating, the client issues an update request with the same contents to both nodes, and the consistency of the contents of the DB file between both nodes is ensured by the two-phase commit method. That is, in this method, at the time of a commit request, a commit preparation instruction is given to both nodes, and after a preparation completion response is obtained from both nodes, a commit instruction is issued to both nodes. Details of the method using the distributed transaction function are described in Patent Document 1, for example.

また、別の方法として、共有ディスクによる2重化の方法がある。図11(b)に示すように、redoログとDBファイルとを共有ディスクに格納し、両ノードに接続することによって、データベースを2重化する。redoログは、各ノード用に一つずつ用意されるが、DBファイルは、物理的に同じものを共有する。なお、共有ディスクを用いる方法の詳細は、例えば、非特許文献1に記載がある。   As another method, there is a duplex method using a shared disk. As shown in FIG. 11B, the database is duplicated by storing the redo log and the DB file in the shared disk and connecting to both nodes. One redo log is prepared for each node, but the DB files share the same physical file. Details of the method using the shared disk are described in Non-Patent Document 1, for example.

この方法では、一つのディスク装置を共有してDBを構成しているため、片方のノードで実行された操作は、即時他ノードにも反映されている。   In this method, since one DB is shared to configure a DB, an operation executed on one node is immediately reflected on another node.

特開平6−119227号公報(段落0002〜0006、図2等)JP-A-6-119227 (paragraphs 0002 to 0006, FIG. 2 etc.)

Barb Lundhild,Peter Sechser、“Oracle RAC 10g”、[online]、2005年9月、Oracle Corporation、[平成21年9月16日検索]、インターネット<URL:http://otndnld.oracle.co.jp/products/database/oracle10g/clustering/pdf/TWP_RAC10g.pdf >Barb Lundhild, Peter Sechser, “Oracle RAC 10g”, [online], September 2005, Oracle Corporation, [searched September 16, 2009], Internet <URL: http://otndnld.oracle.co.jp /products/database/oracle10g/clustering/pdf/TWP_RAC10g.pdf>

このように、分散トランザクションの機能を用いるデータベースの多重化方法は、更新操作に対する競合があれば、その時点で待ちが発生し、また、コミット動作中に障害が発生すると、自動的にロックを解除できなくなり、制御が複雑であるという問題がある。
また、共有ディスク装置を用いるデータベースの多重化方法では、共有ディスク装置が高価であり、両ノードを地理的に分散させた配置とすることができないという欠点がある。
As described above, in the database multiplexing method using the distributed transaction function, if there is contention for the update operation, a wait occurs at that time, and if a failure occurs during the commit operation, the lock is automatically released. There is a problem that control is complicated and control is complicated.
In addition, in the database multiplexing method using the shared disk device, the shared disk device is expensive, and there is a drawback that it is not possible to arrange both nodes geographically dispersed.

本発明は前記問題に鑑みてなされたものであり、データベースを地理的に分散させた状態であっても、データベースの更新における競合を判定することができる、計算機、及びデータベース管理プログラムを提供することを目的とする。   The present invention has been made in view of the above problems, and provides a computer and a database management program capable of determining competition in database update even when the database is geographically dispersed. With the goal.

前記目的を達成するために、本発明に係る計算機は、複数の同じ内容のデータベースに通信可能に接続されて多重化されたデータベースのうち少なくとも1つを備える計算機であって、自己が保有するデータベースの自己更新情報と、自己が保有するデータベース以外のデータベースの他の更新情報とを各データベース毎に分けて保有する記憶部と、前記自己更新情報を更新する際に、前記他の更新情報を参照することで、前記多重化されたデータベースの更新における競合を判定する競合判定部と、を備えることを特徴とする。   In order to achieve the above object, a computer according to the present invention is a computer comprising at least one of a plurality of databases connected in a communicable manner to a plurality of databases having the same contents, the database held by itself. A self-update information and a storage unit that holds other update information of databases other than the database held by the database separately for each database, and refers to the other update information when updating the self-update information And a contention determination unit for determining contention in the update of the multiplexed database.

前記目的を達成するために、本発明に係るデータベース管理プログラムは、複数の同じ内容のデータベースに通信可能に接続されて多重化されたデータベースのうち少なくとも1つを備える計算機の制御装置に実行させるデータベース管理プログラムであって、前記自己の計算機が保有するデータベースの自己更新情報と、前記自己が保有するデータベース以外のデータベースの他の更新情報とを各データベース毎に分けて記憶部に保有させる機能と、前記自己情報を更新する際に、前記他の更新情報を参照することで、前記多重化されたデータベースの更新における競合を判定する機能と、を前記制御装置に実現させることを特徴とする。   In order to achieve the above object, a database management program according to the present invention is a database that is executed by a computer control apparatus including at least one of a plurality of databases that are connected to be communicably connected to a plurality of databases having the same contents. A management program, the function of causing the storage unit to store the self-update information of the database held by the own computer and other update information of the database other than the database held by the self for each database; When the self-information is updated, the control device is configured to refer to the other update information to determine a conflict in updating the multiplexed database.

本発明によれば、データベースを地理的に分散させた状態であっても、データベースの更新における競合を判定することができる。このため、共有ディスク装置を使用しない安価なハードウェア構成を前提として、分散トランザクション方式によるデータベース制御システムよりも単純な構成にすることができる。   According to the present invention, it is possible to determine a conflict in updating a database even when the database is geographically dispersed. Therefore, on the premise of an inexpensive hardware configuration that does not use a shared disk device, the configuration can be made simpler than a database control system using a distributed transaction method.

本発明の第1実施形態に係るデータベース制御システムの構成図である。1 is a configuration diagram of a database control system according to a first embodiment of the present invention. 本発明の第1実施形態に係るデータベース制御システムを構成するノードの機能構成図である。It is a functional block diagram of the node which comprises the database control system which concerns on 1st Embodiment of this invention. 本発明の第1実施形態に係るノードが備えるredoログの一例を示す図である。It is a figure which shows an example of the redo log with which the node which concerns on 1st Embodiment of this invention is provided. 本発明の第1実施形態に係るノードが相互に送信しあうredoログ情報の一例を示す図である。It is a figure which shows an example of the redo log information which the node which concerns on 1st Embodiment of this invention transmits mutually. 本発明の第1実施形態に係るデータベース制御システムのデータベース更新動作(更新データの競合なし)を説明する動作説明図である。It is operation | movement explanatory drawing explaining the database update operation | movement (no conflict of update data) of the database control system which concerns on 1st Embodiment of this invention. 本発明の第1実施形態に係るデータベース制御システムのデータベース更新動作(更新データの競合なし)の各ステップ後のredoログの状態を示す図である。It is a figure which shows the state of the redo log after each step of the database update operation | movement (no conflict of update data) of the database control system which concerns on 1st Embodiment of this invention. 本発明の第1実施形態に係るデータベース制御システムのデータベース更新動作(更新データの競合なし)の各ステップ後のredoログの状態を示す図である。It is a figure which shows the state of the redo log after each step of the database update operation | movement (no conflict of update data) of the database control system which concerns on 1st Embodiment of this invention. 本発明の第1実施形態に係るデータベース制御システムのデータベース更新動作(更新データの競合あり)を説明する動作説明図である。It is operation | movement explanatory drawing explaining the database update operation | movement (with competition of update data) of the database control system which concerns on 1st Embodiment of this invention. 本発明の第1実施形態に係るデータベース制御システムのデータベース更新動作(更新データの競合あり)の各ステップ後のredoログの状態を示す図である。It is a figure which shows the state of the redo log after each step of the database update operation | movement (with conflict of update data) of the database control system which concerns on 1st Embodiment of this invention. 本発明の第2実施形態に係るデータベース制御システムを構成するノードの機能構成図である。It is a functional block diagram of the node which comprises the database control system which concerns on 2nd Embodiment of this invention. 本発明の第2実施形態に係るデータベース制御システムのデータベース更新動作(更新データの競合あり)を説明する動作説明図である。It is operation | movement explanatory drawing explaining the database update operation | movement (with competition of update data) of the database control system which concerns on 2nd Embodiment of this invention. (a)従来の構成要素(分散トランザクション)、(b)従来の構成要素(共有ディスク)を示す構成図である。It is a block diagram which shows the conventional component (distributed transaction) and (b) the conventional component (shared disk).

≪第1実施形態に係るデータベース制御システムの構成≫
<概要>
図1は、第1実施形態に係るデータベース制御システムの構成図である。
データベース制御システム1は、ノード2A,2B(以下、まとめてノード2と呼ぶときがある),クライアント8A,8B,・・8X(以下、まとめてクライアント8と呼ぶときがある),及びネットワーク9を備えて構成される。データベース制御システム1は、クライアント8がネットワーク9を介してノード2が備える記憶装置200A,200B(以下、まとめて記憶装置200と呼ぶときがある)内に記憶されているデータベース(DB)220A,220B(以下、まとめてデータベース(DB)220と呼ぶときがある)を更新する。データベース220の更新は、制御装置100に記憶されるredoログ120,130(図2参照)を使って行われる。データベース220の更新処理についての詳細は後述する。
<< Configuration of Database Control System According to First Embodiment >>
<Overview>
FIG. 1 is a configuration diagram of a database control system according to the first embodiment.
The database control system 1 includes nodes 2A, 2B (hereinafter sometimes collectively referred to as node 2), clients 8A, 8B,... 8X (hereinafter sometimes collectively referred to as client 8), and network 9 It is prepared for. The database control system 1 includes databases (DB) 220A and 220B stored in storage devices 200A and 200B (hereinafter sometimes collectively referred to as storage devices 200) provided in the node 2 by the client 8 via the network 9. (Hereinafter sometimes referred to collectively as the database (DB) 220) is updated. The database 220 is updated using the redo logs 120 and 130 (see FIG. 2) stored in the control device 100. Details of the update processing of the database 220 will be described later.

ここで、データベース220A,及びデータベース220Bは同じ内容である。データベース制御システム1では、データベース220の更新に際し、クライアント8はノード2A,又はノード2Bのどちらかにアクセスし、一方のデータベース220A,又はデータベース220Bを更新する。更新したデータベース220を備える一方のノード2は、他方のノード2に更新情報を送信し、更新情報を受信した他方のノード2は、受信した更新情報を基に自己のデータベース220を更新する。このように、第1実施形態に係るデータベース制御システム1では、ノード2が相互に自己のデータベース220の更新情報を送信しあうことで、データベース220の内容の同一性を図っている。   Here, the database 220A and the database 220B have the same contents. In the database control system 1, when updating the database 220, the client 8 accesses either the node 2A or the node 2B and updates one of the databases 220A or 220B. One node 2 provided with the updated database 220 transmits update information to the other node 2, and the other node 2 that has received the update information updates its own database 220 based on the received update information. As described above, in the database control system 1 according to the first embodiment, the nodes 2 transmit update information of their own databases 220 to each other so that the contents of the databases 220 are identical.

図1に示すデータベース制御システム1は、データベース220を2重化する構成としているが、より多数のノード2を接続してデータベース220を3重,4重又はそれ以上の多重に構成してもよい。その場合、更新したデータベース220を備えるノード2は、多重化されたデータベース220を備えるすべてのノード2に対して、自己のデータベース220の更新情報を送信することになる。   The database control system 1 shown in FIG. 1 has a configuration in which the database 220 is duplicated. However, the database 220 may be configured in a triple, quadruple or more multiplex by connecting a larger number of nodes 2. . In that case, the node 2 including the updated database 220 transmits the update information of its own database 220 to all the nodes 2 including the multiplexed database 220.

また、データベース制御システム1は、ノード2Aをあるローカルネットワークに接続し、ノード2Bをノード2Aが属するローカルネットワークとは異なるローカルネットワークに接続し、それぞれのローカルネットワークをグローバルネットワークに接続するようにしてもよい。このような構成にすれば、ノード2を地理的に離した場所に設置することが可能となる。
以下、データベース制御システム1の各構成装置について説明する。
Further, the database control system 1 connects the node 2A to a certain local network, connects the node 2B to a local network different from the local network to which the node 2A belongs, and connects each local network to the global network. Good. With such a configuration, the node 2 can be installed in a geographically separated place.
Hereinafter, each component apparatus of the database control system 1 will be described.

<ノード>
ノード2は、ネットワークに接続され、データベースを備えるディスク装置である。例えば、3層アーキテクチャのクライアントサーバシステムにおけるデータアクセス層の処理を行うサーバ,集中処理システムにおけるホストコンピュータ等を含む広い概念である。
ノード2の構成は、装置の種類によって異なるが、クライアントサーバシステムにおけるサーバの場合には、例えば、制御装置100,記憶装置200,入力装置3,表示装置4,通信装置5,タイマ6で構成される。
<Node>
The node 2 is a disk device that is connected to a network and includes a database. For example, it is a broad concept including a server that performs processing of a data access layer in a client server system of a three-tier architecture, a host computer in a centralized processing system, and the like.
The configuration of the node 2 differs depending on the type of device, but in the case of a server in a client server system, for example, it is composed of a control device 100, a storage device 200, an input device 3, a display device 4, a communication device 5, and a timer 6. The

(制御装置)
制御装置100は、CPU,メモリ(記憶部),及びこれらの周辺回路等(いずれも図示せず)から構成される。制御装置100は、記憶装置200に記憶されるDBMS(DataBase Management System:データベース管理システム(データベース管理プログラム))210,及びOS(Operating System)230をメモリにロードし実行することで、様々な機能を実現する。制御装置100が備える機能については後記する。
(Control device)
The control device 100 includes a CPU, a memory (storage unit), and peripheral circuits thereof (not shown). The control device 100 loads and executes a DBMS (DataBase Management System) 210 and an OS (Operating System) 230 stored in the storage device 200 to execute various functions. Realize. Functions provided in the control device 100 will be described later.

(記憶装置)
記憶装置200は、HDD(Hard Disk Drive)等で構成され、DBMS210,DB220,及びOS230を記憶する。DBMS210は、データベースとして蓄えた情報を制御し、活用するためのソフトウェアである。DB220は、DBMS210の管理下で記憶装置200に記憶されているデータである。OS230は、ノード2のコンピュータシステムを管理し、基本的なユーザ操作環境を提供するソフトウェアである。
DB220は、複数のファイルにより構成されている。DB220を構成するファイルについては後記する。
(Storage device)
The storage device 200 is configured by an HDD (Hard Disk Drive) or the like, and stores DBMS 210, DB 220, and OS 230. The DBMS 210 is software for controlling and utilizing information stored as a database. The DB 220 is data stored in the storage device 200 under the management of the DBMS 210. The OS 230 is software that manages the computer system of the node 2 and provides a basic user operation environment.
The DB 220 is composed of a plurality of files. The files that make up the DB 220 will be described later.

(入力装置,表示装置,通信装置,タイマ)
入力装置3は、キーボード,マウス等の操作入力用デバイスを含み、ノード2の操作者の入力操作を受け入れて、制御装置100に対して出力する。
表示装置4は、LCD,CRT等であって、制御装置100から渡される出力画像等を表示する。
通信装置5は、LAN用のアダプタ装置,ISDN通信回線用のTA,又はモデム等であって、制御装置100の指示に従って動作し、ネットワーク9を介してノード2又はクライアント8とデータの送受信を行う。
タイマ6は、ノード2の時計であり、RTC(Real Time Clock)等で構成される。タイマ6は、制御装置100に時刻をデータとして提供する。
(Input device, display device, communication device, timer)
The input device 3 includes operation input devices such as a keyboard and a mouse, receives an input operation of the operator of the node 2, and outputs it to the control device 100.
The display device 4 is an LCD, a CRT, or the like, and displays an output image or the like delivered from the control device 100.
The communication device 5 is a LAN adapter device, an ISDN communication line TA, or a modem, and operates according to instructions from the control device 100 to transmit / receive data to / from the node 2 or the client 8 via the network 9. .
The timer 6 is a clock of the node 2, and is composed of an RTC (Real Time Clock) or the like. The timer 6 provides time to the control device 100 as data.

<クライアント>
クライアント8は、ネットワーク9を介してノード2が備えるDB220の更新を要求する装置である。クライアント8は、PC(Personal Computer),携帯端末等で構成される。
<Client>
The client 8 is a device that requests an update of the DB 220 included in the node 2 via the network 9. The client 8 is composed of a PC (Personal Computer), a portable terminal, or the like.

<ネットワーク>
ネットワーク9は、LAN(Local Area Network),WAN(Wide Area Network)等であり、有線,無線のどちらか一方,又は両方で構成され、データ通信を実現する。
有線の例としては、光ファイバ,一般電話回線,専用線等が挙げられ、無線の例としては、赤外線等の電波が挙げられる。
<Network>
The network 9 is a LAN (Local Area Network), a WAN (Wide Area Network), or the like, and is configured by one or both of wired and wireless, and realizes data communication.
Examples of the cable include an optical fiber, a general telephone line, a dedicated line, and the like, and examples of the wireless include radio waves such as infrared rays.

≪第1実施形態に係るデータベース制御システムを構成するノードの機能及び使用するフォーマット≫
<ノードが備える機能>
(概要)
図2は、第1実施形態に係るデータベース制御システムを構成するノードの機能構成図である。図2では、各機能を「○○部」と記載している。
ノード2は、第1実施形態に係るデータベース制御システム1を実現するために、図2に示す機能を有する。図2に記載される各部110,111,112,113,114は、DBMS210をメモリにロードし、CPUにより実行されることで実現される。通信部140は、OS230をメモリにロードし、CPUにより実行されることで実現される。また、ログ120,130はメモリ上に領域として確保される。
図2には、説明の便宜上、第1実施形態に係るデータベース制御システム1を説明するのに必要な機能以外の機能を図示していない。例えば、入力装置3,表示装置4,及びタイマ6を管理する機能等は図示していない。
<< Functions of nodes constituting the database control system according to the first embodiment and formats used >>
<Functions of the node>
(Overview)
FIG. 2 is a functional configuration diagram of nodes constituting the database control system according to the first embodiment. In FIG. 2, each function is described as “XX section”.
The node 2 has the functions shown in FIG. 2 in order to realize the database control system 1 according to the first embodiment. Each unit 110, 111, 112, 113, 114 described in FIG. 2 is realized by loading the DBMS 210 into a memory and being executed by the CPU. The communication unit 140 is realized by loading the OS 230 into a memory and being executed by the CPU. The logs 120 and 130 are secured as areas on the memory.
For convenience of explanation, FIG. 2 does not show functions other than those necessary for explaining the database control system 1 according to the first embodiment. For example, functions for managing the input device 3, the display device 4, and the timer 6 are not shown.

(データベース(DB))
DB220は、redoログファイル221,制御ファイル222,及びデータファイル223の3つのファイルで構成される。
redoログファイル221は、データファイル223の更新情報を記憶しておくファイルである。制御ファイル222は、redoログファイル221やデータファイル223のファイル名と保存場所を記録しておくファイルである。データファイル223は、実際のデータが入っているファイルである。
(Database (DB))
The DB 220 includes three files: a redo log file 221, a control file 222, and a data file 223.
The redo log file 221 is a file that stores update information of the data file 223. The control file 222 is a file in which file names and storage locations of the redo log file 221 and the data file 223 are recorded. The data file 223 is a file containing actual data.

(redoログ)
更新情報としてのredoログ120,130は、DB220の変更履歴データであり、その構成を図3に示す。redoログ120,130の1エントリは、タイムスタンプ欄121,131、トランザクション番号欄122,132、DB操作コード欄123,133、DB操作アドレス欄124,134、DB操作パラメタ欄125,135で構成される。
redoログ120,130は、DB220についての処理が行われるたびに、エントリが追加されていく。
なお、図2は、ノード2が2重化された場合の構成であり、仮にノード2が3重化,4重化された場合、各ノード2が備えるredoログの数は、ノード2の数分になり、3つ,4つとなる。
(Redo log)
The redo logs 120 and 130 as update information are the change history data of the DB 220, and the configuration thereof is shown in FIG. One entry of the redo logs 120 and 130 includes time stamp fields 121 and 131, transaction number fields 122 and 132, DB operation code fields 123 and 133, DB operation address fields 124 and 134, and DB operation parameter fields 125 and 135. The
Entries are added to the redo logs 120 and 130 every time processing for the DB 220 is performed.
FIG. 2 shows a configuration in which the nodes 2 are duplicated. If the nodes 2 are tripled or quadrupled, the number of redo logs included in each node 2 is the number of nodes 2. Minutes, three and four.

(redoログ更新部)
図2に示す、redoログ更新部111は、基本的にはredoログ120,130を更新する機能である。
以下、redoログ更新部111の機能を自己のノード2でトランザクションが発生した場合と、他のノード2でトランザクションが発生した場合とに分けて説明する。
(1)自己のノードでトランザクションが発生した場合
redoログ更新部111は、トランザクション(以下、「Tx」と称す場合がある)の開始時,DB220の更新操作(update,delete,insert)実行時,及びcommit(結果確定)実行時に、自ノード用redoログ120にエントリを1行追加する。具体的には、以下の(a)〜(c)の内容を設定したエントリを1行追加する。
(Redo log update unit)
The redo log update unit 111 shown in FIG. 2 is basically a function for updating the redo logs 120 and 130.
Hereinafter, the function of the redo log update unit 111 will be described separately when a transaction occurs in its own node 2 and when a transaction occurs in another node 2.
(1) When a transaction occurs in its own node The redo log update unit 111 starts a transaction (hereinafter sometimes referred to as “Tx”), executes an update operation (update, delete, insert) of the DB 220, When a commit (result confirmation) is executed, an entry is added to the redo log 120 for the own node. Specifically, an entry in which the following contents (a) to (c) are set is added.

(a)Tx開始時
redoログ更新部111は、自ノード用redoログ120のタイムスタンプ欄121に「時刻」を設定し、トランザクション番号欄122に「任意のTx番号」を設定する。
(b)DBの更新操作実行時
redoログ更新部111は、自ノード用redoログ120のタイムスタンプ欄121に「時刻」を設定し、トランザクション番号欄122に「Tx開始時に設定したTx番号」を設定し、DB操作コード欄123に「update」,「delete」,「insert」のうちのいずれかを設定し、DB操作アドレス欄124に「更新対象レコードのアドレス」を設定し、DB操作パラメタ欄125に「DBの更新内容」を設定する。
DB操作コード欄123に「update」,「delete」,「insert」のうちのいずれかを設定するかは、更新対象レコードを更新するのか、削除するのか、それとも新たにレコードを追加するのかにより決定される。
(A) At the start of Tx The redo log update unit 111 sets “time” in the time stamp column 121 of the redo log 120 for the own node, and sets “arbitrary Tx number” in the transaction number column 122.
(B) When executing DB update operation The redo log update unit 111 sets “time” in the time stamp column 121 of the redo log 120 for the own node, and sets “Tx number set at the start of Tx” in the transaction number column 122. And set any one of “update”, “delete”, and “insert” in the DB operation code column 123, set “address of update target record” in the DB operation address column 124, and set the DB operation parameter column 125, “DB update contents” is set.
Whether to set “update”, “delete”, or “insert” in the DB operation code field 123 depends on whether the update target record is updated, deleted, or newly added. Is done.

(c)commit(結果確定)実行時
redoログ更新部111は、自ノード用redoログ120のタイムスタンプ欄121に「時刻」を設定し、トランザクション番号欄122に「Tx開始時に設定したTx番号」を設定し、DB操作コード欄123に「commit」又は「rollback」を設定する。
DB操作コード欄123に「commit」,「rollback」のどちらを設定するかは、後述する更新対象競合判定部112(図2参照)で更新対象レコードに競合がないと判定された場合は「commit」を設定し、更新対象レコードに競合があると判定された場合は「rollback」を設定する。
(C) When executing commit (result confirmation) The redo log update unit 111 sets “time” in the time stamp column 121 of the redo log 120 for the own node, and “Tx number set at the start of Tx” in the transaction number column 122. Is set, and “commit” or “rollback” is set in the DB operation code column 123.
Whether “commit” or “rollback” is set in the DB operation code field 123 is determined by “commit” when the update target conflict determination unit 112 (see FIG. 2) described later determines that there is no conflict in the update target record. ”Is set, and“ rollback ”is set when it is determined that there is a conflict in the update target record.

また、redoログ更新部111は、自ノード用redoログ120にエントリを追加するたびに、図4に示すredoログ情報300を作成する。すなわち、redoログ更新部111は、(a)Tx開始時,(b)DBの更新操作実行時,(c)commit実行時のすべてのタイミングでredoログ情報300を作成する。redoログ情報300の構成は、redoログ120,130の1エントリの構成と同じである。redoログ更新部111は、redoログ情報300の各欄に、自ノード用redoログ120の同一欄名に設定した内容と同じ内容を設定する。
redoログ更新部111は、作成したredoログ情報300を、他のノード2に対して送信するように通信部140に指示する。通信部140(図2参照)は、redoログ情報300を、TCP(Transmission Control Protocol),IP(Internet Protocol)等の通信規約に従ってパケット化し、通信装置5(図1参照)を介して他のノード2に送信する。
Also, the redo log update unit 111 creates redo log information 300 shown in FIG. 4 each time an entry is added to the redo log 120 for the own node. That is, the redo log update unit 111 creates the redo log information 300 at all timings of (a) Tx start, (b) DB update operation execution, and (c) commit execution. The configuration of the redo log information 300 is the same as the configuration of one entry of the redo logs 120 and 130. The redo log update unit 111 sets the same contents as the contents set in the same field name of the redo log 120 for the own node in each field of the redo log information 300.
The redo log update unit 111 instructs the communication unit 140 to transmit the created redo log information 300 to the other nodes 2. The communication unit 140 (see FIG. 2) packetizes the redo log information 300 in accordance with a communication protocol such as TCP (Transmission Control Protocol), IP (Internet Protocol), etc., and other nodes via the communication device 5 (see FIG. 1). 2 to send.

(2)他のノードでトランザクションが発生した場合
redoログ更新部111は、他のノード2から受信したredoログ情報300を基に、他ノード用redoログ130にエントリを追加する。具体的には、redoログ更新部111は、他ノード用redoログ130の各欄に、redoログ情報300の同一欄名に格納されている内容と同じ内容を設定し、エントリを追加する。これにより、一方のノード2の自ノード用redoログ120の内容と、他方のノード2の他ノード用redoログ130の内容は一致される。
(2) When a transaction occurs in another node The redo log update unit 111 adds an entry to the redo log 130 for another node based on the redo log information 300 received from the other node 2. Specifically, the redo log update unit 111 sets the same content as the content stored in the same column name of the redo log information 300 in each column of the redo log 130 for other nodes, and adds an entry. As a result, the contents of the own node redo log 120 of one node 2 and the contents of the other node redo log 130 of the other node 2 are matched.

(更新対象競合判定部)
図2に示す更新対象競合判定部112は、自己のノード2でトランザクションが発生し、かつ、commitを行うときに、自己のノード2と他のノード2とで更新対象レコードが競合したか否かの判定を行う。更新対象競合判定部112は、更新対象レコードの競合の判定を、トランザクションの開始からcommitを行うときまでの時間帯について、他ノード用redoログ130の内容を調べることにより行う。
具体的には、更新対象競合判定部112は、自己のノード2でトランザクションが開始してからcommitを行うときまでの時間帯において、自ノード用redoログ120に追加したエントリのDB操作アドレス欄124に設定したアドレスと、他ノード用redoログ130に追加したエントリのDB操作アドレス欄134に設定したアドレスとが一致し、かつ、他ノード用redoログ130に、DB操作コード欄133に「commit」が設定されたエントリが追加されている場合に更新対象レコードが競合したと判定する。
(Update conflict determination unit)
The update target conflict determination unit 112 illustrated in FIG. 2 determines whether or not an update target record conflicts between the own node 2 and another node 2 when a transaction occurs in the own node 2 and the commit is performed. Judgment is made. The update target conflict determination unit 112 determines the conflict of the update target record by examining the contents of the redo log 130 for other nodes for the time period from the start of the transaction to when the commit is performed.
Specifically, the update target conflict determination unit 112 has a DB operation address column 124 of the entry added to the redo log 120 for the own node in the time period from when the transaction is started at the own node 2 until the commit is performed. And the address set in the DB operation address column 134 of the entry added to the other node redo log 130 match, and in the other node redo log 130, the DB operation code column 133 shows “commit”. It is determined that the record to be updated has conflicted when an entry in which is set is added.

仮に、自ノード用redoログ120のDB操作アドレス欄124と、他ノード用redoログ130のDB操作アドレス欄134とに設定したアドレスが一致しても、他ノード用redoログ130に、DB操作コード欄133に「commit」が設定されたエントリが追加されていなければ更新対象レコードが競合したと判定しない。この場合には、他のノード2の更新対象競合判定部112が、更新対象レコードが競合したと判定することになる。すなわち、更新対象レコードが競合した場合に、先にcommitが行われた更新処理を優先する。   Even if the addresses set in the DB operation address field 124 of the local node redo log 120 and the DB operation address field 134 of the other node redo log 130 match, the DB operation code is stored in the other node redo log 130. If an entry in which “commit” is set in the column 133 is not added, it is not determined that the update target record has conflicted. In this case, the update target conflict determination unit 112 of the other node 2 determines that the update target record has conflicted. In other words, when the update target record competes, the update process in which the commit is performed first is given priority.

(redoログファイル更新部)
図2に示すredoログファイル更新部113は、自ノード用redoログ120に、DB操作コード欄123に「commit」が設定されたエントリが追加されたときに、自ノード用redoログ120の内容をredoログファイル221に書き出す。
また、redoログファイル更新部113は、他ノード用redoログ130に、DB操作コード欄133に「commit」が設定されたエントリが追加さたときに、他ノード用redoログ130の内容をredoログファイル221に書き出す。
(Redo log file update part)
The redo log file update unit 113 shown in FIG. 2 reads the contents of the local node redo log 120 when an entry in which “commit” is set in the DB operation code column 123 is added to the local node redo log 120. Write to the redo log file 221.
The redo log file update unit 113 also adds the contents of the redo log 130 for another node to the redo log 130 for another node when an entry in which “commit” is set in the DB operation code column 133 is added. Write to file 221.

(データファイル更新部)
図2に示すデータファイル更新部114は、任意のタイミングでredoログファイル221の内容をデータファイル223に更新する。
(Data file update part)
The data file update unit 114 illustrated in FIG. 2 updates the contents of the redo log file 221 to the data file 223 at an arbitrary timing.

≪第1実施形態に係るデータベース制御システムのデータベース更新動作≫
以下、図5から図9を参照して第1実施形態に係るデータベース制御システムのデータベース更新動作について説明する。
図5は、第1実施形態に係るデータベース制御システムのデータベース更新動作(更新データの競合なし)の説明図である。
図5は、ノード2AでTxAが、ノード2BでTxBがほぼ同時に実行される場合の処理の流れを示している。TxAは、アドレス#0001のレコードを更新し、TxBは、アドレス#0002のレコードを更新するので、TxAとTxBとでは更新対象レコードが競合しない。他ノード用redoログ130上の白抜き矢印は、更新対象競合判定部112が競合判定を行う時間帯を表している。
<< Database Update Operation of Database Control System According to First Embodiment >>
The database update operation of the database control system according to the first embodiment will be described below with reference to FIGS.
FIG. 5 is an explanatory diagram of a database update operation (no conflict of update data) of the database control system according to the first embodiment.
FIG. 5 shows the flow of processing when TxA is executed at the node 2A and TxB is executed at the node 2B almost simultaneously. Since TxA updates the record at address # 0001 and TxB updates the record at address # 0002, the update target record does not compete between TxA and TxB. A white arrow on the redo log 130 for other nodes represents a time zone in which the update target conflict determination unit 112 performs the conflict determination.

なお、説明に際して、redoログ120,130及びredoログ情報300のデータの設定の記載については、一部省略する。
また、各ステップ後の、ノード2Aの自ノード用redoログ120A,及びノード2Bの他ノード用redoログ130Bの状態、さらに、ノード2Bの自ノード用redoログ120B,及びノード2Aの他ノード用redoログ130Aの状態を図6A(a)〜(c),及び図6B(a)〜(c)に示す。
In the description, some descriptions of data settings of the redo logs 120 and 130 and the redo log information 300 are omitted.
In addition, after each step, the status of the redo log 120A for the node 2A and the redo log 130B for the other node of the node 2B, the redo log 120B for the own node of the node 2B, and the redo for the other node of the node 2A The state of the log 130A is shown in FIGS. 6A (a) to (c) and FIGS. 6B (a) to (c).

(ステップS001A)
ノード2Aのredoログ更新部111Aは、TxAの開始とともに、トランザクション番号欄122Aに「任意のTx番号」を設定したエントリを自ノード用redoログ120Aに1行追加する。また、redoログ更新部111Aは、追加したエントリと同じ内容でredoログ情報300を作成し、このredoログ情報300をノード2Bに送信する。
ノード2Bのredoログ更新部111Bは、受信したredoログ情報300を基に、他ノード用redoログ130Bにエントリを1行追加する。
(Step S001A)
The redo log update unit 111A of the node 2A adds one line to the redo log 120A for the own node with the start of TxA and an entry in which “arbitrary Tx number” is set in the transaction number column 122A. Also, the redo log update unit 111A creates redo log information 300 with the same contents as the added entry, and transmits the redo log information 300 to the node 2B.
Based on the received redo log information 300, the redo log updating unit 111B of the node 2B adds one line to the redo log 130B for other nodes.

(ステップS001B)
ノード2Bのredoログ更新部111Bは、TxBの開始とともに、トランザクション番号欄122Bに「任意のTx番号」を設定したエントリを自ノード用redoログ120Bに1行追加する。また、redoログ更新部111Bは、追加したエントリと同じ内容でredoログ情報300を作成し、このredoログ情報300をノード2Aに送信する。
ノード2Aのredoログ更新部111Aは、受信したredoログ情報300を基に、他ノード用redoログ130Aにエントリを1行追加する。
(Step S001B)
The redo log updating unit 111B of the node 2B adds one line to the local node redo log 120B with the start of TxB, in which an “arbitrary Tx number” is set in the transaction number column 122B. Also, the redo log update unit 111B creates redo log information 300 with the same content as the added entry, and transmits the redo log information 300 to the node 2A.
Based on the received redo log information 300, the redo log updating unit 111A of the node 2A adds one line to the redo log 130A for other nodes.

(ステップS002A)
ノード2Aのredoログ更新部111Aは、DB操作コード欄123Aに「update」を設定し、DB操作アドレス欄124Aに「0001」を設定し、DB操作パラメタ欄125Aに「AAAAA」を設定したエントリを、自ノード用redoログ120Aに1行追加する。また、redoログ更新部111Aは、追加したエントリと同じ内容でredoログ情報300を作成し、このredoログ情報300をノード2Bに送信する。
ノード2Bのredoログ更新部111Bは、受信したredoログ情報300を基に、他ノード用redoログ130Bにエントリを1行追加する。
(Step S002A)
The redo log update unit 111A of the node 2A sets an entry in which “update” is set in the DB operation code column 123A, “0001” is set in the DB operation address column 124A, and “AAAAA” is set in the DB operation parameter column 125A. Then, one line is added to the redo log 120A for the own node. Also, the redo log update unit 111A creates redo log information 300 with the same contents as the added entry, and transmits the redo log information 300 to the node 2B.
Based on the received redo log information 300, the redo log updating unit 111B of the node 2B adds one line to the redo log 130B for other nodes.

(ステップS002B)
ノード2Bのredoログ更新部111Bは、DB操作コード欄123Bに「update」を設定し、DB操作アドレス欄124Bに「0002」を設定し、DB操作パラメタ欄125Bに「BBBBB」を設定したエントリを、自ノード用redoログ120Bに1行追加する。また、redoログ更新部111Bは、追加したエントリと同じ内容でredoログ情報300を作成し、このredoログ情報300をノード2Aに送信する。
ノード2Aのredoログ更新部111Aは、受信したredoログ情報300を基に、他ノード用redoログ130Aにエントリを1行追加する。
(Step S002B)
The redo log update unit 111B of the node 2B sets an entry in which “update” is set in the DB operation code column 123B, “0002” is set in the DB operation address column 124B, and “BBBBB” is set in the DB operation parameter column 125B. Then, one line is added to the redo log 120B for the own node. Also, the redo log update unit 111B creates redo log information 300 with the same content as the added entry, and transmits the redo log information 300 to the node 2A.
Based on the received redo log information 300, the redo log updating unit 111A of the node 2A adds one line to the redo log 130A for other nodes.

(ステップS003A)
ノード2Aの更新対象競合判定部112Aは、commitを行うときに、ノード2Aとノード2Bとで更新対象レコードが競合したか否かの判定を行う。ここで、現時点の時刻は「20090101010101005」とする。
更新対象競合判定部112Aは、自ノード用redoログ120Aのタイムスタンプ欄121Aを参照することで、TxAの開始が「20090101010101001」であることを把握し、他ノード用redoログ130Aのタイムスタンプ欄131Aの日時が「20090101010101001」から「20090101010101005」までの間のエントリで自ノード用redoログ120AのDB操作アドレス欄124Aの値と他ノード用redoログ130AのDB操作アドレス欄134Aの値が一致するエントリがあるか否か調べるが、一致するエントリはないと分かる。その為、更新対象競合判定部112Aは、更新対象レコードの競合はないと判定する。
(Step S003A)
When performing a commit, the update target conflict determination unit 112A of the node 2A determines whether or not the update target records have conflicted between the node 2A and the node 2B. Here, the current time is “20090101010101005”.
The update target conflict determination unit 112A refers to the time stamp column 121A of the self-node redo log 120A to grasp that the start of TxA is “20090101010101001”, and the time stamp column 131A of the redo log 130A for other nodes Entries with the date and time of “20090101010101001” to “20090101010101005” matching the values of the DB operation address field 124A of the local node redo log 120A and the DB operation address field 134A of the redo log 130A for other nodes. It is checked whether there is an entry, but it is found that there is no matching entry. Therefore, the update target conflict determination unit 112A determines that there is no conflict of update target records.

次に、ノード2Aのredoログ更新部111Aは、更新対象レコードの競合はないと判定されたので、DB操作コード欄123Aに「commit」を設定したエントリを、自ノード用redoログ120Aに1行追加する。また、redoログ更新部111Aは、追加したエントリと同じ内容でredoログ情報300を作成し、このredoログ情報300をノード2Bに送信する。さらに、redoログファイル更新部113Aは、自ノード用redoログ120Aの内容をredoログファイル221Aに書き出す。
ノード2Bのredoログ更新部111Bは、受信したredoログ情報300を基に、他ノード用redoログ130Bにエントリを1行追加する。さらに、redoログファイル更新部113Bは、他ノード用redoログ130Bの内容をredoログファイル221Bに書き出す。
Next, the redo log update unit 111A of the node 2A determines that there is no conflict in the update target record, so an entry in which “commit” is set in the DB operation code column 123A is stored in the redo log 120A for the own node. to add. Also, the redo log update unit 111A creates redo log information 300 with the same contents as the added entry, and transmits the redo log information 300 to the node 2B. Further, the redo log file update unit 113A writes the contents of the local node redo log 120A to the redo log file 221A.
Based on the received redo log information 300, the redo log updating unit 111B of the node 2B adds one line to the redo log 130B for other nodes. Further, the redo log file update unit 113B writes the contents of the redo log for other nodes 130B to the redo log file 221B.

(ステップS003B)
ノード2Bの更新対象競合判定部112Bは、commitを行うときに、ノード2Aとノード2Bとで更新対象レコードが競合したか否かの判定を行う。ここで、現時点の時刻は「20090101010101006」とする。
更新対象競合判定部112Bは、自ノード用redoログ120Bのタイムスタンプ欄121Bを参照することで、TxBの開始が「20090101010101002」であることを把握し、他ノード用redoログ130Bのタイムスタンプ欄131Bの日時が「20090101010101002」から「20090101010101006」までの間のエントリで自ノード用redoログ120BのDB操作アドレス欄124Bの値と他ノード用redoログ130BのDB操作アドレス欄134Bの値が一致するエントリがあるか否か調べるが、一致するエントリはないと分かる。その為、更新対象競合判定部112Bは、更新対象レコードの競合はないと判定する。
(Step S003B)
When performing a commit, the update target conflict determination unit 112B of the node 2B determines whether or not the update target records have conflicted between the node 2A and the node 2B. Here, the current time is “20090101010101006”.
The update target conflict determination unit 112B refers to the time stamp column 121B of the redo log 120B for the own node to grasp that the start of TxB is “20090101010101002”, and the time stamp column 131B of the redo log 130B for other nodes Entries with the date and time of “20090101010101002” to “20090101010101006” matching the values of the DB operation address field 124B of the local node redo log 120B and the DB operation address field 134B of the redo log 130B for other nodes. It is checked whether there is an entry, but it is found that there is no matching entry. Therefore, the update target conflict determination unit 112B determines that there is no update target record conflict.

次に、ノード2Bのredoログ更新部111Bは、更新対象レコードの競合はないと判定されたので、DB操作コード欄123Bに「commit」を設定したエントリを、自ノード用redoログ120Bに1行追加する。また、redoログ更新部111Bは、追加したエントリと同じ内容でredoログ情報300を作成し、このredoログ情報300をノード2Aに送信する。さらに、redoログファイル更新部113Bは、自ノード用redoログ120Bの内容をredoログファイル221Bに書き出す。
ノード2Aのredoログ更新部111Aは、受信したredoログ情報300を基に、他ノード用redoログ130Aにエントリを1行追加する。さらに、redoログファイル更新部113Aは、他ノード用redoログ130Aの内容をredoログファイル221Aに書き出す。
以上で、第1実施形態に係るデータベース制御システム1のデータベース更新動作(更新データの競合なし)の説明を終了する。
Next, since the redo log update unit 111B of the node 2B has determined that there is no conflict in the update target record, an entry in which “commit” is set in the DB operation code column 123B is stored in the redo log 120B for the own node. to add. Also, the redo log update unit 111B creates redo log information 300 with the same content as the added entry, and transmits the redo log information 300 to the node 2A. Further, the redo log file update unit 113B writes the contents of the local node redo log 120B to the redo log file 221B.
Based on the received redo log information 300, the redo log updating unit 111A of the node 2A adds one line to the redo log 130A for other nodes. Further, the redo log file update unit 113A writes the contents of the redo log for other nodes 130A to the redo log file 221A.
This is the end of the description of the database update operation (no update data conflict) of the database control system 1 according to the first embodiment.

図7は、第1実施形態に係るデータベース制御システムのデータベース更新動作(更新データの競合あり)の説明図である。
図7は、ノード2AでTxAが、ノード2BでTxBがほぼ同時に実行される場合の処理の流れを示している。TxA,TxB共に、アドレス#0001のレコードを更新するので更新対象レコードが競合する。他ノード用redoログ130上の白抜き矢印は、更新対象競合判定部112が競合判定を行う時間帯を表している。
FIG. 7 is an explanatory diagram of a database update operation (with update data conflict) of the database control system according to the first embodiment.
FIG. 7 shows a process flow when TxA is executed at the node 2A and TxB is executed at the node 2B almost simultaneously. Since both TxA and TxB update the record at address # 0001, the update target records compete. A white arrow on the redo log 130 for other nodes represents a time zone in which the update target conflict determination unit 112 performs the conflict determination.

なお、説明に際して、redoログ120,130及びredoログ情報300のデータの設定の記載については、一部省略する。
また、各ステップ後の、ノード2Aの自ノード用redoログ120A,及びノード2Bの他ノード用redoログ130Bの状態、さらに、ノード2Bの自ノード用redoログ120B,及びノード2Aの他ノード用redoログ130Aの状態を図6A(a)〜(c)及び図8(a)〜(c)に示す。
In the description, some descriptions of data settings of the redo logs 120 and 130 and the redo log information 300 are omitted.
In addition, after each step, the status of the redo log 120A for the node 2A and the redo log 130B for the other node of the node 2B, the redo log 120B for the own node of the node 2B, and the redo for the other node of the node 2A The state of the log 130A is shown in FIGS. 6A (a) to 6 (c) and FIGS. 8 (a) to 8 (c).

(ステップS001A,S001B,S002A)
ステップS001A,S001B,S002Aの処理は、前記第1実施形態に係るデータベース制御システムのデータベース更新動作(更新データの競合なし)の説明(図5参照)と同じなので説明を省略する。
(Steps S001A, S001B, S002A)
Since the processing in steps S001A, S001B, and S002A is the same as the description (see FIG. 5) of the database update operation (no conflict of update data) of the database control system according to the first embodiment, the description is omitted.

(ステップS002B)
ノード2Bのredoログ更新部111Bは、DB操作コード欄123Bに「update」を設定し、DB操作アドレス欄124Bに「0001」を設定し、DB操作パラメタ欄125Bに「BBBBB」を設定したエントリを、自ノード用redoログ120Bに1行追加する。また、redoログ更新部111Bは、追加したエントリと同じ内容でredoログ情報300を作成し、このredoログ情報300をノード2Aに送信する。
ノード2Aのredoログ更新部111Aは、受信したredoログ情報300を基に、他ノード用redoログ130Aにエントリを1行追加する。
(Step S002B)
The redo log update unit 111B of the node 2B sets an entry in which “update” is set in the DB operation code column 123B, “0001” is set in the DB operation address column 124B, and “BBBBB” is set in the DB operation parameter column 125B. Then, one line is added to the redo log 120B for the own node. Also, the redo log update unit 111B creates redo log information 300 with the same content as the added entry, and transmits the redo log information 300 to the node 2A.
Based on the received redo log information 300, the redo log updating unit 111A of the node 2A adds one line to the redo log 130A for other nodes.

(ステップS003A)
ノード2Aの更新対象競合判定部112Aは、commitを行うときに、ノード2Aとノード2Bとで更新対象レコードが競合したか否かの判定を行う。ここで、現時点の時刻は「20090101010101005」とする。
更新対象競合判定部112Aは、自ノード用redoログ120Aのタイムスタンプ欄121Aを参照することで、TxAの開始が「20090101010101001」であることを把握し、他ノード用redoログ130Aのタイムスタンプ欄131Aの日時が「20090101010101001」から「20090101010101005」までの間のエントリで、自ノード用redoログ120AのDB操作アドレス欄124Aの値と他ノード用redoログ130AのDB操作アドレス欄134Aの値とが一致するエントリがあるが、DB操作コード欄133Aに「commit」が設定されたエントリがないと分かる。その為、更新対象競合判定部112Aは、更新対象レコードの競合はないと判定する。
(Step S003A)
When performing a commit, the update target conflict determination unit 112A of the node 2A determines whether or not the update target records have conflicted between the node 2A and the node 2B. Here, the current time is “20090101010101005”.
The update target conflict determination unit 112A refers to the time stamp column 121A of the self-node redo log 120A to grasp that the start of TxA is “20090101010101001”, and the time stamp column 131A of the redo log 130A for other nodes In the entry between “20090101010101001” and “20090101010101005”, the value of the DB operation address column 124A of the local node redo log 120A matches the value of the DB operation address column 134A of the redo log 130A for other nodes. It can be seen that there is an entry, but there is no entry in which “commit” is set in the DB operation code column 133A. Therefore, the update target conflict determination unit 112A determines that there is no conflict of update target records.

次に、ノード2Aのredoログ更新部111Aは、更新対象レコードの競合はないと判定されたので、DB操作コード欄123Aに「commit」を設定したエントリを、自ノード用redoログ120Aに1行追加する。また、redoログ更新部111Aは、追加したエントリと同じ内容でredoログ情報300を作成し、このredoログ情報300をノード2Bに送信する。さらに、redoログファイル更新部113Aは、自ノード用redoログ120Aの内容をredoログファイル221Aに書き出す。
ノード2Bのredoログ更新部111Bは、受信したredoログ情報300を基に、他ノード用redoログ130Bにエントリを1行追加する。さらに、redoログファイル更新部113Bは、他ノード用redoログ130Bの内容をredoログファイル221Bに書き出す。
Next, the redo log update unit 111A of the node 2A determines that there is no conflict in the update target record, so an entry in which “commit” is set in the DB operation code column 123A is stored in the redo log 120A for the own node. to add. Also, the redo log update unit 111A creates redo log information 300 with the same contents as the added entry, and transmits the redo log information 300 to the node 2B. Further, the redo log file update unit 113A writes the contents of the local node redo log 120A to the redo log file 221A.
Based on the received redo log information 300, the redo log updating unit 111B of the node 2B adds one line to the redo log 130B for other nodes. Further, the redo log file update unit 113B writes the contents of the redo log for other nodes 130B to the redo log file 221B.

(ステップS003B)
ノード2Bの更新対象競合判定部112Bは、commitを行うときに、ノード2Aとノード2Bとで更新対象レコードが競合したか否かの判定を行う。ここで、現時点の時刻は「20090101010101006」とする。
更新対象競合判定部112Bは、自ノード用redoログ120Bのタイムスタンプ欄121Bを参照することで、TxBの開始が「20090101010101002」であることを把握し、他ノード用redoログ130Bのタイムスタンプ欄131Bの日時が「20090101010101002」から「20090101010101006」までの間のエントリで自ノード用redoログ120BのDB操作アドレス欄124Bの値と他ノード用redoログ130BのDB操作アドレス欄134Bの値とが一致するエントリがあり、かつ、DB操作コード欄133Bに「commit」が設定されたエントリもあると分かる。その為、更新対象競合判定部112Bは、更新対象レコードの競合があると判定する。
(Step S003B)
When performing a commit, the update target conflict determination unit 112B of the node 2B determines whether or not the update target records have conflicted between the node 2A and the node 2B. Here, the current time is “20090101010101006”.
The update target conflict determination unit 112B refers to the time stamp column 121B of the redo log 120B for the own node to grasp that the start of TxB is “20090101010101002”, and the time stamp column 131B of the redo log 130B for other nodes Entries in which the date and time of "20090101010101002" to "20090101010101006" match the value of the DB operation address field 124B of the local node redo log 120B and the value of the DB operation address field 134B of the redo log 130B for other nodes It can be seen that there is also an entry in which “commit” is set in the DB operation code column 133B. Therefore, the update target conflict determination unit 112B determines that there is a conflict of update target records.

次に、ノード2Bのredoログ更新部111Bは、更新対象レコードの競合があると判定されたので、DB操作コード欄123Bに「rollback」を設定したエントリを、自ノード用redoログ120Bに1行追加する。また、redoログ更新部111Bは、追加したエントリと同じ内容でredoログ情報300を作成し、このredoログ情報300をノード2Aに送信する。そして、ノード2Bは、TxBの実行を中止する。
ノード2Aのredoログ更新部111Aは、受信したredoログ情報300を基に、他ノード用redoログ130Aにエントリを1行追加する。
以上で、第1実施形態に係るデータベース制御システムのデータベース更新動作(更新データの競合あり)の説明を終了する。このように、本実施形態に係るデータベース制御システムでは、更新操作において競合があっても、待ちが発生することがない。
Next, since the redo log update unit 111B of the node 2B has determined that there is a conflict with the update target record, an entry in which “rollback” is set in the DB operation code column 123B is added to the redo log 120B for the own node. to add. Also, the redo log update unit 111B creates redo log information 300 with the same content as the added entry, and transmits the redo log information 300 to the node 2A. Then, the node 2B stops the execution of TxB.
Based on the received redo log information 300, the redo log updating unit 111A of the node 2A adds one line to the redo log 130A for other nodes.
This is the end of the description of the database update operation (with update data conflict) of the database control system according to the first embodiment. Thus, in the database control system according to the present embodiment, no waiting occurs even if there is a conflict in the update operation.

≪第2実施形態に係るデータベース制御システムを構成するノードの機能及び使用するフォーマット≫
<ノードが備える機能>
(概要)
第1実施形態に係るノード2(図2参照)では、前記した通り、ノード2間で更新対象レコードが競合した場合に、先にcommitした方を優先する。そして、自ノード用redoログ120と他ノード用redoログ130の情報を比較する際には、各ノード2で同期しているタイマ6(図1参照)に基づいてredoログ120,130のタイムスタンプ欄121,131に書き込まれる時刻の情報を利用して、参照するredoログ120,130の範囲を決定する。
<< Functions of nodes constituting the database control system according to the second embodiment and formats used >>
<Functions of the node>
(Overview)
In the node 2 (see FIG. 2) according to the first embodiment, as described above, when the update target record competes between the nodes 2, the one that has been committed first is given priority. When comparing the information in the redo log 120 for the own node and the redo log 130 for the other node, the time stamps of the redo logs 120 and 130 are based on the timer 6 (see FIG. 1) synchronized with each node 2. The range of the redo logs 120 and 130 to be referred to is determined using the time information written in the fields 121 and 131.

実際には、ノード2間でのredoログ情報300の送信には、ある程度時間がかかるため、commitを行うときに、即時に更新対象レコードの競合を判定することができない。すなわち、自己のノードでcommitを行うときに、自己のノードが備える他ノード用redoログ130には他のノードのcommitの情報が反映されていないが、実際には、他のノードでcommitが行われており、redoログ情報300の伝送遅延により自己のノードが備える他ノード用redoログ130に他のノードのcommitの情報が反映されていない場合である。この場合、自己のノードは、commitを行う時点では他のノードがcommitを行っているのか否かを判定することができない。   Actually, since transmission of the redo log information 300 between the nodes 2 takes some time, it is not possible to immediately determine the conflict of the update target records when performing the commit. That is, when commit is performed on the own node, the information on the commit of the other node is not reflected in the redo log 130 for the other node included in the own node, but actually, the commit is performed on the other node. This is a case where the commit information of the other node is not reflected in the redo log 130 for the other node included in the own node due to the transmission delay of the redo log information 300. In this case, the self node cannot determine whether another node is committing at the time of commit.

そのため、第2実施形態に係るノードは、更新情報がない場合も定期的にタイムスタンプ欄以外はデータを設定しないredoログ情報(以下、空のredoログ情報と称す)を他ノードに送信し、空のredoログ情報を受信したノードは、受信した時刻と空のredoログ情報のタイムスタンプ欄に格納される時刻との差を更新対象レコードが競合したか否かの判定に利用する。
ここで、第2実施形態に係るデータベース制御システムの構成は、図1に示す第1実施形態に係るデータベース制御システム1と同じである。
以下、第2実施形態に係るノードについて説明する。
Therefore, even if there is no update information, the node according to the second embodiment periodically transmits redo log information (hereinafter referred to as empty redo log information) in which data other than the time stamp field is not set to other nodes, The node that has received the empty redo log information uses the difference between the received time and the time stored in the time stamp column of the empty redo log information to determine whether or not the update target record has competed.
Here, the configuration of the database control system according to the second embodiment is the same as the database control system 1 according to the first embodiment shown in FIG.
Hereinafter, the node according to the second embodiment will be described.

図9は、第2実施形態に係るデータベース制御システムを構成するノードの機能構成図である。図9では、各機能を「○○部」と記載している。
第2実施形態に係るノード2は、第1実施形態に係るノード2(図2参照)の機能に加えてさらに、redoログ情報送信遅延演算部115を備える。また、redoログ更新部111,及び更新対象競合判定部112の機能が異なる。それ以外のデータ構成等は第1実施形態と同様である。以下、説明する。
FIG. 9 is a functional configuration diagram of nodes constituting the database control system according to the second embodiment. In FIG. 9, each function is described as “XX section”.
The node 2 according to the second embodiment further includes a redo log information transmission delay calculation unit 115 in addition to the function of the node 2 (see FIG. 2) according to the first embodiment. Further, the redo log update unit 111 and the update target conflict determination unit 112 have different functions. Other data configurations are the same as those in the first embodiment. This will be described below.

(redoログ更新部)
redoログ更新部111は、第1実施形態に係るredoログ更新部111の機能に加えて、以下の機能を備える。
本実施形態に係るredoログ更新部111は、自ノード用redoログ120の更新をしておらず、本来ならば、他ノードに対してredoログ情報を送信する必要がない場合でも、図4に示すタイムスタンプ欄301に「時刻」を設定し、それ以外の欄にはデータを設定しない空のredoログ情報300を、定期的に他のノード2に送信する機能を備える。
(Redo log update unit)
The redo log update unit 111 includes the following functions in addition to the functions of the redo log update unit 111 according to the first embodiment.
The redo log update unit 111 according to the present embodiment does not update the redo log 120 for its own node, and even if it is originally not necessary to transmit redo log information to other nodes, FIG. The time stamp field 301 shown is set to “time”, and the other fields are provided with a function of periodically transmitting empty redo log information 300 with no data set to other nodes 2.

(redoログ情報送信遅延演算部)
redoログ情報送信遅延演算部115は、空のredoログ情報300を受信したら、現在の時刻と、空のredoログ情報300のタイムスタンプ欄301に設定される時刻との時間差をメモリ上に保存する。
ここで、メモリ上に保存する時間差は、現在の時刻と直近の空のredoログ情報300に設定される時刻との単純な時間差だけでなく、現在の時刻と受信した複数個のredoログ情報300に設定されている時刻との平均値との差としてもよい。また、メモリ上に保存される時間差には、上記以外にも種々の影響を考慮した値を設定することができる。
(Redo log information transmission delay calculation unit)
When the redo log information transmission delay calculation unit 115 receives the empty redo log information 300, the redo log information transmission delay calculation unit 115 stores the time difference between the current time and the time set in the time stamp column 301 of the empty redo log information 300 in the memory. .
Here, the time difference stored in the memory is not only a simple time difference between the current time and the time set in the latest empty redo log information 300, but also the current time and a plurality of received redo log information 300. It is good also as a difference with the average value with the time set to. In addition to the above, a value considering various influences can be set for the time difference stored in the memory.

(更新対象競合判定部)
本実施形態に係る更新対象競合判定部112は、自己のノード2でトランザクションが発生し、かつ、commitを行うときに、redoログ情報送信遅延演算部115によりメモリ上に保存された時間差分だけ待って、自己のノード2(2A)と他のノード2(2B)とで更新対象レコードが競合したか否かの判定を行う。
すなわち、更新対象競合判定部112は、トランザクションの開始からcommitを行ったときからメモリ上に保存される時間差分加えた時間帯までの他ノード用redoログ130の内容を調べることで更新対象レコードの競合を判定する。
(Update conflict determination unit)
The update target conflict determination unit 112 according to the present embodiment waits for the time difference stored in the memory by the redo log information transmission delay calculation unit 115 when a transaction occurs in its own node 2 and commit is performed. Then, it is determined whether or not the record to be updated has conflicted between its own node 2 (2A) and another node 2 (2B).
In other words, the update target conflict determination unit 112 checks the contents of the update target record by examining the contents of the redo log 130 for other nodes from the start of the transaction to the time zone added with the time difference stored in the memory. Determine conflicts.

≪第2実施形態に係るデータベース制御システムのデータベース更新動作≫
以下、図10を参照して第2実施形態に係るデータベース制御システムのデータベース更新動作について説明する。
図10は、第2実施形態に係るデータベース制御システムのデータベース更新動作(更新データの競合あり)の説明図である。
図10は、ノード2AでTxAが、ノード2BでTxBがほぼ同時に実行される場合の処理の流れを示している。TxA,TxB共に、アドレス#0001のレコードを更新するので更新対象レコードが競合する。以下、ステップS003Bを使って本実施形態の動作を説明する。
<< Database Update Operation of Database Control System According to Second Embodiment >>
Hereinafter, the database update operation of the database control system according to the second embodiment will be described with reference to FIG.
FIG. 10 is an explanatory diagram of a database update operation (with conflict of update data) of the database control system according to the second embodiment.
FIG. 10 shows a processing flow when TxA is executed at the node 2A and TxB is executed at the node 2B almost simultaneously. Since both TxA and TxB update the record at address # 0001, the update target records compete. The operation of this embodiment will be described below using step S003B.

なお、説明に際して、redoログ120,130及びredoログ情報300のデータの設定の記載については、一部省略する。
また、ステップ後の、ノード2Aの自ノード用redoログ120A,及びノード2Bの他ノード用redoログ130Bの状態、さらに、ノード2Bの自ノード用redoログ120B,及びノード2Aの他ノード用redoログ130Aの状態は図8(a)〜(c)と同じである。
In the description, some descriptions of data settings of the redo logs 120 and 130 and the redo log information 300 are omitted.
In addition, after the step, the status of the redo log 120A for the node 2A and the redo log 130B for the other node of the node 2B, the redo log 120B for the node 2B, and the redo log for the other node of the node 2A The state of 130A is the same as that shown in FIGS.

(ステップS003B)
ノード2Bの更新対象競合判定部112Bは、commitを行う前に、自ノードと他ノードとで更新対象レコードが競合したか否かの判定を行う。ここで、現時点の日時は「20090101010101006」だとする。また、ノード2Bのredoログ情報送信遅延演算部115は、空のredoログ情報を受信して一定の時間差があることを把握し、この時間差をメモリ上に保存している。
(Step S003B)
The update target conflict determination unit 112B of the node 2B determines whether or not the update target record conflicts between the local node and another node before committing. Here, it is assumed that the current date and time is “20090101010101006”. Further, the redo log information transmission delay calculation unit 115 of the node 2B receives empty redo log information, recognizes that there is a certain time difference, and stores this time difference in the memory.

更新対象競合判定部112Bは、現時点からメモリ上に保存した時間差後に更新対象レコードが競合したか否かの判定を行う。更新対象競合判定部112Bは、自ノード用redoログ120Bのタイムスタンプ欄121Bを参照することで、TxBの開始が「20090101010101002」であることを把握し、他ノード用redoログ130Bのタイムスタンプ欄131Bの日時が「20090101010101002」から「20090101010101006」までの間のエントリで自ノード用redoログ120BのDB操作アドレス欄124Bの値と他ノード用redoログ130BのDB操作アドレス欄134Bの値とが一致するエントリがあり、かつ、DB操作コード欄133Bに「commit」が設定されたエントリもあると分かる。その為、更新対象競合判定部112Bは、更新対象レコードの競合があると判定する。   The update target conflict determination unit 112B determines whether or not the update target record has competed after the time difference stored in the memory from the current time. The update target conflict determination unit 112B refers to the time stamp column 121B of the redo log 120B for its own node to grasp that the start of TxB is “20090101010101002”, and the time stamp column 131B of the redo log 130B for other nodes Entries in which the date and time of “20090101010101002” to “20090101010101006” match the value of the DB operation address field 124B of the local node redo log 120B and the value of the DB operation address field 134B of the redo log 130B for other nodes It can be seen that there is also an entry in which “commit” is set in the DB operation code column 133B. Therefore, the update target conflict determination unit 112B determines that there is a conflict of update target records.

仮に、更新対象競合判定部112Bが、現時点「20090101010101006」で競合を判定した場合を想定する。現時点では、ノード2Aのcommit情報がノード2Bに届いていないので、更新対象競合判定部112Bは、実際は競合があるのに、競合なしと判定してしまう。
以上で、第2実施形態に係るデータベース制御システムのデータベース更新動作(更新データの競合あり)の説明を終了する。
It is assumed that the update target conflict determination unit 112B determines a conflict at the current time “20090101010101006”. At this time, since the commit information of the node 2A has not reached the node 2B, the update target conflict determination unit 112B determines that there is actually no conflict but there is no conflict.
This is the end of the description of the database update operation (with update data conflict) of the database control system according to the second embodiment.

なお、本実施形態に係るデータベース制御システムは、自己のノードでcommitを行うときに、自己のノードが備える他ノード用redoログ130には他のノードのcommitの情報が反映されていないが、他のノードでcommitが行われており、redoログ情報300の伝送遅延により自己のノードが備える他ノード用redoログ130に他のノードのcommitの情報が反映されていない場合に有効である。   In the database control system according to the present embodiment, when the commit is performed at the own node, the information on the commit of the other node is not reflected in the redo log 130 for the other node included in the own node. This is effective in the case where commit information is being performed at the other node and the commit information of the other node is not reflected in the redo log 130 for the other node included in the own node due to the transmission delay of the redo log information 300.

(第2実施形態に係るデータベース制御システムの効果)
ノード間の伝送に遅延が生じても、更新対象レコードの競合の判定を行うことが可能になる。
(Effect of the database control system according to the second embodiment)
Even if there is a delay in transmission between nodes, it is possible to determine the conflict of records to be updated.

1 データベース制御システム
2(2A,2B) ノード(計算機)
6(6A,6B) タイマ
100(100A,100B) 制御装置
110(110A,110B) データベース管理部
111(111A,111B) redoログ更新部
112(112A,112B) 更新対象競合判定部
115(115A,115B) redoログ情報送信遅延演算部
120(120A,120B) 自ノード用redoログ(自己更新情報)
130(130A,130B) 他ノード用redoログ(他の更新情報)
200(200A,200B) 記憶装置
210(210A,210B) DBMS(データベース管理プログラム)
220(220A,220B) DB(データベース)
300 redoログ情報(更新データ)
1 Database control system 2 (2A, 2B) Node (computer)
6 (6A, 6B) Timer 100 (100A, 100B) Control device 110 (110A, 110B) Database management unit 111 (111A, 111B) Redo log update unit 112 (112A, 112B) Update target conflict determination unit 115 (115A, 115B) ) Redo log information transmission delay calculation unit 120 (120A, 120B) own node redo log (self update information)
130 (130A, 130B) Redo log for other nodes (other update information)
200 (200A, 200B) Storage device 210 (210A, 210B) DBMS (database management program)
220 (220A, 220B) DB (database)
300 redo log information (update data)

Claims (6)

複数の同じ内容のデータベースに通信可能に接続されて多重化されたデータベースのうち少なくとも1つを備える計算機であって、
自己が保有するデータベースの自己更新情報と、自己が保有するデータベース以外のデータベースの他の更新情報とを各データベース毎に分けて保有する記憶部と、
前記自己更新情報を更新する際に、前記他の更新情報を参照することで、前記多重化されたデータベースの更新における競合を判定する競合判定部と、
を備えることを特徴とする計算機。
A computer comprising at least one database multiplexed in communication with a plurality of databases having the same contents,
A storage unit that holds the self-update information of the database owned by itself and other update information of the database other than the database owned by the self for each database,
When updating the self-update information, by referring to the other update information, a contention determination unit that determines contention in the update of the multiplexed database,
A computer comprising:
前記他の更新情報は、自己以外の計算機が各々備えるデータベースの更新データを受信したときに前記記憶部に記憶される、
ことを特徴とする請求項1に記載の計算機。
The other update information is stored in the storage unit when update data of a database provided in a computer other than the self is received,
The computer according to claim 1.
前記競合判定部は、前記自己更新情報の更新の開始から結果確定までの時間帯で、前記自己更新情報の更新対象レコードのアドレスと前記他の更新情報の更新対象レコードのアドレスとが一致し、かつ、他の更新情報の更新処理が結果確定している場合に前記多重化されたデータベースの更新が競合したと判定する、
ことを特徴とする請求項2に記載の計算機。
In the time period from the start of updating the self-update information to the result confirmation, the conflict determination unit matches the address of the update target record of the self-update information and the address of the update target record of the other update information, And it is determined that the update of the multiplexed database has conflicted when the update processing of other update information is confirmed as a result,
The computer according to claim 2.
自己以外の計算機が発信する発信時刻を記載したデータを受信する時刻と、この発信時刻との時間差を計算する遅延演算部をさらに備え、
前記競合判定部は、前記時間差だけ待って前記多重化されたデータベースの更新が競合したか否かの判定を行う、
ことを特徴とする請求項2又は請求項3に記載の計算機。
It further includes a delay calculation unit that calculates the time difference between the time when the data describing the transmission time transmitted by a computer other than the self is transmitted, and the transmission time,
The contention determination unit waits for the time difference and determines whether the update of the multiplexed database has contention,
The computer according to claim 2 or claim 3, wherein
前記発信する発信時刻を記載したデータは、前記更新データである、
ことを特徴とする請求項4に記載の計算機。
The data describing the transmission time of transmission is the update data.
The computer according to claim 4, wherein:
複数の同じ内容のデータベースに通信可能に接続されて多重化されたデータベースのうち少なくとも1つを備える計算機の制御装置に実行させるデータベース管理プログラムであって、
前記自己の計算機が保有するデータベースの自己更新情報と、前記自己が保有するデータベース以外のデータベースの他の更新情報とを各データベース毎に分けて記憶部に保有させる機能と、
前記自己情報を更新する際に、前記他の更新情報を参照することで、前記多重化されたデータベースの更新における競合を判定する機能と、
を前記制御装置に実現させることを特徴とするデータベース管理プログラム。
A database management program to be executed by a control device of a computer including at least one of a plurality of databases that are communicably connected to a plurality of databases having the same contents,
A function of storing in the storage unit the database self-update information held by the own computer and other update information of the database other than the database held by the self for each database;
A function of determining a conflict in updating the multiplexed database by referring to the other update information when updating the self-information;
A database management program for causing the control device to realize the above.
JP2009228864A 2009-09-30 2009-09-30 Computer and database management program Pending JP2011076487A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009228864A JP2011076487A (en) 2009-09-30 2009-09-30 Computer and database management program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009228864A JP2011076487A (en) 2009-09-30 2009-09-30 Computer and database management program

Publications (1)

Publication Number Publication Date
JP2011076487A true JP2011076487A (en) 2011-04-14

Family

ID=44020383

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009228864A Pending JP2011076487A (en) 2009-09-30 2009-09-30 Computer and database management program

Country Status (1)

Country Link
JP (1) JP2011076487A (en)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013114623A (en) * 2011-11-30 2013-06-10 Fujitsu Ltd Storage device, storage control program, and storage control method
JP2015191307A (en) * 2014-03-27 2015-11-02 日本電気株式会社 transaction system
CN106462449A (en) * 2014-06-26 2017-02-22 亚马逊科技公司 Multi-database log with multi-item transaction support
JP2017531256A (en) * 2014-09-10 2017-10-19 アマゾン・テクノロジーズ・インコーポレーテッド Scalable log-based transaction management
US10346434B1 (en) 2015-08-21 2019-07-09 Amazon Technologies, Inc. Partitioned data materialization in journal-based storage systems
US10373247B2 (en) 2014-09-19 2019-08-06 Amazon Technologies, Inc. Lifecycle transitions in log-coordinated data stores
US10698767B1 (en) 2014-12-22 2020-06-30 Amazon Technologies, Inc. Decentralized management of multi-service workflows
US10866865B1 (en) 2015-06-29 2020-12-15 Amazon Technologies, Inc. Storage system journal entry redaction
US10866968B1 (en) 2015-06-29 2020-12-15 Amazon Technologies, Inc. Compact snapshots of journal-based storage systems
US11048669B2 (en) 2015-12-29 2021-06-29 Amazon Technologies, Inc. Replicated state management using journal-based registers
US11308127B2 (en) 2015-03-13 2022-04-19 Amazon Technologies, Inc. Log-based distributed transaction management
US11341115B2 (en) 2014-06-26 2022-05-24 Amazon Technologies, Inc. Multi-database log with multi-item transaction support
US11397709B2 (en) 2014-09-19 2022-07-26 Amazon Technologies, Inc. Automated configuration of log-coordinated storage groups
US11599520B1 (en) 2015-06-29 2023-03-07 Amazon Technologies, Inc. Consistency management using query restrictions in journal-based storage systems
US11609890B1 (en) 2015-06-29 2023-03-21 Amazon Technologies, Inc. Schema management for journal-based storage systems
US11625700B2 (en) 2014-09-19 2023-04-11 Amazon Technologies, Inc. Cross-data-store operations in log-coordinated storage systems
US11960464B2 (en) 2015-08-21 2024-04-16 Amazon Technologies, Inc. Customer-related partitioning of journal-based storage systems

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013114623A (en) * 2011-11-30 2013-06-10 Fujitsu Ltd Storage device, storage control program, and storage control method
JP2015191307A (en) * 2014-03-27 2015-11-02 日本電気株式会社 transaction system
US10007548B2 (en) 2014-03-27 2018-06-26 Nec Corporation Transaction system
CN106462449B (en) * 2014-06-26 2019-10-29 亚马逊科技公司 The multiple database log supported with entry affairs
CN106462449A (en) * 2014-06-26 2017-02-22 亚马逊科技公司 Multi-database log with multi-item transaction support
JP2017520844A (en) * 2014-06-26 2017-07-27 アマゾン・テクノロジーズ・インコーポレーテッド Multi-database log with multi-item transaction support
US11341115B2 (en) 2014-06-26 2022-05-24 Amazon Technologies, Inc. Multi-database log with multi-item transaction support
JP2017531256A (en) * 2014-09-10 2017-10-19 アマゾン・テクノロジーズ・インコーポレーテッド Scalable log-based transaction management
US11397709B2 (en) 2014-09-19 2022-07-26 Amazon Technologies, Inc. Automated configuration of log-coordinated storage groups
US10373247B2 (en) 2014-09-19 2019-08-06 Amazon Technologies, Inc. Lifecycle transitions in log-coordinated data stores
US11625700B2 (en) 2014-09-19 2023-04-11 Amazon Technologies, Inc. Cross-data-store operations in log-coordinated storage systems
US10698767B1 (en) 2014-12-22 2020-06-30 Amazon Technologies, Inc. Decentralized management of multi-service workflows
US11308127B2 (en) 2015-03-13 2022-04-19 Amazon Technologies, Inc. Log-based distributed transaction management
US11860900B2 (en) 2015-03-13 2024-01-02 Amazon Technologies, Inc. Log-based distributed transaction management
US10866865B1 (en) 2015-06-29 2020-12-15 Amazon Technologies, Inc. Storage system journal entry redaction
US10866968B1 (en) 2015-06-29 2020-12-15 Amazon Technologies, Inc. Compact snapshots of journal-based storage systems
US11599520B1 (en) 2015-06-29 2023-03-07 Amazon Technologies, Inc. Consistency management using query restrictions in journal-based storage systems
US11609890B1 (en) 2015-06-29 2023-03-21 Amazon Technologies, Inc. Schema management for journal-based storage systems
US10346434B1 (en) 2015-08-21 2019-07-09 Amazon Technologies, Inc. Partitioned data materialization in journal-based storage systems
US11960464B2 (en) 2015-08-21 2024-04-16 Amazon Technologies, Inc. Customer-related partitioning of journal-based storage systems
US11048669B2 (en) 2015-12-29 2021-06-29 Amazon Technologies, Inc. Replicated state management using journal-based registers

Similar Documents

Publication Publication Date Title
JP2011076487A (en) Computer and database management program
JP5193056B2 (en) Method and system for maintaining up-to-date data of wireless devices
JP4612715B2 (en) Information processing system, data update method, and data update program
US8095504B2 (en) N-way synchronization of computer databases
JP2948496B2 (en) System and method for maintaining replicated data consistency in a data processing system
US7013316B1 (en) System and method for synchronizing multiple database files
EP1014266B1 (en) Method, apparatus and program storage device for a client and adaptive synchronization and transformation server
US11943291B2 (en) Hosted file sync with stateless sync nodes
EP1636711B1 (en) System and method for distribution of software licenses in a networked computing environment
CN104239439A (en) Selective database replication
US20130117307A1 (en) Snapshot isolation support for distributed query processing in a shared disk database cluster
US20110082833A1 (en) Database parallel editing method
JP2003528395A (en) Method and apparatus for automatically locating data in a computer network
US20060095481A1 (en) Method and system for partition level cleanup of replication conflict metadata
EP2380090B1 (en) Data integrity in a database environment through background synchronization
JP2001142766A (en) Data base exchange system
JP2003296171A (en) Electronic business form management method and program
CN110032544A (en) The right management method and its cloud data-storage system of cloud service
EP1480130A2 (en) Method and apparatus for moving data between storage devices
JP2013037450A (en) Database update controller, database management system, and database update control program
JP2001184248A (en) Data access management device in distributed processing system
US20100293143A1 (en) Initialization of database for synchronization
US8204853B2 (en) Maintaining client data integrity in a distributed environment using asynchronous data submission
CN109145054A (en) A kind of method of managing customer end data
JP2006268632A (en) Computer system, storage server, retrieval server, terminal device and retrieval method

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20120813