×

Systems and methods of increasing database access concurrency using granular timestamps

  • US 9,747,310 B2
  • Filed: 06/04/2013
  • Issued: 08/29/2017
  • Est. Priority Date: 06/04/2012
  • Status: Active Grant
First Claim
Patent Images

1. A method of reading and writing data from a database table comprising:

  • initiating a read transaction to read from a first non-key column of a first row in the database table, the database table having a plurality of rows, each row comprising a primary key and a plurality of non-key columns, wherein;

    each non-key column comprises one or more column values,each column value has a respective timestamp that identifies when the respective column value was stored, andthe respective timestamps of the column values in each non-key column provide a unique order for the column values that comprise the non-key column,the initiating including;

    determining that a write transaction is in progress that is updating a second non-key column of the first row in the database table, wherein the second non-key column is distinct from the first non-key column and the write transaction that is updating the second non-key column holds a lock on the second non-key column of the first row of the database table, anddetermining that no lock is held on the first non-key column of the first row; and

    in response to determining that no lock is held on the first non-key column of the first row, concurrently reading the data from the first non-key column and writing a new column value to the second non-key column;

    wherein each non-key column further comprises a last-write timestamp that indicates when the last write occurred for the respective non-key column;

    wherein initiating the read transaction further comprises selecting a read timestamp based in part on the last-write timestamp of the first non-key column; and

    wherein reading the data from the first non-key column comprises selecting a column value from the first non-key column corresponding to the read timestamp.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×