Abstract
Existing concurrency control systems cannot execute transactions with overlapping updates concurrently. This is especially problematic for bulk updates, which usually overlap with all concurrent transactions. To solve this, we have developed a concurrency control mechanism based on lazy evaluation, which moves evaluation of operations from the writer to the reader. This allows readers to prioritize evaluation of those operations in which they are interested, without loss of atomicity of transactions. To handle bulk operations, we dynamically split large transactions into transactions on smaller parts of the data. In this paper we present an abstract lazy index structure for lazy transactions, and show how transactions can be encoded to effectively use this data structure. Moreover, we discuss evaluation strategies for lazy transactions, where trade-offs can be made between latency and throughput. To evaluate our approach, we have implemented a concurrent lazy trie, on which we performed a number of micro benchmarks.
Original language | English |
---|---|
Title of host publication | Proceedings of the 20th International Database Engineering & Applications Symposium (IDEAS 2016) |
Place of Publication | New York |
Publisher | Association for Computing Machinery |
Pages | 115-124 |
Number of pages | 10 |
ISBN (Print) | 978-1-4503-4118-9 |
DOIs | |
Publication status | Published - 11 Jul 2016 |
Event | 20th International Database Engineering & Applications Symposium, IDEAS 2016 - Montreal, Canada Duration: 11 Jul 2016 → 13 Jul 2016 |
Conference
Conference | 20th International Database Engineering & Applications Symposium, IDEAS 2016 |
---|---|
Period | 11/07/16 → 13/07/16 |
Other | 11-13 July 2016 |
Keywords
- Transactions
- Lazy evaluation
- Contention
- Bulk update