Details
-
Task
-
Status: Resolved
-
Major
-
Resolution: Duplicate
-
None
-
None
-
None
-
Docs Required, Release Notes Required
Description
We need to implement MVCC support to avoid locking and resulting conflicts, causing aborted transactions.
Generally, the idea is to use monotonic timestamps to globally order the transactions and write multiple versions for lockless reads.
See [0][1][2] for decentralized timestamp generation techniques, [3]for MVCC analysis, [4] for MVCC essentials.
Also, this technique can be used for atomic metadata updates, as described in the 4.2.3 Schema-Change Transactions of [5]
[0] https://dl.acm.org/doi/pdf/10.1145/3299869.3314049
[1] http://users.ece.utexas.edu/~garg/pdslab/david/hybrid-time-tech-report-01.pdf
[2] https://www.usenix.org/system/files/nsdi21-wei.pdf
[3] http://www.vldb.org/pvldb/vol10/p781-Wu.pdf
[5] https://static.googleusercontent.com/media/research.google.com/en//archive/spanner-osdi2012.pdf
Attachments
Issue Links
- blocks
-
IGNITE-15087 Implement support for transactional SQL
- Resolved