Looking for breakthrough ideas for innovation challenges? Try Patsnap Eureka!

Multiversion concurrency control of database records with uncommitted transactions

Active Publication Date: 2019-07-09
SALESFORCE COM INC
View PDF12 Cites 1 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Benefits of technology

The patent text describes a system and method for controlling the concurrency of records in a database system. The system uses transaction identifiers to control the timing of updates and ensure that multiple users accessing the database system have a consistent experience. The method involves assigning a transaction counter number to each update of a record, and using this number as a reference for queries. The system also includes a mechanism for looking up uncommitted rows and releasing row locks. The technical effects of the system and method include improved performance and efficiency for querying and updating records, as well as better support for multi-tenancy.

Problems solved by technology

However, records stored at one location may be more current than records stored at a different location, and there may be discrepancies when a query is made to the database system.

Method used

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
View more

Image

Smart Image Click on the blue labels to locate them in the text.
Viewing Examples
Smart Image
  • Multiversion concurrency control of database records with uncommitted transactions
  • Multiversion concurrency control of database records with uncommitted transactions
  • Multiversion concurrency control of database records with uncommitted transactions

Examples

Experimental program
Comparison scheme
Effect test

Embodiment Construction

[0013]In implementations disclosed herein, transaction identifiers such as transaction numbers may be associated with each update of a record stored on a server system. When a transaction header is updated with an assigned transaction counter number, new queries may use this assigned transaction counter number as their multiversion concurrency control (MVCC) snapshot. In implementations of the disclosed subject matter, row lookup operations may encounter row records that appear to be uncommitted, as the row records may not have a transaction counter number assigned to them (i.e., a transaction counter number may not be stamped on them). The row records may be in the process of being stamped (i.e., so as to become committed) in a concurrent operation.

[0014]Key lookups encountering an apparently uncommitted row for a transaction number may access the corresponding transaction header to determine whether that transaction number is committed. When the transaction number is determined to...

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to View More

PUM

No PUM Login to View More

Abstract

Systems and methods provide multi-version concurrency control of database records with uncommitted transactions. The system and methods may include receiving a query regarding a transaction counter number. When a transaction header identifying data is updated with the assigned transaction counter number, the updated transaction header may be used in identifying data as an instance of multiversion concurrency control information by the received query. A key lookup may be performed, and when the key lookup encounters an uncommitted row for a transaction number, a corresponding transaction header identifying data to identify a data array element to determine whether the transaction number is committed, and determining the transaction counter number when the transaction number is committed. The transaction counter number may be stamped on the row version record when it is determined that the row is committed.

Description

BACKGROUND[0001]Records stored in a database system may be distinguished from each other based on various identifiers. A database system may support multiple tenants, each of which may store records in the database system. The database system may have different versions of the database records stored in different locations, as the status of transactions or records may be updated at different locations at different times. Typical database systems may attempt to control the concurrency of the records stored at the different locations so that the database system experience is similar when queries to the system are made from different locations. However, records stored at one location may be more current than records stored at a different location, and there may be discrepancies when a query is made to the database system.BRIEF DESCRIPTION OF THE DRAWINGS[0002]The accompanying drawings, which are included to provide a further understanding of the disclosed subject matter, are incorporat...

Claims

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to View More

Application Information

Patent Timeline
no application Login to View More
Patent Type & Authority Patents(United States)
IPC IPC(8): G06F16/23
CPCG06F16/2329G06F16/2343
Inventor CHATTERJEE, SUBHO SANJAYHELLAND, PATRICK JAMESWYATT, NATHANIELMACE, JAMES E.SHAH, PUNIT B.
Owner SALESFORCE COM INC
Who we serve
  • R&D Engineer
  • R&D Manager
  • IP Professional
Why Patsnap Eureka
  • Industry Leading Data Capabilities
  • Powerful AI technology
  • Patent DNA Extraction
Social media
Patsnap Eureka Blog
Learn More
PatSnap group products