发明名称 Methods to minimize communication in a cluster database system
摘要 An ordering of operations in log records includes: performing update operations on a database object by a node; writing log records for the update operations into a local buffer by the node, the log records each including a local virtual timestamp; determining that a log flush to write the log records in the local buffer to a persistent storage is to be performed; in response, sending a request from the node to a log flush sequence server for a log flush sequence number; receiving the log flush sequence number by the node; inserting the log flush sequence number into the log records in the local buffer; and performing the log flush to write the log records in the local buffer to the persistent storage, where the log records written to the persistent storage comprises the local virtual timestamps and the log flush sequence number.
申请公布号 US9229970(B2) 申请公布日期 2016.01.05
申请号 US200912632750 申请日期 2009.12.07
申请人 International Business Machines Corporation 发明人 Grosman Ronen;Huras Matthew A.;Malkemus Timothy R.;Romanufa Keriley K.;Sachedina Aamer;Schlamb Kelly W.;Tchervenski Nickolay V.;Xue Xun
分类号 G06F17/00;G06F17/30;G06F11/14 主分类号 G06F17/00
代理机构 North Shore Patents, P.C. 代理人 North Shore Patents, P.C. ;Baillie Michele Liu;Leonessa Lesley A.
主权项 1. A method for ordering operations in log records in a shared database system, comprising: maintaining a proper ordering for a database recovery process for logically dependent operations that do not share database objects by: performing one or more first update operations of a first transaction on a first database object in a first table by a first node of a plurality of nodes in the shared database system;writing one or more first log records for the first update operations into a first local buffer of the first node, the log first records comprising first local virtual timestamps indicating an order of the first update operations;in response to determining that a first log flush to write the first log records in the first local buffer to a global persistent storage shared by the plurality of nodes is to be performed, obtaining from a log flush sequence server a first global log flush sequence number to correspond to the first log flush;inserting the first global log flush sequence number into the first log records;performing the first log flush to write the first log records in the first local buffer to the global persistent storage, wherein the first log records written to the global persistent storage comprise the first local virtual timestamps and the first global log flush sequence number;performing one or more second update operations of a second transaction on a second database object in a second table by a second node of the plurality of nodes, wherein the first transaction is required to be committed by the first node before the second transaction is performed by the second node because the second transaction is logically dependent on the first transaction and the first database object is different than the second database object;writing one or more second log records for the second update operations into a second local buffer of the second node, the second log records comprising second local virtual timestamps indicating an order of the second update operations, wherein the first and the second local virtual timestamps do not reflect a required commit order for the first and the second transactions;in response to determining that a second log flush to write the second log records to the global persistent storage is to be performed, obtaining from the log flush sequence server a second global log flush sequence number to correspond to the second log flush;inserting the second global log flush sequence number into the second log records;performing the second log flush to write the second log records in the second local buffer to the global persistent storage, wherein the second log records written to the global persistent storage comprise the second local virtual timestamps and the second global log flush sequence number; and merging the second log records with the first log records in the global persistent storage, wherein the first global log flush sequence number and the second global log flush sequence number indicate a commit order of the first and the second transactions.
地址 Armonk NY US
您可能感兴趣的专利