Skip to main content

In-Memory Transactions

  • Reference work entry
  • First Online:
  • 32 Accesses

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

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   849.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Hardcover Book
USD   999.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

References

  • Arulraj J, Perron M, Pavlo A (2016) Write-behind logging. PVLDB 10(4):337–348

    Google Scholar 

  • Bernstein PA, Hadzilacos V, Goodman N (1987) Concurrency control and recovery in database systems. Addison-Wesley, Reading

    Google Scholar 

  • Curino C, Zhang Y, Jones EPC, Madden S (2010) Schism: a workload-driven approach to database replication and partitioning. PVLDB 3(1):48–57

    Google Scholar 

  • 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

    Chapter  Google Scholar 

  • 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

    Chapter  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Chapter  Google Scholar 

  • 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

    Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Google Scholar 

  • 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

    Article  MATH  Google Scholar 

  • 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

    Chapter  Google Scholar 

  • 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

    Article  Google Scholar 

  • Michael MM (2004b) Scalable lock-free dynamic memory allocation. SIGPLAN Not 39(6):35–46. https://doi.org/10.1145/996893.996848

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • Pandis I, Johnson R, Hardavellas N, Ailamaki A (2010) Data-oriented transaction execution. PVLDB 3(1):928–939

    Google Scholar 

  • 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

    Chapter  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Google Scholar 

  • 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

    Google Scholar 

  • 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

    Chapter  Google Scholar 

  • Wang T, Kimura H (2016) Mostly-optimistic concurrency control for highly contended dynamic workloads on a thousand cores. PVLDB 10(2):49–60

    Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Google Scholar 

  • 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

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Spyros Blanas .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Switzerland AG

About this entry

Check for updates. Verify currency and authenticity via CrossMark

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

Publish with us

Policies and ethics