Many modern NoSQL document databases support document-level atomic operations, but much less of them supports transactions between many documents. To solve this challenge Bagri implements well-known multiversion concurrency control (MVCC) method. This allows system to perform any operations on many documents within transaction boundaries in atomic way. Another challenge was to combine MVCC transaction handling with unique indexes, but this was done also, thanks to our engineers.
So, now Bagri supports standard transaction isolation levels (Dirty Read, Read Commited, Repeatable Read) and transaction timeouts management right out of the box.