Database system with transaction control block index

US9824134B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9824134-B2
Application numberUS-201414553494-A
CountryUS
Kind codeB2
Filing dateNov 25, 2014
Priority dateNov 25, 2014
Publication dateNov 21, 2017
Grant dateNov 21, 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.

A plurality of transactions is handled in a database. Each transaction includes a plurality of operations on at least one record in the database with at least two of the transactions being handled concurrently. Thereafter, a temporary timestamp is assigned to each record. The temporary timestamp are based, at least in part, on the corresponding transaction. Further, a final timestamp is assigned to each record with a commit operation. It can later be determined, using a visibility function and based on the assigned temporary timestamps and final timestamps, which of the records are visible in a consistent view for a first transaction. Based on such determination, access can be provided to those records determined to be visible to be accessed to the first transaction.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for implementation by one or more hardware data processors forming part of at least one computing device, the method comprising: handling a first transaction in a database, the first transaction comprising a plurality of operations on at least a first record in the database, and the first transaction being handled concurrently with at least a second transaction; assigning, to the first record, a first timestamp, the first timestamp being a temporary timestamp corresponding to the first transaction, the first timestamp being converted from the temporary timestamp to a final timestamp by at least performing a commit operation with respect to the first transaction, and the converting from the temporary timestamp to the final timestamp comprising: entering a commit lock; determining a commit timestamp by at least increasing, by a first increment, the value of the commit timestamp generator; issuing a write memory barrier; setting, based at least on the commit timestamp, the final timestamp for the first record; increasing, by a second increment, the value of the commit timestamp generator value; and releasing the commit lock; and determining that the first record is available as part of a consistent view for the second transaction, the determining being based at least on a second timestamp of the consistent view being higher than the first timestamp of the first record; and in response to determining that the first record is available as part of the consistent view for the second transaction, including the first record in the consistent view for the second transaction, the inclusion of the first record in the consistent view enabling the first record to be accessed by the second transaction. 2. The method of claim 1 , wherein the first transaction and/or the second transaction are associated with a corresponding transaction control block index that is specific to each transaction. 3. The method of claim 1 , wherein the final timestamp corresponds to a value of a commit timestamp generator. 4. The method of claim 3 , further comprising: selectively locking the commit timestamp generator to at least prevent the commit timestamp generator from issuing additional timestamps. 5. The method of claim 1 , wherein the database comprises an in-memory database. 6. The method of claim 5 , wherein the in-memory database is an in-memory columnar database storing data in columns. 7. A non-transitory computer program product storing instructions which, when executed by at least one hardware data processor forming part of at least one computing device, result in operations comprising: handling a first transaction in a database, the first transaction comprising a plurality of operations on at least a first record in the database, and the first transaction being handled concurrently with at least a second transaction; assigning, to the first record, a first timestamp, the first timestamp being a temporary timestamp corresponding to the first transaction, the first time stamp being converted from the temporary timestamp to a final timestamp by at least performing a commit operation with respect to the first transaction, and the converting from the temporary timestamp to the final timestamp comprising: entering a commit lock; determining a commit timestamp by at least increasing, by a first increment, the value of the commit timestamp generator; issuing a write memory barrier; setting, based at least on the commit timestamp, the final timestamp for the first record; increasing, by a second increment, the value of the commit timestamp generator value; and releasing the commit lock; and; determining that the first record is available as part of a consistent view for the second transaction, the determining being based at least on a second timestamp of the consistent view being higher than the first timestamp of the first record; and in response to determining that the first record is available as part of the consistent view for the second transaction, including the first record in the consistent view for the second transaction, the inclusion of the first record in the consistent view enabling the first record to be accessed by the second transaction. 8. The computer program product of claim 7 , wherein the first transaction and/or the second transaction are associated with a corresponding transaction control block index that is specific to each transaction. 9. The computer program product of claim 7 , wherein the final timestamp corresponds to a value of a commit timestamp generator. 10. The computer program product of claim 9 , wherein the operations further comprise: selectively locking the commit timestamp generator to at least prevent the commit timestamp generator from issuing additional timestamps. 11. The computer program product of claim 7 , wherein the database comprises an in-memory database. 12. The computer program product of claim 11 , wherein the in-memory database is an in-memory columnar database storing data in columns. 13. A system comprising: at least one hardware data processor; and memory storing instructions which, when executed by the at least one hardware data processor forming part of at least one computing device, result in operations comprising: handling a first transaction in a database, the first transaction comprising a plurality of operations on at least a first record in the database, and the first transaction being handled concurrently with at least a second transaction; assigning, to the first record, a first timestamp, the first timestamp being a temporary timestamp corresponding to the first transaction, the first timestamp being converted from the temporary to a final timestamp by at least performing a commit operation with respect to the first transaction, and the converting from the temporary timestamp to the final timestamp comprising: entering a commit lock; determining a commit timestamp by at least increasing, by a first increment, the value of the commit timestamp generator; issuing a write memory barrier; setting, based at least on the commit timestamp, the final timestamp for the first record; increasing, by a second increment, the value of the commit timestamp generator value; and releasing the commit lock; and; determining that the first record is available as part of a consistent view for the second transaction, the determining being based at least on a second timestamp of the consistent view being higher than the first timestamp of the first record; and in response to determining that the first record is available as part of the consistent view for the second transaction, including the first record in the consistent view for the second transaction, the inclusion of the first record in the consistent view enabling the first record to be accessed by the second transaction. 14. The system of claim 13 , wherein the first transaction and/or the second transaction are associated with a corresponding transaction control block index that is specific to each transaction. 15. The system of claim 13 , wherein the final timestamp corresponds to a value of a commit timestamp generator. 16. The system of claim 15 , wherein the operations further comprise: selectively locking the commit timestamp generator to at least prevent the commit timestamp generator from issuing additional timestamps. 17. The system of claim 13 , wherein the at least one processor and the memory form part of an in-memory columnar database storing data in columns.

Assignees

Inventors

Classifications

  • Physics · mapped topic

  • Physics · mapped topic

  • using timestamps · CPC title

  • Ensuring data consistency and integrity · CPC title

  • G06F16/283Primary

    Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP · CPC title

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 US9824134B2 cover?
A plurality of transactions is handled in a database. Each transaction includes a plurality of operations on at least one record in the database with at least two of the transactions being handled concurrently. Thereafter, a temporary timestamp is assigned to each record. The temporary timestamp are based, at least in part, on the corresponding transaction. Further, a final timestamp is assigne…
Who is the assignee on this patent?
Schreter Ivan, Lee Juchang, Andrei Mihnea, and 2 more
What technology area does this patent fall under?
Primary CPC classification G06F17/30592. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Nov 21 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 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).