Definitions
In-memory transactions are database transactions that operate on data that are stored in memory. Because the main memory is much faster than a disk, the processing throughput of in-memory transactions can be orders of magnitude higher than when transactions manipulate data on disk. To realize this potential, an in-memory transaction processing engine needs to avoid contention, blocking, and context switching when accessing memory for high performance while guaranteeing the atomicity, isolation, and durability of in-memory transactions for correctness.
Overview
Database management systems were designed assuming that the database resides on disk, which is orders of magnitude slower than memory. Many design decisions about data storage and transaction management focused on improving the concurrency and the performance of disk accesses. Less attention was devoted in making accesses to memory efficient. Through the decades, however, the memory capacity of each server grew...
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsReferences
Arulraj J, Perron M, Pavlo A (2016) Write-behind logging. PVLDB 10(4):337–348
Bernstein PA, Hadzilacos V, Goodman N (1987) Concurrency control and recovery in database systems. Addison-Wesley, Reading
Curino C, Zhang Y, Jones EPC, Madden S (2010) Schism: a workload-driven approach to database replication and partitioning. PVLDB 3(1):48–57
Diaconu C, Freedman C, Ismert E, Larson PA, Mittal P, Stonecipher R, Verma N, Zwilling M (2013) Hekaton: SQL server’s memory-optimized OLTP engine. In: Proceedings of the 2013 ACM SIGMOD international conference on management of Data (SIGMOD’13). ACM, New York, pp 1243–1254. https://doi.org/10.1145/2463676.2463710
Harizopoulos S, Abadi DJ, Madden S, Stonebraker M (2008) OLTP through the looking glass, and what we found there. In: SIGMOD’08: proceedings of the 2008 ACM SIGMOD international conference on management of data. ACM, New York, pp 981–992. https://doi.org/10.1145/1376616.1376713
Johnson R, Pandis I, Stoica R, Athanassoulis M, Ailamaki A (2010) Aether: a scalable approach to logging. Proc VLDB Endow 3(1–2):681–692. https://doi.org/10.14778/1920841.1920928
Kallman R, Kimura H, Natkins J, Pavlo A, Rasin A, Zdonik S, Jones EPC, Madden S, Stonebraker M, Zhang Y, Hugg J, Abadi DJ (2008) H-Store: a high-performance, distributed main memory transaction processing system. Proc VLDB Endow 1(2):1496–1499. https://doi.org/10.1145/1454159.1454211
Kim K, Wang T, Johnson R, Pandis I (2016) Ermia: fast memory-optimized database system for heterogeneous workloads. In: Proceedings of the 2016 international conference on management of data (SIGMOD’16). ACM, New York, pp 1675–1687. https://doi.org/10.1145/2882903.2882905
Kimura H (2015) Foedus: OLTP engine for a thousand cores and NVRAM. In: Proceedings of the 2015 ACM SIGMOD international conference on management of data (SIGMOD’15). ACM, New York, pp 691–706. https://doi.org/10.1145/2723372.2746480
Kung HT, Robinson JT (1981) On optimistic methods for concurrency control. ACM Trans Database Syst 6(2):213–226. https://doi.org/10.1145/319566.319567
Larson P, Blanas S, Diaconu C, Freedman C, Patel JM, Zwilling M (2011) High-performance concurrency control mechanisms for main-memory databases. PVLDB 5(4):298–309
Lehman PL, Yao SB (1981) Efficient locking for concurrent operations on b-trees. ACM Trans Database Syst 6(4):650–670. https://doi.org/10.1145/319628.319663
Levandoski JJ, Lomet DB, Sengupta S (2013) The bw-tree: a b-tree for new hardware platforms. In: 2013 IEEE 29th international conference on data engineering (ICDE), pp 302–313. https://doi.org/10.1109/ICDE.2013.6544834
Mao Y, Kohler E, Morris RT (2012) Cache craftiness for fast multicore key-value storage. In: Proceedings of the 7th ACM European conference on computer systems (EuroSys’12). ACM, New York, pp 183–196. https://doi.org/10.1145/2168836.2168855
Michael MM (2004a) Hazard pointers: safe memory reclamation for lock-free objects. IEEE Trans Parallel Distrib Syst 15(6):491–504. https://doi.org/10.1109/TPDS.2004.8
Michael MM (2004b) Scalable lock-free dynamic memory allocation. SIGPLAN Not 39(6):35–46. https://doi.org/10.1145/996893.996848
Mohan C, Haderle D, Lindsay B, Pirahesh H, Schwarz P (1992) Aries: a transaction recovery method supporting fine-granularity locking and partial rollbacks using write-ahead logging. ACM Trans Database Syst 17(1):94–162. https://doi.org/10.1145/128765.128770
Pandis I, Johnson R, Hardavellas N, Ailamaki A (2010) Data-oriented transaction execution. PVLDB 3(1):928–939
Ren K, Faleiro JM, Abadi DJ (2016) Design principles for scaling multi-core OLTP under high contention. In: Proceedings of the 2016 international conference on management of data (SIGMOD’16). ACM, New York, pp 1583–1598. https://doi.org/10.1145/2882903.2882958
Sadoghi M, Canim M, Bhattacharjee B, Nagel F, Ross KA (2014) Reducing database locking contention through multi-version concurrency. Proc VLDB Endow 7(13):1331–1342. https://doi.org/10.14778/2733004.2733006
Serafini M, Taft R, Elmore AJ, Pavlo A, Aboulnaga A, Stonebraker M (2016) Clay: fine-grained adaptive partitioning for general database schemas. PVLDB 10(4):445–456
Thomson A, Diamond T, Weng SC, Ren K, Shao P, Abadi DJ (2012) Calvin: fast distributed transactions for partitioned database systems. In: Proceedings of the 2012 ACM SIGMOD international conference on management of data (SIGMOD’12). ACM, New York, pp 1–12. https://doi.org/10.1145/2213836.2213838
Tu S, Zheng W, Kohler E, Liskov B, Madden S (2013) Speedy transactions in multicore in-memory databases. In: Proceedings of the twenty-fourth ACM symposium on operating systems principles (SOSP’13). ACM, New York, pp 18–32. https://doi.org/10.1145/2517349.2522713
Wang T, Kimura H (2016) Mostly-optimistic concurrency control for highly contended dynamic workloads on a thousand cores. PVLDB 10(2):49–60
Wang T, Johnson R, Fekete A, Pandis I (2017) Efficiently making (almost) any concurrency control mechanism serializable. VLDB J 26(4):537–562. https://doi.org/10.1007/s00778-017-0463-8
Wu Y, Arulraj J, Lin J, Xian R, Pavlo A (2017) An empirical evaluation of in-memory multi-version concurrency control. PVLDB 10(7):781–792
Yuan Y, Wang K, Lee R, Ding X, Xing J, Blanas S, Zhang X (2016) BCC: reducing false aborts in optimistic concurrency control with low cost for in-memory databases. PVLDB 9(6): 504–515
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this entry
Cite this entry
Blanas, S. (2019). In-Memory Transactions. In: Sakr, S., Zomaya, A.Y. (eds) Encyclopedia of Big Data Technologies. Springer, Cham. https://doi.org/10.1007/978-3-319-77525-8_177
Download citation
DOI: https://doi.org/10.1007/978-3-319-77525-8_177
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-77524-1
Online ISBN: 978-3-319-77525-8
eBook Packages: Computer ScienceReference Module Computer Science and Engineering