{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,8]],"date-time":"2026-04-08T09:02:47Z","timestamp":1775638967597,"version":"3.50.1"},"reference-count":26,"publisher":"Association for Computing Machinery (ACM)","issue":"4","content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Proc. VLDB Endow."],"published-print":{"date-parts":[[2011,12]]},"abstract":"<jats:p>A database system optimized for in-memory storage can support much higher transaction rates than current systems. However, standard concurrency control methods used today do not scale to the high transaction rates achievable by such systems. In this paper we introduce two efficient concurrency control methods specifically designed for main-memory databases. Both use multiversioning to isolate read-only transactions from updates but differ in how atomicity is ensured: one is optimistic and one is pessimistic. To avoid expensive context switching, transactions never block during normal processing but they may have to wait before commit to ensure correct serialization ordering. We also implemented a main-memory optimized version of single-version locking. Experimental results show that while single-version locking works well when transactions are short and contention is low performance degrades under more demanding conditions. The multiversion schemes have higher overhead but are much less sensitive to hotspots and the presence of long-running transactions.<\/jats:p>","DOI":"10.14778\/2095686.2095689","type":"journal-article","created":{"date-parts":[[2014,6,24]],"date-time":"2014-06-24T12:17:57Z","timestamp":1403612277000},"page":"298-309","source":"Crossref","is-referenced-by-count":167,"title":["High-performance concurrency control mechanisms for main-memory databases"],"prefix":"10.14778","volume":"5","author":[{"given":"Per-\u00c5ke","family":"Larson","sequence":"first","affiliation":[{"name":"Microsoft"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Spyros","family":"Blanas","sequence":"additional","affiliation":[{"name":"University of Wisconsin -- Madison"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Cristian","family":"Diaconu","sequence":"additional","affiliation":[{"name":"Microsoft"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Craig","family":"Freedman","sequence":"additional","affiliation":[{"name":"Microsoft"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Jignesh M.","family":"Patel","sequence":"additional","affiliation":[{"name":"University of Wisconsin -- Madison"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Mike","family":"Zwilling","sequence":"additional","affiliation":[{"name":"Microsoft"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2011,12]]},"reference":[{"key":"e_1_2_1_1_1","volume-title":"Distributed Computing","author":"Agrawal D.","year":"1987"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/67544.66964"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/223784.223785"},{"key":"e_1_2_1_4_1","volume-title":"Vassos Hadzilacos","author":"Bernstein Philip A.","year":"1987"},{"key":"e_1_2_1_5_1","volume-title":"VLDB","author":"Bober Paul M.","year":"1992"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.5555\/645477.654639"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICDE.2011.5767897"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1016\/S0020-0255(96)00159-4"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/1620585.1620587"},{"key":"e_1_2_1_10_1","unstructured":"IBM solidDB information available at http:\/\/www.ibm.com\/.  IBM solidDB information available at http:\/\/www.ibm.com\/."},{"key":"e_1_2_1_12_1","volume-title":"TODS, 4(4)","author":"Carey Michael J.","year":"1985"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1016\/0306-4379(87)90020-2"},{"key":"e_1_2_1_14_1","unstructured":"IBM SolidDb Performance on Intel Systems white paper at http:\/\/download.intel.com\/business\/software\/testimonials\/downloads\/xeon5500\/ibm.pdf.  IBM SolidDb Performance on Intel Systems white paper at http:\/\/download.intel.com\/business\/software\/testimonials\/downloads\/xeon5500\/ibm.pdf."},{"key":"e_1_2_1_15_1","volume-title":"Ippokratis Pandis","author":"Johnson Ryan","year":"2009"},{"key":"e_1_2_1_16_1","volume-title":"Performance of Concurrency Control Mechanisms in Centralized Database Systems","author":"Kumar Vijay","year":"1996"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/319566.319567"},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10619-007-7019-7"},{"issue":"1","key":"e_1_2_1_19_1","volume":"3","author":"Pandis Ippokratis","year":"2010","journal-title":"Anastasia Ailamaki: Data-Oriented Transaction Execution. PVLDB"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/348.318588"},{"key":"e_1_2_1_21_1","unstructured":"PostgreSQL 8.4.2 Documentation Ch. 13 Concurrency Control available from www.postgresql.org.  PostgreSQL 8.4.2 Documentation Ch. 13 Concurrency Control available from www.postgresql.org."},{"key":"e_1_2_1_22_1","unstructured":"Oracle TimesTen In-Memory Database information available at http:\/\/www.oracle.com.  Oracle TimesTen In-Memory Database information available at http:\/\/www.oracle.com."},{"key":"e_1_2_1_23_1","unstructured":"SQL Server 2008 Books Online: Isolation Levels in the Database Engine available at http:\/\/msdn.microsoft.com\/en-us\/library\/ms189122.aspx.  SQL Server 2008 Books Online: Isolation Levels in the Database Engine available at http:\/\/msdn.microsoft.com\/en-us\/library\/ms189122.aspx."},{"key":"e_1_2_1_24_1","unstructured":"Telecommunication Application Transaction Processing (TATP) Benchmark Description available at http:\/\/tatpbenchmark.sourceforge.net\/.  Telecommunication Application Transaction Processing (TATP) Benchmark Description available at http:\/\/tatpbenchmark.sourceforge.net\/."},{"issue":"2","key":"e_1_2_1_25_1","volume":"1","author":"Depth-First Search Robert","year":"1972","journal-title":"SIAM J. of Computing"},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/274440.274443"},{"key":"e_1_2_1_27_1","unstructured":"http:\/\/www.cs.wisc.edu\/~sblanas\/proofsketch.pdf  http:\/\/www.cs.wisc.edu\/~sblanas\/proofsketch.pdf"}],"container-title":["Proceedings of the VLDB Endowment"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.14778\/2095686.2095689","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,12,28]],"date-time":"2022-12-28T09:47:25Z","timestamp":1672220845000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.14778\/2095686.2095689"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2011,12]]},"references-count":26,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2011,12]]}},"alternative-id":["10.14778\/2095686.2095689"],"URL":"https:\/\/doi.org\/10.14778\/2095686.2095689","relation":{},"ISSN":["2150-8097"],"issn-type":[{"value":"2150-8097","type":"print"}],"subject":[],"published":{"date-parts":[[2011,12]]}}}