Set-oriented locking based on in-memory bitmaps for a column-oriented database

US9275097B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9275097-B2
Application numberUS-201314143874-A
CountryUS
Kind codeB2
Filing dateDec 30, 2013
Priority dateAug 6, 2013
Publication dateMar 1, 2016
Grant dateMar 1, 2016

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 set-oriented locking based on in-memory bitmap for a column store database is described. An example method includes establishing a column-based in-memory database including a main store and a delta store, where the delta store has a plurality of row-visibility lock bitmaps visible to transactions at various points in time. The lock bitmaps represent a bit encoding to indicate whether there are granted row locks tables in the database. A delete or an update statement is executed with a transaction on a table. A set of row locks on rows of the table manipulated by the delete or the update statement are requested to preclude other transactions from currently deleting or updating the same rows. Accordingly, set operations are performed on the lock bitmap to manage the set of row locks associated with the transaction.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for a database system, comprising: establishing a column-based in-memory database including a main store and a delta store, wherein the delta store has a plurality of row-visibility lock bitmaps visible to transactions at various points in time, and wherein the lock bitmaps represent a bit encoding indicating whether there are granted row locks on tables in the database; executing within a transaction a delete or an update statement on a table, the table being one of the tables, wherein the table has a lock bitmap visible to the transaction when executed; requesting a set of row locks on rows of the table operated upon by the delete or the update statement to preclude other transactions from concurrently deleting or updating the rows of the table; performing set operations on the lock bitmap to manage the set of row locks. 2. The method of claim 1 , wherein the performing comprises: performing an AND operation to detect whether there is conflict between a set of row locks already granted on the table and the set of row locks. 3. The method of claim 2 , further comprising: upon determining there is conflict between the set of row locks already granted on the table and the set of row locks, waiting for conflicting row locks to be released; and performing an OR operation to register the set of row locks after the conflicting row locks are released. 4. The method of claim 1 , wherein the performing comprises: performing an OR operation between a set of row locks already granted on the table and the set of row locks to register the set of row locks for the transaction. 5. The method of claim 1 , wherein the performing comprises: performing a NOT and AND operations between a set of row locks already granted on the table and the set of row locks to release the set of row locks from the transaction. 6. The method of claim 1 , wherein the performing comprises: performing a NOT and AND operations between a set of row locks already granted on the table and the set of row locks to identify an owner of the set of row locks. 7. The method of claim 1 , wherein the performing comprises: executing the performing recursively to obtain a set of row locks for the transaction. 8. A system, comprising: a memory; and at least one processor coupled to the memory and configured to execute a plurality of modules, the modules comprising: a database establisher, configured to establish a column-based in-memory database including a main store and a delta store, wherein the delta store has a plurality of row-visibility lock bitmaps visible to transactions at various points in time, and wherein the lock bitmaps represent a bit encoding indicating whether there are granted row locks on tables in the database; a transaction executor, configured to execute within a transaction a delete or an update statement on a table, the table being one of the tables, wherein the table has a lock bitmap visible to the transaction when executed; a lock requestor, configured to request a set of row locks on rows of the table operated upon by the delete or the update statement to preclude other transactions from concurrently deleting or updating the rows of the table; and a set operator, configured to perform set operations on the lock bitmap to manage the set of row locks. 9. The system of claim 8 , wherein the set operator is configured to: perform an AND operation to detect whether there is conflict between a set of row locks already granted on the table and the set of row locks. 10. The system of claim 9 , further comprising: a transaction pauser, upon determining there is conflict between the set of row locks already granted on the table and the set of row locks, configured to wait for conflicting row locks to be released; and the set operator, configured to perform an OR operation to register the set of row locks after the conflicting row locks are released. 11. The system of claim 8 , wherein the set operator is configured to: perform an OR operation between a set of row locks already granted on the table and the set of row locks to register the set of row locks for the transaction. 12. The system of claim 8 , wherein the set operator is further configured to: perform a NOT and AND operations between a set of row locks already granted on the table and the set of row locks to release the set of row locks from the transaction. 13. The system of claim 8 , wherein the set operator is further configured to: performing a NOT and AND operations between a set of row locks already granted on the table and the set of row locks to identify an owner of the set of row locks. 14. The system of claim 8 , wherein the set operator is further configured to: perform the set operations recursively to obtain the set of row locks for the transaction. 15. A computer program product comprising a computer readable storage medium having instructions encoded thereon that, when executed by a processor, cause the processor to perform operations comprising: establishing a column-based in-memory database including a main store and a delta store, wherein the delta store has a plurality of row-visibility lock bitmaps visible to transactions at various points in time, and wherein the lock bitmaps represent a bit encoding indicating whether there are granted row locks on tables in the database; executing within a transaction a delete or an update statement on a table, the table being one of the tables, wherein the table has a lock bitmap visible to the transaction when executed; requesting a set of row locks on rows of the table operated upon by the delete or the update statement to preclude other transactions from concurrently deleting or updating the rows of the table; performing set operations on the lock bitmap to manage the set of row locks.

Assignees

Inventors

Classifications

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 US9275097B2 cover?
A set-oriented locking based on in-memory bitmap for a column store database is described. An example method includes establishing a column-based in-memory database including a main store and a delta store, where the delta store has a plurality of row-visibility lock bitmaps visible to transactions at various points in time. The lock bitmaps represent a bit encoding to indicate whether there ar…
Who is the assignee on this patent?
Delafranier Mark, Wein David, Blanco Rolando, and 3 more
What technology area does this patent fall under?
Primary CPC classification G06F17/30362. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 01 2016 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).