IP Library Granted Patent US 10,318,521
Granted Patent B2
US 10,318,521 · App. 15/363,313 · Granted Jun 11, 2019

Query processing with bounded staleness for transactional mutations in NoSQL database

Inventor: Hiroshi H. Horii (Tokyo, JP)
Assignee: International Business Machines Corporation
G06F16/2379G06F11/3065G06F16/2453G06F16/338
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,318,521
App. No.
15/363,313
Granted
Jun 11, 2019
Kind
B2
Abstract

A computer-implemented method executed on one or more processors is provided for processing a query for a NoSQL (non-structured query language) database. The computer-implemented method includes periodically monitoring active transactions that started and are committing dirty versions before a specific time, sending a query to fetch a state of the active transactions, and receiving a query result. The computer-implemented method further includes, if the query result includes active transactions, performing a normal query that scans dirty and committed versions. The computer-implemented method further includes, if the query result includes no active transactions, due to a time window indicating a specified staleness, sending a simplified query that scans only committed versions.

Claims (37)

1. A computer-implemented method executed on one or more processors for processing a query for a NoSQL (non-structured query language) database, the method comprising:

periodically monitoring active transactions that started and are committing dirty versions before a specific time;

sending a query to fetch a state of the active transactions;

receiving a query result;

if the query result includes active transactions, performing a normal query that scans dirty and committed versions; and

if the query result includes no active transactions, due to a time window indicating a specified staleness, sending a simplified query that scans only committed versions.

2. The method of claim 1 , wherein the normal query includes retrieving all dirty versions of a transaction state from the NoSQL database.

3. The method of claim 2 , wherein the normal query further includes moving the dirty versions to committed.

4. The method of claim 3 , wherein the normal query further includes altering the transaction state from committed to finished.

5. The method of claim 1 , wherein the simplified query is sent for a committed version.

6. The method of claim 1 , wherein, when active transactions are detected, the NoSQL database guarantees that the query result reflects all the latest committed versions at the indicated time window.

7. The method of claim 1 , wherein the specified staleness is bounded.

8. The method of claim 1 , wherein the active transactions are monitored before a predetermined time period.

9. A computer system for processing a query for a NoSQL database, the computer system comprising:

a memory; and

at least one processor in communication with the memory, wherein the computer system is configured to:

periodically monitor active transactions that started and are committing dirty versions before a specific time;

send a query to fetch a state of the active transactions;

receive a query result;

if the query result includes active transactions, perform a normal query that scans dirty and committed versions; and

if the query result includes no active transactions, due to a time window indicating a specified staleness, send a simplified query that scans only committed versions.

10. The computer system of claim 9 , wherein the normal query includes retrieving all dirty versions of a transaction state from the NoSQL database.

11. The computer system of claim 10 , wherein the normal query further includes moving the dirty versions to committed.

12. The computer system of claim 11 , wherein the normal query further includes altering the transaction state from committed to finished.

13. The computer system of claim 9 , wherein the simplified query is sent for a committed version.

14. The computer system of claim 9 , wherein, when active transactions are detected, the NoSQL database guarantees that the query result reflects all the latest committed versions at the indicated time window.

15. The computer system of claim 9 , wherein the specified staleness is bounded.

16. The computer system of claim 9 , wherein the active transactions are monitored before a predetermined time period.

17. A non-transitory computer readable storage medium comprising a computer readable program for processing a query for a NoSQL database, wherein the computer readable program when executed on a computer causes the computer to perform the steps of:

periodically monitoring active transactions that started and are committing dirty versions before a specific time;

sending a query to fetch a state of the active transactions;

receiving a query result;

if the query result includes active transactions, performing a normal query that scans dirty and committed versions; and

if the query result includes no active transactions, due to a time window indicating a specified staleness, sending a simplified query that scans only committed versions.

18. The non-transitory computer readable storage medium of claim 17 , wherein the normal query includes retrieving all dirty versions of a transaction state from the NoSQL database.

19. The non-transitory computer readable storage medium of claim 18 , wherein the normal query further includes moving the dirty versions to committed.

20. The non-transitory computer readable storage medium of claim 19 , wherein the normal query further includes altering the transaction state from committed to finished.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 29, 2016
From: HORII, HIROSHI H.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 040452/0130 →
Continuity (1)
Related Publication 20180150503A1 · May 31, 2018
Cited By (1)
US 12,554,704