Transaction private log buffering for high performance of transaction processing

US9558229B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9558229-B2
Application numberUS-201414244686-A
CountryUS
Kind codeB2
Filing dateApr 3, 2014
Priority dateNov 26, 2013
Publication dateJan 31, 2017
Grant dateJan 31, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

For each data change occurring transaction created as part of a write operation initiated for one or more tables in a main-memory-based DBMS, a transaction log entry can be written to a private log buffer corresponding to the transaction. All transaction log entries in the private log buffer can be flushed to a global log buffer upon completion of the transaction to which the private log buffer corresponds.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer program product comprising a non-transitory machine-readable medium storing instructions that, when executed by at least one programmable processor, cause the at least one programmable processor to perform operations comprising: creating one or more transactions as part of a write operation initiated for one or more tables in a main-memory-based database management system, wherein the one or more tables in the main-memory-based database management system are stored in memory; writing, for each data change occurring during a transaction of the one or more transactions, a transaction log entry to a private log buffer, the private log buffer corresponding to the transaction; flushing all transaction log entries in the private log buffer to a global log buffer, when the main-memory-based database management system has processed one or more data manipulation language statements comprising the transaction to which the private log buffer corresponds; and flushing, to a non-volatile storage, all transaction log entries in the global log buffer, the flushing of all the transaction log entries in the global log buffer to the non-volatile storage performed during a commit operation committing the changes relating to the write operation, the flushing of all the transaction log entries in the global log buffer to the non-volatile storage during the commit operation resulting in fewer input/output operations to the non-volatile storage for transaction logging than writing the transaction log entries directly to the non-volatile storage. 2. A computer program product as in claim 1 , wherein the operations further comprise receiving a data manipulation workload from a client machine, the data manipulation workload relating to the write operation. 3. A computer program product as in claim 2 , wherein the data manipulation workload comprises statements in a data manipulation language. 4. A computer program product as in claim 1 , wherein the transaction log entry comprises a redo log entry, and the redo log entry is applied when the redo log entry has a higher savepoint count than a savepoint count of a data page affected by the transaction. 5. A system comprising: at least one processor; and at least one memory including program code which when executed by the at least one processor provides operations comprising: creating one or more transactions as part of a write operation initiated for one or more tables in a main-memory-based database management system, wherein the one or more tables in the main-memory-based database management system are stored in memory; writing, for each data change occurring during a transaction of the one or more transactions, a transaction log entry to a private log buffer, the private log buffer corresponding to the transaction; flushing all transaction log entries in the private log buffer to a global log buffer, when the main-memory-based database management system has processed one or more data manipulation language statements comprising the transaction to which the private log buffer corresponds; and flushing, to a non-volatile storage, all transaction log entries in the global log buffer, the flushing of all the transaction log entries in the global log buffer to the non-volatile storage performed during a commit operation committing the changes relating to the write operation, the flushing of all the transaction log entries in the global log buffer to the non-volatile storage during the commit operation resulting in fewer input/output operations to the non-volatile storage for transaction logging than writing the transaction log entries directly to the non-volatile storage. 6. A system as in claim 5 , wherein the operations further comprise receiving a data manipulation workload from a client machine, the data manipulation workload relating to the write operation. 7. A system as in claim 6 , wherein the data manipulation workload comprises statements in a data manipulation language. 8. A system as in claim 5 , wherein the transaction log entry comprises a redo log entry, and the redo log entry is applied when the redo log entry has a higher savepoint count than a savepoint count of a data page affected by the transaction. 9. A system as in claim 5 , wherein the computer hardware comprises a programmable processor, and a machine-readable medium storing instructions that, when executed by the programmable processor, cause the at least one programmable processor to perform at least some of the operations. 10. A computer-implemented method comprising: creating one or more transactions as part of a write operation initiated for one or more tables in a main-memory-based database management system, wherein the one or more tables in the main-memory-based database management system are stored in memory; writing, for each data change occurring during a transaction of the one or more transactions, a transaction log entry to a private log buffer, the private log buffer corresponding to the transaction; flushing all transaction log entries in the private log buffer to a global log buffer, when the main-memory-based database management system has processed one or more data manipulation language statements comprising the transaction to which the private log buffer corresponds; and flushing, to a non-volatile storage, all transaction log entries in the global log buffer, the flushing of all the transaction log entries in the global log buffer to the non-volatile storage performed during a commit operation committing the changes relating to the write operation, the flushing of all the transaction log entries in the global log buffer to the non-volatile storage during the commit operation resulting in fewer input/output operations to the non-volatile storage for transaction logging than writing the transaction log entries directly to the non-volatile storage. 11. A computer-implemented method as in claim 10 , further comprising receiving a data manipulation workload from a client machine, the data manipulation workload relating to the write operation. 12. A computer-implemented method as in claim 11 , wherein the data manipulation workload comprises statements in a data manipulation language. 13. A computer-implemented method as in claim 10 , wherein the transaction log entry comprises a redo log entry, and the redo log entry is applied when the redo log entry has a higher savepoint count than a savepoint count of a data page affected by the transaction. 14. A computer-implemented method as in claim 10 , wherein the creating, the writing, the flushing to the global log buffer, and the flushing to the non-volatile memory comprise operations performed by computer hardware.

Assignees

Inventors

Classifications

  • Change logging, detection, and notification (replication G06F16/27) · CPC title

  • Transaction processing · CPC title

  • One time programmable [OTP] memory, e.g. PROM, WORM · CPC title

  • in hierarchically structured memory systems, e.g. virtual memory systems · CPC title

  • Physics · mapped topic

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9558229B2 cover?
For each data change occurring transaction created as part of a write operation initiated for one or more tables in a main-memory-based DBMS, a transaction log entry can be written to a private log buffer corresponding to the transaction. All transaction log entries in the private log buffer can be flushed to a global log buffer upon completion of the transaction to which the private log buffer…
Who is the assignee on this patent?
Lee Juchang, Kim Beomsoo, Kim Kyu Hwan, and 3 more
What technology area does this patent fall under?
Primary CPC classification G06F16/2358. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jan 31 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).