Query handling in a columnar database
US-2015363440-A1 · Dec 17, 2015 · US
US9275097B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9275097-B2 |
| Application number | US-201314143874-A |
| Country | US |
| Kind code | B2 |
| Filing date | Dec 30, 2013 |
| Priority date | Aug 6, 2013 |
| Publication date | Mar 1, 2016 |
| Grant date | Mar 1, 2016 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
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.
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.
the problem or solution involving locking · CPC title
Database-specific techniques · CPC title
Physics · mapped topic
Physics · mapped topic
Using snapshots, i.e. a logical point-in-time copy of the data · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.