Skip to content

Snapshot Isolation (MVCC)

Are you in a situation where you need to have multiple read requests while writes need to continue? Do you want to be able to continue writing without interrupts? RDM provides a solution to the above problems by the use of MVCC (Multiversion Concurrency Control) through the use of snapshot isolation.

Snapshot Isolation Multi-version concurreny control

What is Snapshot Isolation and how does it work in RDM? 

Snapshot isolation allows concurrent reads to the database when write transactions are occurring. RDM takes a frozen image of the current state of the system and that information can be read from without stopping writes. At any point in time, the user can issue a snapshot of specific tables through calling our rdm_dbStartSnapshot() API. Once done, the RDM system will create a static view of the tables specified where any changes to those tables will not be reflected in the snapshot. The user is then free to issue writes to that table outside of the snapshot and any reads within the snapshot view will not be waiting for those writes to complete or preventing those writes from finishing. Once the snapshot is no longer needed, a simple end transaction can be called to easily and quickly get rid of it. This feature provides the end user with the largest number of writes and reads possible simultaneously.