[ 
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 [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, 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]

[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, [4] for MVCC essentials.

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]


> 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 [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, 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]
> [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)

Reply via email to