In addition, NexusDB supports SNAPSHOT isolation level. Snapshot transactions are always read only. They never place any locks. Cursors in the context of a snapshot transaction see the database in exactly the (READ COMMITTED) state it was in at the moment the transaction was started. This is achieved by using a block level multi-versioning system. SQL SELECT statements will automatically be executed in the context of a snapshot transaction if no transaction is already active for that database. This guarantees that even long running queries will see a consistent view of the database without placing any locks. With this setup we have been able to achieve an almost  perfect degree of concurrency, since readers never block  writers. Whereas writers block readers only for an extremely short time to execute UPDATE/COMMIT.

Home | Site Contents | Documentation | NexusDB Manual V4 | Architecture and Concepts | NexusDB Concepts | Transactions and Data Integrity | Transaction Types