Concurrent request handling for database transactions

US9430544B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9430544-B2
Application numberUS-201313929478-A
CountryUS
Kind codeB2
Filing dateJun 27, 2013
Priority dateJun 21, 2013
Publication dateAug 30, 2016
Grant dateAug 30, 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 request handler may receive transaction requests for transactions to be executed using data of a database, and may classify a first transaction request of the transaction requests as a simple transaction request, and a second transaction request of the transaction requests as a complex transaction request. A key-value store engine may execute a first transaction satisfying the first transaction request, using a key-value store of pre-calculated results determined prior to receipt of the first transaction request, and based on the data, and may update a key-value delta reflecting a change, if any, of the key-value store caused by the first transaction. A relational store engine may cause the at least one processor to execute a second transaction satisfying the second transaction request, using a relational store including a subset of the data, and may update a relational delta reflecting a change, if any, of the relational store caused by the second transaction. A synchronizer may execute a synchronization of the key-value store and the relational store, based on the key-value delta and the relational delta.

First claim

Opening claim text (preview).

What is claimed is: 1. A system inducting instructions recorded on a computer-readable medium, and executable by at least one processor, the system comprising: a request handler configured to cause the at least one processor to receive transaction requests for transactions to be executed using data of a database, and further configured to cause the at least one processor to classify a first transaction request of the transaction requests as a simple transaction request, and classify a second transaction request of the transaction requests as a complex transaction request; a key-value store engine configured to cause the at least one processor to execute a first transaction satisfying the first transaction request, using a key-value store of pre-calculated results determined prior to receipt of the first transaction request, and based on the data, and further configured to update a key-value delta reflecting a change, if any, of the key-value store caused by the first transaction, wherein the key-value store engine includes a first invalidity notifier configured to update the relational delta based on the updating of the key-value delta; a relational store engine configured to cause the at least one processor to execute a second transaction satisfying the second transaction request, using a relational store including a subset of the data, and further configured to update a relational delta reflecting a change, if any, of the relational store caused by the second transaction, wherein the relational store engine includes a second invalidity notifier configured to update the key-value delta based on the updating of the relational delta; and a synchronizer configured to cause the at least one processor to execute a two-way synchronization between the key-value store and the relational store, based on the key-value delta and the relational delta. 2. The system of claim 1 , wherein the transaction requests are received, at a database layer including the database, from at least one application. 3. The system of claim 1 , wherein the request handler is configured to classify the first transaction request and the second transaction request based on classification criteria that characterizes a likelihood of satisfaction thereof using the pre-calculated results of the key-value store. 4. The system of claim 3 , comprising a result calculator configured to cause the at least one processor to calculate the pre-calculated results of the key-value store, based on a predicted likelihood of future transaction requests to be received by the request handler. 5. The system of claim 4 , wherein the synchronizer is configured to cause the result calculator to update the pre-calculated results in conjunction with the two-way synchronization, based on the key-value delta and the relational delta. 6. The system of claim 1 , wherein the key-value store engine is configured to determine a key associated with the first transaction request, and to perform a look-up of a corresponding value within the key-value store. 7. The system of claim 1 , wherein the synchronizer is configured to update the relational store based on the relational delta and on updates received from the first invalidity notifier of the key-value store engine, and thereafter empty contents of the relational delta. 8. The system of claim 1 , wherein the synchronizer is configured to update the key-value store based on the key-value delta and on updates received from the second invalidity notifier of the relational store engine, and thereafter empty contents of the key-value delta. 9. The system of claim 1 , wherein the request handler, key-value store engine, relational store engine, and synchronizer are implemented in main memory of the system. 10. The system of claim 9 , wherein the relational store engine is configured to cause the at least one processor to update a transaction log stored in non-volatile memory and update the database with any changes thereto caused by the execution of the first transaction or the second transaction. 11. A computer-implemented method for executing instructions stored on a computer readable storage medium, the method comprising: receiving transaction requests for transactions to be executed using data of a database; classifying a first transaction request of the transaction requests as a simple transaction request, wherein the simple, transaction request includes a first transaction that at least partially alters data being requested; classifying a second transaction request of the transaction requests as a complex transaction request, wherein the complex transaction request includes a second transaction that at least partially alters data being requested; executing the first transaction satisfying the first transaction request, using a key-value store of pre-calculated results determined prior to receipt of the first transaction request, and based on the data; executing the second transaction satisfying the second transaction request, using a relational store including a subset of the data; updating a key-value delta reflecting a change of the key-value store caused by the first transaction; updating a relational delta reflecting a change of the relational store caused by the second transaction; and executing a two-way synchronization between the key-value store and the relational store, based on the key-value delta and the relational delta. 12. The method of claim 11 , wherein updating the key-value delta includes updating the relational delta based thereon, and further wherein updating the relational delta includes updating the key-value delta based thereon. 13. The method of claim 11 , wherein the two-way synchronization includes updating the pre-calculated results in conjunction therewith, based on the key-value delta and the relational delta. 14. A computer program product, the computer program product being tangibly embodied on a non-transitory computer-readable storage medium and comprising instructions that, when executed, are configured to: receive transaction requests for transactions to be executed using data of a database; classify a first transaction request of the transaction requests as a simple transaction request, wherein the simple transaction request includes a first transaction that at least partially alters data being requested; classify a second transaction request of the transaction requests as a complex transaction request, wherein the complex transaction request includes a second transaction that at least partially alters data being requested; execute the first transaction satisfying the first transaction request, using a key-value store of pre-calculated results determined prior to receipt of the first transaction request, and based on the data; execute the second transaction satisfying the second transaction request, using a relational store including a subset of the data; update a key-value delta reflecting a change of the key-value store caused by the first transaction; update a relational delta reflecting a change of the relational store caused by the second transaction; and execute a two-way synchronization between the key-value store and the relational store, based on the key-value delta and the relational delta. 15. The computer program product of claim 14 , wherein, in updating the key-value delta, the instructions, when executed, are configured to update the relational delta based thereon, and, in updating the relational delta, the instructions, when executed, are configured to update the key-value delta based thereon. 16. The computer program product of claim 15 , wherein th

Assignees

Inventors

Classifications

  • G06F16/27Primary

    Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor · CPC title

  • Optimistic concurrency control · 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 US9430544B2 cover?
A request handler may receive transaction requests for transactions to be executed using data of a database, and may classify a first transaction request of the transaction requests as a simple transaction request, and a second transaction request of the transaction requests as a complex transaction request. A key-value store engine may execute a first transaction satisfying the first transacti…
Who is the assignee on this patent?
Li Wen-Syan, Dong Bin, Wei Zheng Long, and 2 more
What technology area does this patent fall under?
Primary CPC classification G06F16/27. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 30 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).