| CPC G06F 16/2379 (2019.01) [G06F 16/2329 (2019.01); G06F 16/2477 (2019.01)] | 20 Claims |

|
1. A system, comprising:
at least one processor; and
a memory, storing program instructions that when executed by the at least one processor, cause the at least one processor to implement a query engine for a database system, wherein the query engine is configured to:
assign a commit time for a database transaction determined to be committed to a database, wherein the query engine applies multi-version concurrency control (MVCC) to select different versions of data in the database according to transaction commit times;
update a segment of a commit log maintained in a non-volatile data store to include the commit time of the database transaction; and
update a corresponding segment of the commit log maintained in a volatile memory to include the commit time for the database transaction, wherein the corresponding segment of the commit log is maintained in the volatile memory in a same format as the segment of the commit log maintained in the non-volatile data store, wherein the query engine accesses the segment of the commit log in the volatile memory when applying MVCC to select different versions of data in the database according to transaction commit times.
|