[ https://issues.apache.org/jira/browse/IGNITE-16096?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Alexey Scherbakov updated IGNITE-16096: --------------------------------------- Description: We need to implement MVCC support to avoid locking and resulting conflicts. Generally, the idea is to use monotonic timestamps to globally order the transactions and write multiple versions for lockless reads. See [1][2] for decentralized timestamp generation techniques, [3]for MVCC analysis, [4] for MVCC essetials. Also, this technique can be used for atomic metadata updates, described in the 4.2.3 Schema-Change Transactions of [5] [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] [4] [https://www.researchgate.net/publication/200030091_Concurrency_Control_in_Distributed_Database_Systems] [5] https://static.googleusercontent.com/media/research.google.com/en//archive/spanner-osdi2012.pdf was: We need to implement MVCC support to avoid locking and resulting conflicts. Generally, the idea is to use monotonic timestamps to globally order the transactions and write multiple versions for lockless reads. See [1][2] for decentralized timestamp generation techniques, [3]for MVCC analysis: [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] [4] [https://www.researchgate.net/publication/200030091_Concurrency_Control_in_Distributed_Database_Systems] > Implement MVCC support to avoid excessive locking > ------------------------------------------------- > > Key: IGNITE-16096 > URL: https://issues.apache.org/jira/browse/IGNITE-16096 > Project: Ignite > Issue Type: Task > Reporter: Alexey Scherbakov > Priority: Major > Labels: iep-61, ignite-3 > > We need to implement MVCC support to avoid locking and resulting conflicts. > Generally, the idea is to use monotonic timestamps to globally order the > transactions and write multiple versions for lockless reads. > See [1][2] for decentralized timestamp generation techniques, [3]for MVCC > analysis, [4] for MVCC essetials. > Also, this technique can be used for atomic metadata updates, described in > the 4.2.3 Schema-Change Transactions of [5] > [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] > [4] > [https://www.researchgate.net/publication/200030091_Concurrency_Control_in_Distributed_Database_Systems] > [5] > https://static.googleusercontent.com/media/research.google.com/en//archive/spanner-osdi2012.pdf -- This message was sent by Atlassian Jira (v8.20.1#820001)