Abstract
Many of today’s applications need massive real-time data processing. In-memory database systems have become a good alternative for these requirements. These systems maintain the primary copy of the database in the main memory to achieve high throughput rates and low latency. However, a database in RAM is more vulnerable to failures than in traditional disk-oriented databases because of the memory volatility. DBMSs implement recovery activities (logging, checkpoint, and restart) for recovery proposes. Although the recovery component looks similar in disk- and memory-oriented systems, these systems differ dramatically in the way they implement their architectural components, such as data storage, indexing, concurrency control, query processing, durability, and recovery. This survey aims to provide a thorough review of in-memory database recovery techniques. To achieve this goal, we reviewed the main concepts of database recovery and architectural choices to implement an in-memory database system. Only then, we present the techniques to recover in-memory databases and discuss the recovery strategies of a representative sample of modern in-memory databases.
- Daniel J. Abadi, Samuel R. Madden, and Nabil Hachem. 2008. Column-stores vs. row-stores: How different are they really? In Proceedings of the 2008 ACM SIGMOD International Conference on Management of Data. 967--980.Google ScholarDigital Library
- Rakesh Agrawal, Michael J. Carey, and Miron Livny. 1987. Concurrency control performance modeling: Alternatives and implications. ACM Transactions on Database Systems (TODS) 12, 4 (1987), 609--654.Google ScholarDigital Library
- Rakesh Agrawal and David J. Dewitt. 1985. Integrated concurrency control and recovery mechanisms: Design and performance evaluation. ACM Transactions on Database Systems (TODS) 10, 4 (1985), 529--564.Google ScholarDigital Library
- Rakesh Agrawal and H. V. Jagadish. 1989. Recovery algorithms for database machines with non-volatile main memory. In Proceedings of the International Workshop on Database Machines. Springer, 269--285.Google Scholar
- Anastassia Ailamaki, David J. DeWitt, Mark D. Hill, and David A. Wood. 1999. DBMSs on a modern processor: Where does time go? In Proceedings of 25th International Conference on Very Large Data Bases (VLDB’99) (September 7-10, 1999, Edinburgh, Scotland, UK). 266--277.Google Scholar
- Martina-Cezara Albutiu, Alfons Kemper, and Thomas Neumann. 2012. Massively parallel sort-merge joins in main memory multi-core database systems. Arxiv Preprint Arxiv:1207.0145 (2012).Google Scholar
- Karolina Alexiou, Donald Kossmann, and Per-Ake Larson. 2013. Adaptive range filters for cold data: Avoiding trips to Siberia. Proceedings of the VLDB Endowment 6, 14 (2013), 1714--1725.Google ScholarDigital Library
- Joy Arulraj and Andrew Pavlo. 2017. How to build a non-volatile memory database management system. In Proceedings of the 2017 ACM International Conference on Management of Data. 1753--1758.Google ScholarDigital Library
- Joy Arulraj, Andrew Pavlo, and Subramanya R. Dulloor. 2015. Let’s talk about storage & recovery methods for non-volatile memory database systems. In Proceedings of the 2015 ACM SIGMOD International Conference on Management of Data. ACM, 707--722.Google Scholar
- Joy Arulraj, Andrew Pavlo, and Prashanth Menon. 2016. Bridging the archipelago between row-stores and column-stores for hybrid workloads. In Proceedings of the 2016 International Conference on Management of Data. 583--598.Google ScholarDigital Library
- Joy Arulraj, Matthew Perron, and Andrew Pavlo. 2016. Write-behind logging. Proceedings of the VLDB Endowment 10, 4 (2016), 337--348.Google ScholarDigital Library
- Peter Bailis, Alan Fekete, Michael J. Franklin, Ali Ghodsi, Joseph M. Hellerstein, and Ion Stoica. 2014. Coordination avoidance in database systems. Proceedings of the VLDB Endowment 8, 3 (2014), 185--196.Google ScholarDigital Library
- Jerry Baulier, Philip Bohannon, S. Gogate, C. Gupta, and S. Haldar. 1999. DataBlitz storage manager: Main-memory database performance for critical applications. In ACM SIGMOD Record, Vol. 28. Association for Computing Machinery (ACM), 519--520.Google Scholar
- Rudolf Bayer and Mario Schkolnick. 1977. Concurrency of operations on b-trees. Acta Informatica 9, 1 (1977), 1--21.Google ScholarDigital Library
- Philip A. Bernstein and Nathan Goodman. 1981. Concurrency control in distributed database systems. ACM Computing Surveys (CSUR) 13, 2 (1981), 185--221.Google ScholarDigital Library
- Philip A. Bernstein, Vassos Hadzilacos, and Nathan Goodman. 1987. Concurrency Control and Recovery in Database Systems. Vol. 370. Addison-Wesley New York.Google ScholarDigital Library
- Roberto Bez, Emilio Camerlenghi, Alberto Modelli, and Angelo Visconti. 2003. Introduction to flash memory. Proc. IEEE 91, 4 (2003), 489--502.Google ScholarCross Ref
- Robert Binna, Eva Zangerle, Martin Pichl, Günther Specht, and Viktor Leis. 2018. Hot: A height optimized trie index for main-memory database systems. In Proceedings of the 2018 International Conference on Management of Data. 521--534.Google ScholarDigital Library
- Dina Bitton, Maria Butrico Hanrahan, and Carolyn Turbyfill. 1987. Performance of complex queries in main memory database systems. In Proceedings of the 1987 IEEE 3rd International Conference onData Engineering. IEEE, 72--81.Google ScholarCross Ref
- Haran Boral, William Alexander, Larry Clay, George Copeland, Scott Danforth, Michael Franklin, Brian Hart, Marc Smith, and Patrick Valduriez. 1990. Prototyping Bubba, a highly parallel database system. IEEE Transactions on Knowledge & Data Engineering 1 (1990), 4--24.Google ScholarDigital Library
- Greg Bronevetsky, Rohit Fernandes, Daniel Marques, Keshav Pingali, and Paul Stodghill. 2006. Recent advances in checkpoint/recovery systems. In Proceedings of the 20th IEEE International Parallel & Distributed Processing Symposium. IEEE, 8--15.Google ScholarCross Ref
- Tuan Cao, Marcos Vaz Salles, Benjamin Sowell, Yao Yue, Alan Demers, Johannes Gehrke, and Walker White. 2011. Fast checkpoint recovery algorithms for frequently consistent applications. In Proceedings of the 2011 ACM SIGMOD International Conference on Management of data. Association for Computing Machinery (ACM), 265--276.Google ScholarDigital Library
- Paulo Cappelletti, Carla Golla, Piero Olivo, and Enrico Zanoni. 2013. Flash Memories. Springer Science & Business Media.Google Scholar
- Michael J. Carey. 1984. The Performance of Concurrency Control Algorithms for Database Management Systems. Technical Report. University of Wisconsin-Madison Department of Computer Sciences.Google Scholar
- Sang K. Cha and Changbin Song. 2004. P* TIME: Highly scalable OLTP DBMS for managing update-intensive stream workload. In Proceedings of the 30th International Conference on Very Large Data Bases-Volume 30. VLDB Endowment, 1033--1044.Google Scholar
- Andreas Chatzistergiou, Marcelo Cintra, and Stratis D. Viglas. 2015. Rewind: Recovery write-ahead system for in-memory non-volatile data-structures. Proceedings of the VLDB Endowment 8, 5 (2015), 497--508.Google ScholarDigital Library
- Jack Chen, Samir Jindel, Robert Walzer, Rajkumar Sen, Nika Jimsheleishvilli, and Michael Andrews. 2016. The MEMSQL query optimizer: A modern optimizer for real-time analytics in a distributed database. Proceedings of the VLDB Endowment 9, 13 (2016), 1401--1412.Google ScholarDigital Library
- Shimin Chen, Phillip B. Gibbons, and Todd C. Mowry. 2001. Improving index performance through prefetching. ACM SIGMOD Record 30, 2 (2001), 235--246.Google ScholarDigital Library
- Shimin Chen, Phillip B. Gibbons, and Suman Nath. 2011. Rethinking database algorithms for phase change memory.. In CIDR, Vol. 11. 5th.Google Scholar
- Josephine M. Cheng, Christopher R. Loosley, Akira Shibamiya, and Patricia S. Worthington. 1984. IBM database 2 performance: Design, implementation, and tuning. IBM Systems Journal 23, 2 (1984), 189--210.Google ScholarDigital Library
- Jatin Chhugani, Anthony D. Nguyen, Victor W. Lee, William Macy, Mostafa Hagog, Yen-Kuang Chen, Akram Baransi, Sanjeev Kumar, and Pradeep Dubey. 2008. Efficient implementation of sorting on multi-core SIMD CPU architecture. Proceedings of the VLDB Endowment 1, 2 (2008), 1313--1324.Google ScholarDigital Library
- Brian E. Clark and Michael J. Corrigan. 1989. Application system/400 performance characteristics. IBM Systems Journal 28, 3 (1989), 407--423.Google ScholarDigital Library
- Joel Coburn, Trevor Bunker, Meir Schwarz, Rajesh Gupta, and Steven Swanson. 2013. From ARIES to MARS: Transaction support for next-generation, solid-state drives. In Proceedings of the 24th ACM Symposium on Operating Systems Principles. 197--212.Google ScholarDigital Library
- George P. Copeland and Setrag N. Khoshafian. 1985. A decomposition storage model. ACM SIGMOD Record 14, 4 (1985), 268--279.Google ScholarDigital Library
- Richard A. Crus. 1984. Data recovery in IBM database 2. IBM Systems Journal 23, 2 (1984), 178--188.Google ScholarDigital Library
- Bin Cui, Beng Chin Ooi, Jianwen Su, and Kian-Lee Tan. 2003. Contorting high dimensional data for efficient main memory KNN processing. In Proceedings of the 2003 ACM SIGMOD International Conference on Management of Data. 479--490.Google ScholarDigital Library
- Bin Cui, Beng Chin Ooi, Jianwen Su, and K.-L. Tan. 2004. Main memory indexing: The case for BD-tree. IEEE Transactions on Knowledge and Data Engineering 16, 7 (2004), 870--874.Google ScholarDigital Library
- Justin DeBrabant, Joy Arulraj, Andrew Pavlo, Michael Stonebraker, Stan Zdonik, and Subramanya Dulloor. 2014. A prolegomenon on OLTP database systems for non-volatile memory. ADMS@ VLDB (2014).Google Scholar
- Justin DeBrabant, Andrew Pavlo, Stephen Tu, Michael Stonebraker, and Stan Zdonik. 2013. Anti-caching: A new approach to database management system architecture. Proceedings of the VLDB Endowment 6, 14 (2013), 1942--1953.Google ScholarDigital Library
- David J. DeWitt, Shahram Ghandeharizadeh, Donovan A. Schneider, Allan Bricker, Hui-I Hsiao, and Rick Rasmussen. 1990. The gamma database machine project. IEEE Trans. Knowl. Data Eng. 2, 1 (1990), 44--62.Google ScholarDigital Library
- David J. DeWitt, Randy H. Katz, Frank Olken, Leonard D. Shapiro, Michael R. Stonebraker, and David A. Wood. 1984. Implementation Techniques for Main Memory Database Systems. Vol. 14. Association for Computing Machinery.Google ScholarDigital Library
- Cristian Diaconu, Craig Freedman, Erik Ismert, Per-Ake Larson, Pravin Mittal, Ryan Stonecipher, Nitin Verma, and Mike Zwilling. 2013. Hekaton: SQL server’s memory-optimized OLTP engine. In Proceedings of the 2013 ACM SIGMOD International Conference on Management of Data. Association for Computing Machinery (ACM), 1243--1254.Google ScholarDigital Library
- Aleksandar Dragojević, Dushyanth Narayanan, Miguel Castro, and Orion Hodson. 2014. FaRM: Fast remote memory. In Proceedings of the 11th {USENIX} Symposium on Networked Systems Design and Implementation (NSDI 14). 401--414.Google Scholar
- Alexander Driskill-Smith. 2010. Latest advances and future prospects of STT-RAM. In Proceedings of the Non-Volatile Memories Workshop. 11--13.Google Scholar
- Margaret H. Eich. 1986. Main memory database recovery. In Proceedings of the Fall Joint Computer Conference. IEEE Computer Society Press, 1226--1232.Google Scholar
- Margaret H. Eich. 1987. A classification and comparison of main memory database recovery techniques. In Proceedings of the 1987 IEEE 3rd International Conference on Data Engineering. IEEE, 332--339.Google ScholarCross Ref
- Margaret H. Eich. 1988. Mars: The design of a main memory database machine. Database Machines and Knowledge Base Machines 43 (1988), 325--338.Google ScholarCross Ref
- Ahmed Eldawy, Justin Levandoski, and Per-Ake Larson. 2014. Trekking through Siberia: Managing cold data in a memory-optimized database. Proceedings of the VLDB Endowment 7, 11 (2014), 931--942.Google ScholarDigital Library
- Franz Faerber, Alfons Kemper, Per-Ake Larson, Justin Levandoski, Thomas Neumann, Andrew Pavlo, et al. 2017. Main memory database systems. Foundations and Trends® in Databases 8, 1--2 (2017), 1--130.Google Scholar
- Bin Fan, David G. Andersen, and Michael Kaminsky. 2013. Memc3: Compact and concurrent memcache with dumber caching and smarter hashing. In Presented as part of the 10th {USENIX} Symposium on Networked Systems Design and Implementation ({NSDI} 13). 371--384.Google Scholar
- Franz Färber, Sang Kyun Cha, Jürgen Primsch, Christof Bornhövd, Stefan Sigg, and Wolfgang Lehner. 2012. SAP HANA database: Data management for modern business applications. ACM SIGMOD Record 40, 4 (2012), 45--51.Google ScholarDigital Library
- Franz Färber, Norman May, Wolfgang Lehner, Philipp Große, Ingo Müller, Hannes Rauhe, and Jonathan Dees. 2012. The SAP HANA database--an architecture overview. IEEE Data Engineering Bulletin 35, 1 (2012), 28--33.Google Scholar
- Fork. 2020. Fork (system call). https://en.wikipedia.org/wiki/Fork_(system_call). Accessed in December 1, 2020.Google Scholar
- Peter Franaszek and John T. Robinson. 1985. Limitations of concurrency in transaction processing. ACM Transactions on Database Systems (TODS) 10, 1 (1985), 1--28.Google ScholarDigital Library
- Craig Freedman, Erik Ismert, and Per-Ake Larson. 2014. Compilation in the Microsoft SQL server Hekaton engine. IEEE Data Engineering Bulletin. 37, 1 (2014), 22--30.Google Scholar
- Florian Funke, Alfons Kemper, Tobias Mühlbauer, Thomas Neumann, and Viktor Leis. 2014. HyPer beyond software: Exploiting modern hardware for main-memory database systems. Datenbank-Spektrum 14, 3 (2014), 173--181.Google ScholarCross Ref
- Shen Gao, Jianliang Xu, Bingsheng He, Byron Choi, and Haibo Hu. 2011. PCMLogging: Reducing transaction logging overhead with PCM. In Proceedings of the 20th ACM International Conference on Information and Knowledge Management. 2401--2404.Google ScholarDigital Library
- Hector Garcia-Molina and Kenneth Salem. 1992. Main memory database systems: An overview. IEEE Transactions on Knowledge and Data Engineering 4, 6 (1992), 509--516.Google ScholarDigital Library
- Vishesh Garg, Abhimanyu Singh, and Jayant R. Haritsa. 2015. On Improving Write Performance in PCM Databases. Technical Report. Technical report, TR-2015-01, IISc.Google Scholar
- Dieter Gawlick and David Kinkade. 1985. Varieties of concurrency control in IMS/VS fast path. IEEE Database Engineering Bulletin 8, 2 (1985), 3--10.Google Scholar
- Goetz Graefe, Wey Guy, and Caetano Sauer. 2016. Instant recovery with write-ahead logging: Page repair, system restart, media restore, and system failover. Synthesis Lectures on Data Management 8, 2 (2016), 1--113.Google ScholarCross Ref
- Goetz Graefe and Harumi Kuno. 2012. Definition, detection, and recovery of single-page failures, a fourth class of database failures. Proceedings of the VLDB Endowment 5, 7 (2012), 646--655.Google ScholarDigital Library
- Goetz Graefe and William J. McKenna. 1993. The volcano optimizer generator: Extensibility and efficient search. In Proceedings of IEEE 9th International Conference on Data Engineering. IEEE, 209--218.Google Scholar
- Jim Gray and D. Bitton. 1988. Disk shadowing. In Proceedings of the 14th International Conference on Very Large Data Bases (VLDB’88), August 1988, Vol. 88. 331--338.Google Scholar
- Jim Gray, Pat Helland, Patrick O’Neil, and Dennis Shasha. 1996. The dangers of replication and a solution. In Proceedings of the 1996 ACM SIGMOD International Conference on Management of Data. 173--182.Google ScholarDigital Library
- Jim Gray, Paul McJones, Mike Blasgen, Bruce Lindsay, Raymond Lorie, Tom Price, Franco Putzolu, and Irving Traiger. 1981. The recovery manager of the system R database manager. ACM Computing Surveys (CSUR) 13, 2 (1981), 223--242.Google ScholarDigital Library
- Jim Gray and Andreas Reuter. 1992. Transaction Processing: Concepts and Techniques. Elsevier.Google ScholarDigital Library
- Jim N. Gray, Raymond A. Lorie, and Gianfranco R. Putzolu. 1975. Granularity of locks in a shared data base. In Proceedings of the 1st International Conference on Very Large Data Bases. 428--451.Google Scholar
- Tandem Database Group. 1987. NonStop SQL: A distributed, high-performance, high-availability implementation of SQL. In Proceedings of the High Performance Transaction Systems: 2nd International Workshop Asilomar Conference Center, Pacific Grove, CA, USA September 28--30. Springer, 60--104.Google Scholar
- Le Gruenwald and Margaret H. Eich. 1991. MMDB Reload Algorithms. Vol. 20. In Proceedings of the 1991 ACM SIGMOD International Conference on Management of Data (SIGMOD’91), April 1991 397-405.Google ScholarDigital Library
- Le Gruenwald and Margaret H. Eich. 1994. MMDB reload concerns. Information Sciences 76, 1--2 (1994), 151--176.Google ScholarDigital Library
- Wenming Guo and Zhiqiang Hu. 2010. Memory database index optimization. In Proceedings of the 2010 International Conference on Computational Intelligence and Software Engineering. IEEE, 1--3.Google ScholarCross Ref
- Mohit Kumar Gupta, Vishal Verma, and Megha Singh Verma. 2014. In-memory database systems-a paradigm shift. Arxiv Preprint Arxiv:1402.1258 (2014).Google Scholar
- Theo Haerder and Andreas Reuter. 1983. Principles of transaction-oriented database recovery. ACM Computing Surveys (CSUR) 15, 4 (1983), 287--317.Google ScholarDigital Library
- Robert Hagmann. 1987. Reimplementing the Cedar file system using logging and group commit. In Proceedings of the 11th ACM Symposium on Operating Systems Principles. 155--162.Google ScholarDigital Library
- Robert B. Hagmann. 1986. A crash recovery scheme for a memory-resident database system. IEEE Trans. Comput. 35, 9 (1986), 839--843.Google ScholarDigital Library
- Theo Härder, Caetano Sauer, Goetz Graefe, and Wey Guy. 2015. Instant recovery with write-ahead logging. Datenbank-Spektrum 15, 3 (2015), 235--239.Google ScholarCross Ref
- Stavros Harizopoulos, Daniel J. Abadi, Samuel Madden, and Michael Stonebraker. 2018. OLTP through the looking glass, and what we found there. In Making Databases Work: The Pragmatic Wisdom of Michael Stonebraker. 409--439.Google Scholar
- Robin Harris. 2016. Windows leaps into the NVM revolution. https://www.zdnet.com/article/windows-leaps-into-the-nvm-revolution/. Accessed in July 22, 2020.Google Scholar
- Wytze Hazenberg and Sjoerd Hemminga. 2011. Main memory database systems: Opportunities and pitfalls. SC@ RUG 2011 Proceedings (2011), 113.Google Scholar
- Maurice Herlihy and J. Eliot B. Moss. 1993. Transactional memory: Architectural support for lock-free data structures. In Proceedings of the 20th Annual International Symposium on Computer Architecture. 289--300.Google ScholarDigital Library
- Maristela Holanda, Angelo Brayner, and Sergio Fialho. 2008. A self-adaptable scheduler for synchronizing transactions in dynamically configurable environments. Data & Knowledge Engineering 66, 2 (2008), 223--242.Google ScholarDigital Library
- Huiqi Hu, Xuan Zhou, Tao Zhu, Weining Qian, and Aoying Zhou. 2019. In-memory transaction processing: Efficiency and scalability considerations. Knowledge and Information Systems 61, 3 (2019), 1209--1240.Google ScholarCross Ref
- Jian Huang, Karsten Schwan, and Moinuddin K. Qureshi. 2014. NVRAM-aware logging in transaction systems. Proceedings of the VLDB Endowment 8, 4 (2014), 389--400.Google ScholarDigital Library
- Svein-Olaf Hvasshovd, Øystein Torbjørnsen, Svein Erik Bratsberg, and Per Holager. 1995. The clustra telecom database: High availability, high throughput, and real-time response. In Proceedings of the 21st International Conference on Very Large Data Bases. Morgan Kaufmann Publishers Inc., 469--477.Google Scholar
- Joseph Izraelevitz, Terence Kelly, and Aasheesh Kolli. 2016. Failure-atomic persistent memory updates via JUSTDO logging. ACM SIGARCH Computer Architecture News 44, 2 (2016), 427--442.Google ScholarDigital Library
- H. V. Jagadish, Abraham Silberschatz, and S. Sudarshan. 1993. Recovering from main-memory lapses. In Proceedings of VLDB, Vol. 93. 391--404.Google Scholar
- Hosagrahar V. Jagadish, Daniel Lieuwen, Rajeev Rastogi, Abraham Silberschatz, and S. Sudarshan. 1994. Dali: A high performance main memory storage manager. In Proceedings of VLDB. 48--59.Google Scholar
- Flavio P. Junqueira, Benjamin C. Reed, and Marco Serafini. 2011. ZAB: High-performance broadcast for primary-backup systems. In Proceedings of the 2011 IEEE/IFIP 41st International Conference on Dependable Systems & Networks (DSN). IEEE, 245--256.Google ScholarDigital Library
- Robert Kallman, Hideaki Kimura, Jonathan Natkins, Andrew Pavlo, Alex Rasin, Stanley B. Zdonik, Evan P. C. Jones, Samuel Madden, Michael Stonebraker, Yang Zhang, John Hugg, and Daniel J. Abadi. 2008. H-store: a high-performance, distributed main memory transaction processing system. Proceedings of the VLDB Endowment 1, 2 (2008), 1496--1499.Google ScholarDigital Library
- Tomas Karnagel, Roman Dementiev, Ravi Rajwar, Konrad Lai, Thomas Legler, Benjamin Schlegel, and Wolfgang Lehner. 2014. Improving in-memory database index performance with intel® transactional synchronization extensions. In Proceedings of the 2014 IEEE 20th International Symposium on High Performance Computer Architecture (HPCA). IEEE, 476--487.Google ScholarCross Ref
- Alfons Kemper and Thomas Neumann. 2011. HyPer: A hybrid OLTP&OLAP main memory database system based on virtual memory snapshots. In Proceedings of the 2011 IEEE 27th International Conference on Data Engineering (ICDE). IEEE, 195--206.Google ScholarDigital Library
- Changkyu Kim, Jatin Chhugani, Nadathur Satish, Eric Sedlar, Anthony D. Nguyen, Tim Kaldewey, Victor W. Lee, Scott A. Brandt, and Pradeep Dubey. 2010. FAST: Fast architecture sensitive tree search on modern CPUs and GPUs. In Proceedings of the 2010 ACM SIGMOD International Conference on Management of data. 339--350.Google ScholarDigital Library
- Hideaki Kimura. 2015. FOEDUS: OLTP engine for a thousand cores and NVRAM. In Proceedings of the 2015 ACM SIGMOD International Conference on Management of Data. 691--706.Google ScholarDigital Library
- Hsiang-Tsung Kung and John T. Robinson. 1981. On optimistic methods for concurrency control. ACM Transactions on Database Systems (TODS) 6, 2 (1981), 213--226.Google ScholarDigital Library
- Tirthankar Lahiri, Marie-Anne Neimat, and Steve Folkman. 2013. Oracle timesten: An in-memory database for enterprise applications. IEEE Data Eng. Bull. 36, 2 (2013), 6--13.Google Scholar
- Leslie Lamport. 2019. The part-time parliament. In Concurrency: The Works of Leslie Lamport. 277--317.Google Scholar
- Leslie Lamport. 2001. Paxos made simple. ACM Sigact News 32, 4 (2001), 18--25.Google Scholar
- Per-Ake Larson. 1988. Linear hashing with separatorsâa dynamic hashing scheme achieving one-access. ACM Transactions on Database Systems (TODS) 13, 3 (1988), 366--388.Google ScholarDigital Library
- Per-Ake Larson and Justin Levandoski. 2016. Modern main-memory database systems. Proceedings of the VLDB Endowment 9, 13 (2016), 1609--1610.Google ScholarDigital Library
- Per-Ake Larson, Mike Zwilling, and Kevin Farlee. 2013. The Hekaton memory-optimized OLTP engine. IEEE Data Engineering Bulletin. 36, 2 (2013), 34--40.Google Scholar
- Juchang Lee, Yong Sik Kwon, Franz Färber, Michael Muehle, Chulwon Lee, Christian Bensberg, Joo Yeon Lee, Arthur H. Lee, and Wolfgang Lehner. 2013. SAP HANA distributed in-memory database system: Transaction, session, and metadata management. In Proceedings of the 2013 IEEE 29th International Conference on Data Engineering (ICDE). IEEE, 1165--1173.Google Scholar
- Tobin J. Lehman and Michael J. Carey. 1985. A Study of Index Structures for Main Memory Database Management Systems. Technical Report. University of Wisconsin-Madison Department of Computer Sciences.Google Scholar
- Tobin J. Lehman and Michael J. Carey. 1987. A Recovery Algorithm for a High-performance Memory-resident Database System. Vol. 16. Association for Computing Machinery (ACM).Google Scholar
- Tobin J. Lehman, Eugene J. Shekita, and L.-F. Cabrera. 1992. An evaluation of starburst’s memory resident storage component. IEEE Transactions on Knowledge and Data Engineering 4, 6 (1992), 555--566.Google ScholarDigital Library
- Viktor Leis, Peter Boncz, Alfons Kemper, and Thomas Neumann. 2014. Morsel-driven parallelism: A NUMA-aware query evaluation framework for the many-core age. In Proceedings of the 2014 ACM SIGMOD International Conference on Management of Data. 743--754.Google ScholarDigital Library
- Viktor Leis, Michael Haubenschild, and Thomas Neumann. 2019. Optimistic lock coupling: A scalable and efficient general-purpose synchronization method. IEEE Data Engineering Bulletin 42, 1 (2019), 73--84.Google Scholar
- Viktor Leis, Alfons Kemper, and Thomas Neumann. 2013. The adaptive radix tree: ARTful indexing for main-memory databases. In 2013 IEEE 29th International Conference on Data Engineering (ICDE). IEEE, 38--49.Google ScholarDigital Library
- Viktor Leis, Alfons Kemper, and Thomas Neumann. 2014. Exploiting hardware transactional memory in main-memory databases. In Proceedings of the 2014 IEEE 30th International Conference on Data Engineering. IEEE, 580--591.Google ScholarCross Ref
- Justin J. Levandoski, Per-Ake Larson, and Radu Stoica. 2013. Identifying hot and cold data in main-memory databases. In Proceedings of the 2013 IEEE 29th International Conference onData Engineering (ICDE). IEEE, 26--37.Google ScholarDigital Library
- Justin J. Levandoski, David B. Lomet, and Sudipta Sengupta. 2013. The bw-tree: A b-tree for new hardware platforms. In Proceedings of the 2013 IEEE 29th International Conference on Data Engineering (ICDE). IEEE, 302--313.Google ScholarDigital Library
- Eliezer Levy and Abraham Silberschatz. 1992. Incremental recovery in main memory database systems. IEEE Transactions on Knowledge and Data Engineering 4, 6 (1992), 529--540.Google ScholarDigital Library
- Kai Li and Jeffrey F. Naughton. 2000. Multiprocessor main memory transaction processing. In Proceedings of the 1st International Symposium on Databases in Parallel and Distributed Systems. IEEE Computer Society Press, 177--187.Google Scholar
- Liang Li, Guoren Wang, Gang Wu, and Ye Yuan. 2018. Consistent snapshot algorithms for in-memory database systems: Experiments and analysis. In Proceedings of the 2018 IEEE 34th International Conference on Data Engineering (ICDE). IEEE, 1284--1287.Google ScholarCross Ref
- Liang Li, Guoren Wang, Gang Wu, Ye Yuan, Lei Chen, and Xiang Lian. 2018. A comparative study of consistent snapshot algorithms for main-memory database systems. Arxiv Preprint Arxiv:1810.04915 (2018).Google Scholar
- Xi Li and Margaret H. Eich. 1993. Post-crash log processing for fuzzy checkpointing main memory databases. In Proceedings of the 1993 9th International Conference on Data Engineering. IEEE, 117--124.Google Scholar
- Yinan Li, Ippokratis Pandis, Rene Mueller, Vijayshankar Raman, and Guy M. Lohman. 2013. NUMA-aware algorithms: the case of data shuffling. In CIDR.Google Scholar
- A.-P. Liedes and Antoni Wolski. 2006. Siren: A memory-conserving, snapshot-consistent checkpoint algorithm for in-memory databases. In Proceedings of the 22nd International Conference on Data Engineering, 2006 (ICDE’06). IEEE, 99--99.Google ScholarDigital Library
- Jun-Lin Lin and Margaret H. Dunham. 1997. A survey of distributed database checkpointing. Distributed and Parallel Databases 5, 3 (1997), 289--319.Google ScholarDigital Library
- Barbara Liskov and Robert Scheifler. 1983. Guardians and actions: Linguistic support for robust, distributed programs. ACM Transactions on Programming Languages and Systems (TOPLAS) 5, 3 (1983), 381--404.Google ScholarDigital Library
- David Lomet, Alan Fekete, Rui Wang, and Peter Ward. 2012. Multi-version concurrency via timestamp range conflict management. In Proceedings of the 2012 IEEE 28th International Conference on Data Engineering. IEEE, 714--725.Google ScholarDigital Library
- Lukas M. Maas, Thomas Kissinger, Dirk Habich, and Wolfgang Lehner. 2013. Buzzard: A numa-aware in-memory indexing system. In Proceedings of the 2013 ACM SIGMOD International Conference on Management of Data. 1285--1286.Google ScholarDigital Library
- Sanjay Kumar Madria. 1997. A study of the concurrency control and recovery algorithms in nested transaction environment. Comput. J. 40, 10 (1997), 630--639.Google ScholarCross Ref
- Darko Makreshanski, Justin Levandoski, and Ryan Stutsman. 2015. To lock, swap, or elide: On the interplay of hardware transactional memory and lock-free indexing. Proceedings of the VLDB Endowment 8, 11 (2015), 1298--1309.Google ScholarDigital Library
- Nirmesh Malviya, Ariel Weisberg, Samuel Madden, and Michael Stonebraker. 2014. Rethinking main memory OLTP recovery. In Proceedings of the 2014 IEEE 30th International Conference on Data Engineering (ICDE). IEEE, 604--615.Google ScholarCross Ref
- Yandong Mao, Eddie Kohler, and Robert Tappan Morris. 2012. Cache craftiness for fast multicore key-value storage. In Proceedings of the 7th ACM European Conference on Computer Systems. 183--196.Google ScholarDigital Library
- Prashanth Menon, Todd C. Mowry, and Andrew Pavlo. 2017. Relaxed operator fusion for in-memory databases: Making compilation, vectorization, and prefetching work together at last. Proceedings of the VLDB Endowment 11, 1 (2017), 1--13.Google ScholarDigital Library
- Toshimi Minoura. 1983. Multi-level Concurrency Control of a Database System. Oregon State University, Computer Science Department.Google Scholar
- Christopher Mitchell, Yifeng Geng, and Jinyang Li. 2013. Using one-sided (RDMA) reads to build a fast, CPU-efficient key-value store. In Proceedings of the 2013 {USENIX} Annual Technical Conference ({USENIX}{ATC} 13). 103--114.Google Scholar
- C. Mohan. 1989. ARIES/KVL: A Key-Value Locking Method for Concurrency Control of Multiaction Transactions Operating on B-Tree Indexes. Citesefer.Google Scholar
- C. Mohan. 1993. ARIES/LHS: A concurrency control and recovery method using write-ahead logging for linear hashing with separators. In Proceedings of IEEE 9th International Conference on Data Engineering. IEEE, 243--252.Google ScholarCross Ref
- C. Mohan. 1999. Repeating history beyond ARIES. In Proceedings of VLDB, Vol. 99. 7--10.Google Scholar
- C. Mohan, Don Haderle, Bruce Lindsay, Hamid Pirahesh, and Peter Schwarz. 1992. ARIES: A transaction recovery method supporting fine-granularity locking and partial rollbacks using write-ahead logging. ACM Transactions on Database Systems (TODS) 17, 1 (1992), 94--162.Google ScholarDigital Library
- C. Mohan and Frank Levine. 1992. ARIES/IM: An efficient and high concurrency index management method using write-ahead logging. ACM SIGMOD Record 21, 2 (1992), 371--380.Google ScholarDigital Library
- C. Mohan and Inderpal Narang. 1994. ARIES/CSA: A method for database recovery in client-server architectures. In Proceedings of the 1994 ACM SIGMOD International Conference on Management of Data. 55--66.Google ScholarDigital Library
- C. Mohan and Hamid Pirahesh. 1991. ARIES-RRH: Restricted repeating of history in the ARIES transaction recovery method. In Proceedings of the 7th International Conference on Data Engineering (1991). IEEE, 718--727.Google ScholarCross Ref
- José Maria Monteiro, Angelo Brayner, and Sérgio Lifschitz. 2009. Using transaction isolation levels for ensuring replicated database consistency in mobile computing environments. In Proceedings of the 8th ACM International Workshop on Data Engineering for Wireless and Mobile Access. 1--8.Google ScholarDigital Library
- Henrik Mühe, Alfons Kemper, and Thomas Neumann. 2011. How to efficiently snapshot transactional data: Hardware or software controlled? In Proceedings of the 7th International Workshop on Data Management on New Hardware. Association for Computing Machinery (ACM), 17--26.Google ScholarDigital Library
- Tobias Mühlbauer, Wolf Rödiger, Robert Seilbeck, Angelika Reiser, Alfons Kemper, and Thomas Neumann. 2013. Instant loading for main memory databases. Proceedings of the VLDB Endowment 6, 14 (2013), 1702--1713.Google ScholarDigital Library
- MySQL. 2020. MySQL. http://www.mysql.com. Accessed in October 3, 2020.Google Scholar
- Thomas Neumann. 2011. Efficiently compiling efficient query plans for modern hardware. Proceedings of the VLDB Endowment 4, 9 (2011), 539--550.Google ScholarDigital Library
- Thomas Neumann, Tobias Mühlbauer, and Alfons Kemper. 2015. Fast serializable multi-version concurrency control for main-memory database systems. In Proceedings of the 2015 ACM SIGMOD International Conference on Management of Data. 677--689.Google ScholarDigital Library
- Chris Nyberg, Tom Barclay, Zarka Cvetanovic, Jim Gray, and Dave Lomet. 1994. AlphaSort: A RISC machine sort. ACM SIGMOD Record 23, 2 (1994), 233--242.Google ScholarDigital Library
- Diego Ongaro and John Ousterhout. 2014. In search of an understandable consensus algorithm. In Proceedings of the 2014 USENIX} Annual Technical Conference ({USENIX}{ATC} 14). 305--319.Google Scholar
- Diego Ongaro, Stephen M. Rumble, Ryan Stutsman, John Ousterhout, and Mendel Rosenblum. 2011. Fast crash recovery in RAMCloud. In Proceedings of the 23rd ACM Symposium on Operating Systems Principles. 29--41.Google ScholarDigital Library
- Oracle. 2020. Oracle | Integrated Cloud Applications and Platform Services. http://www.oracle.com. Accessed in December 4, 2020.Google Scholar
- Ismail Oukid, Daniel Booss, Adrien Lespinasse, Wolfgang Lehner, Thomas Willhalm, and Grégoire Gomes. 2017. Memory management techniques for large-scale persistent-main-memory systems. Proceedings of the VLDB Endowment 10, 11 (2017), 1166--1177.Google ScholarDigital Library
- Ippokratis Pandis, Pinar Tözün, Ryan Johnson, and Anastasia Ailamaki. 2011. PLP: Page latch-free shared-everything OLTP. Proceedings of the VLDB Endowment 4, 10 (2011), 610--621.Google ScholarDigital Library
- Andrew Pavlo, Gustavo Angulo, Joy Arulraj, Haibin Lin, Jiexi Lin, Lin Ma, Prashanth Menon, Todd C. Mowry, Matthew Perron, Ian Quah, Siddharth Santurkar, Anthony Tomasic, Skye Toor, Dana Van Aken, Ziqi Wang, Yingjun Wu, Ran Xian, and Tieying Zhang. 2017. Self-driving database management systems. In Proceedings of the 8th Biennial Conference on Innovative Data Systems Research, Chaminade, CA, USA, January 8-11 (CIDR’17).Google Scholar
- Steven Pelley, Thomas F. Wenisch, Brian T. Gold, and Bill Bridge. 2013. Storage management in the NVRAM era. Proceedings of the VLDB Endowment 7, 2 (2013), 121--132.Google ScholarDigital Library
- Peloton. 2019. Peloton - The Self-Driving Database Management System. https://pelotondb.io. Accessed in April 30, 2020.Google Scholar
- Danica Porobic, Erietta Liarou, Pınar Tözün, and Anastasia Ailamaki. 2014. ATraPos: Adaptive transaction processing on hardware islands. In Proceedings of the 2014 IEEE 30th International Conference on Data Engineering. IEEE, 688--699.Google ScholarCross Ref
- Danica Porobic, Ippokratis Pandis, Miguel Branco, Pınar Tözün, and Anastasia Ailamaki. 2012. OLTP on hardware islands. Arxiv Preprint Arxiv:1208.0227 (2012).Google Scholar
- Philippe Pucheral, Jean-Marc Thévenin, and Patrick Valduriez. 1990. Efficient main memory data management using the DBGraph storage model.. In Proceedings of the Symposium on VLDB. 683--695.Google Scholar
- Raghu Ramakrishnan and Johannes Gehrke. 2000. Database Management Systems. McGraw-Hill.Google ScholarDigital Library
- Vijayshankar Raman, Garret Swart, Lin Qiao, Frederick Reiss, Vijay Dialani, Donald Kossmann, Inderpal Narang, and Richard Sidle. 2008. Constant-time query processing. In Proceedings of the 2008 IEEE 24th International Conference on Data Engineering. IEEE, 60--69.Google ScholarDigital Library
- Jun Rao and Kenneth A. Ross. 2000. Making B+-trees cache conscious in main memory. In Proceedings of the 2000 ACM SIGMOD International Conference on Management of Data. 475--486.Google ScholarDigital Library
- Simone Raoux, Geoffrey W. Burr, Matthew J. Breitwisch, Charles T. Rettner, Yi-Chou Chen, Robert M. Shelby, Martin Salinga, Daniel Krebs, Shih-Hung Chen, Hsiang-Lan Lung, and Chung Hon Lam. 2008. Phase-change random access memory: A scalable technology. IBM Journal of Research and Development 52, 4.5 (2008), 465--479.Google ScholarDigital Library
- Kun Ren, Thaddeus Diamond, Daniel J. Abadi, and Alexander Thomson. 2016. Low-overhead asynchronous checkpointing in main-memory database systems. In Proceedings of the 2016 International Conference on Management of Data. 1539--1551.Google ScholarDigital Library
- Kun Ren, Alexander Thomson, and Daniel J. Abadi. 2012. Lightweight locking for main memory database systems. Proceedings of the VLDB Endowment 6, 2 (2012), 145--156.Google ScholarDigital Library
- Ohad Rodeh. 2008. B-trees, shadowing, and clones. ACM Transactions on Storage (TOS) 3, 4 (2008), 1--27.Google ScholarDigital Library
- Mendel Rosenblum, Edouard Bugnion, Stephen Alan Herrod, Emmett Witchel, and Anoop Gupta. 1995. The impact of architectural trends on operating system performance. ACM SIGOPS Operating Systems Review 29, 5 (1995), 285--298.Google ScholarDigital Library
- Mendel Rosenblum and John K. Ousterhout. 1992. The design and implementation of a log-structured file system. ACM Transactions on Computer Systems (TOCS) 10, 1 (1992), 26--52.Google ScholarDigital Library
- Kurt Rothermel and C. Mohan. 1989. ARIES/NT: A Recovery Method Based on Write-Ahead Logging for Nested Transactions. IBM Thomas J. Watson Research Division.Google Scholar
- Yehoshua Sagiv. 1986. Concurrent operations on B*-trees with overtaking. Journal of Computer and System Sciences 33, 2 (1986), 275--296.Google ScholarDigital Library
- Kenneth Salem and Hector Garcia-Molina. 1989. Checkpointing memory-resident databases. In Proceedings of the 5th International Conference on Data Engineering, 1989. IEEE, 452--462.Google ScholarCross Ref
- Kenneth Salem and Hector Garcia-Molina. 1990. System M: A transaction processing testbed for memory resident data. IEEE Transactions on Knowledge and Data Engineering 2, 1 (1990), 161--172.Google ScholarDigital Library
- Caetano Sauer. 2017. Modern Techniques for Transaction-oriented Database Recovery. Ph.D. Dissertation. University of Kaiserslautern, Kaiserslautern, Germany. http://www.dr.hut-verlag.de/978-3-8439-3297-4.html.Google Scholar
- Caetano Sauer. 2019. Modern Techniques for Transaction-oriented Database Recovery. LNI, Vol. P-289. Gesellschaft für Informatik, Bonn. https://doi.org/10.18420/btw2019-30Google Scholar
- Caetano Sauer, Goetz Graefe, and Theo Härder. 2015. Single-pass restore after a media failure. In Proceedings of the Datenbanksysteme für Business, Technologie und Web (BTW 2015) (2015).Google Scholar
- Caetano Sauer, Goetz Graefe, and Theo Härder. 2017. Instant restore after a media failure. In Proceedings of the European Conference on Advances in Databases and Information Systems. Springer, 311--325.Google ScholarCross Ref
- Caetano Sauer, Goetz Graefe, and Theo Härder. 2018. FineLine: Log-structured transactional storage and recovery. Proceedings of the VLDB Endowment 11, 13 (2018), 2249--2262.Google ScholarCross Ref
- Bianca Schroeder and Garth A. Gibson. 2007. Understanding failures in petascale computers. In Journal of Physics: Conference Series, Vol. 78. IOP Publishing, 012022.Google ScholarDigital Library
- David Schwalb, Tim Berning, Martin Faust, Markus Dreseler, and Hasso Plattner. 2015. NVM MALLOC: Memory allocation for NVRAM. ADMS@ VLDB 15 (2015), 61--72.Google Scholar
- David Schwalb, Girish Kumar BK, Markus Dreseler, S. Anusha, Martin Faust, Adolf Hohl, Tim Berning, Gaurav Makkar, Hasso Plattner, and Parag Deshmukh. 2016. Hyrise-NV: Instant recovery for in-memory databases using non-volatile memory. In International Conference on Database Systems for Advanced Applications. Springer, 267--282.Google ScholarDigital Library
- David Schwalb, Martin Faust, Markus Dreseler, Pedro Flemming, and Hasso Plattner. 2016. Leveraging non-volatile memory for instant restarts of in-memory database systems. In Proceedings of the 2016 IEEE 32nd International Conference on Data Engineering (ICDE). IEEE, 1386--1389.Google ScholarCross Ref
- Dennis Shasha. 1985. What good are concurrent search structure algorithms for databases anyway? IEEE Database Engioneering Bulletin. 8, 2 (1985), 84--90.Google Scholar
- Dennis Shasha and Nathan Goodman. 1988. Concurrent search structure algorithms. ACM Transactions on Database Systems (TODS) 13, 1 (1988), 53--90.Google ScholarDigital Library
- Vishal Sikka, Franz Färber, Wolfgang Lehner, Sang Kyun Cha, Thomas Peh, and Christof Bornhövd. 2012. Efficient transaction processing in SAP HANA database: The end of a column store myth. In Proceedings of the 2012 ACM SIGMOD International Conference on Management of Data. Association for Computing Machinery (ACM), 731--742.Google ScholarDigital Library
- Michael Stonebraker. 1991. Managing persistent objects in a multi-level store. ACM SIGMOD Record 20, 2 (1991), 2--11.Google ScholarDigital Library
- Michael Stonebraker and Ariel Weisberg. 2013. The VOLTDB main memory DBMS. IEEE Data Engineering Bulletin 36, 2 (2013), 21--27.Google Scholar
- Jimmy P. Strickland, Peter P. Uhrowczik, and Vern L. Watts. 1982. IMS/VS: An evolving system. IBM Systems Journal 21, 4 (1982), 490--510.Google ScholarDigital Library
- Dmitri B. Strukov, Gregory S. Snider, Duncan R. Stewart, and R. Stanley Williams. 2008. The missing memristor found. Nature 453, 7191 (2008), 80--83.Google Scholar
- Rebecca Taft, Essam Mansour, Marco Serafini, Jennie Duggan, Aaron J. Elmore, Ashraf Aboulnaga, Andrew Pavlo, and Michael Stonebraker. 2014. E-store: Fine-grained elastic partitioning for distributed transaction processing systems. Proceedings of the VLDB Endowment 8, 3 (2014), 245--256.Google ScholarDigital Library
- Kian-Lee Tan, Qingchao Cai, Beng Chin Ooi, Weng-Fai Wong, Chang Yao, and Hao Zhang. 2015. In-memory databases: Challenges and opportunities from software and hardware perspectives. ACM SIGMOD Record 44, 2 (2015), 35--40.Google ScholarDigital Library
- Yong Chiang Tay, Nathan Goodman, and Rajan Suri. 1985. Locking performance in centralized databases. ACM Transactions on Database Systems (TODS) 10, 4 (1985), 415--462.Google ScholarDigital Library
- Alexander Thomson, Thaddeus Diamond, Shu-Chun Weng, Kun Ren, Philip Shao, and Daniel J. Abadi. 2012. Calvin: Fast distributed transactions for partitioned database systems. In Proceedings of the 2012 ACM SIGMOD International Conference on Management of Data. 1--12.Google Scholar
- TimesTen. 2020. Oracle TimesTen In-Memory Database Documentation. https://docs.oracle.com/database/timesten-18.1/. Accessed in December 1, 2020.Google Scholar
- CORPORATE TimesTen Team. 1999. In-memory data management for consumer transactions the TimesTen approach. In ACM SIGMOD Record, Vol. 28. Association for Computing Machinery (ACM), 528--529.Google ScholarDigital Library
- Stephen Tu, Wenting Zheng, Eddie Kohler, Barbara Liskov, and Samuel Madden. 2013. Speedy transactions in multicore in-memory databases. In Proceedings of the 24th ACM Symposium on Operating Systems Principles. Association for Computing Machinery (ACM), 18--32.Google ScholarDigital Library
- Allen B. Tucker. 2004. Computer Science Handbook. CRC Press.Google Scholar
- Alexander van Renen, Viktor Leis, Alfons Kemper, Thomas Neumann, Takushi Hashida, Kazuichi Oe, Yoshiyasu Doi, Lilian Harada, and Mitsuru Sato. 2018. Managing non-volatile memory in database systems. In Proceedings of the 2018 International Conference on Management of Data. 1541--1555.Google ScholarDigital Library
- Alexander van Renen, Lukas Vogel, Viktor Leis, Thomas Neumann, and Alfons Kemper. 2019. Persistent memory I/O primitives. In Proceedings of the 15th International Workshop on Data Management on New Hardware. 1--7.Google ScholarDigital Library
- Marcos Vaz Salles, Tuan Cao, Benjamin Sowell, Alan Demers, Johannes Gehrke, Christoph Koch, and Walker White. 2009. An evaluation of checkpoint recovery for massively multiplayer online games. Proceedings of the VLDB Endowment 2, 1 (2009), 1258--1269.Google ScholarDigital Library
- Tianzheng Wang and Ryan Johnson. 2014. Scalable logging through emerging non-volatile memory. Proceedings of the VLDB Endowment 7, 10 (2014), 865--876.Google ScholarDigital Library
- Zhaoguo Wang, Hao Qian, Jinyang Li, and Haibo Chen. 2014. Using restricted transactional memory to build a scalable in-memory database. In Proceedings of the 9th European Conference on Computer Systems. 1--15.Google ScholarDigital Library
- Gerhard Weikum and Gottfried Vossen. 2001. Transactional Information Systems: Theory, Algorithms, and the Practice of Concurrency Control and Recovery. Elsevier.Google Scholar
- Matthias Wiesmann, Fernando Pedone, André Schiper, Bettina Kemme, and Gustavo Alonso. 2000. Database replication techniques: A three parameter classification. In Proceedings of the 19th IEEE Symposium on Reliable Distributed Systems (SRDS-2000). IEEE, 206--215.Google ScholarCross Ref
- Thomas Willhalm, Ismail Oukid, Ingo Müller, and Franz Faerber. 2013. Vectorizing database column scans with complex predicates.. In ADMS@ VLDB. 1--12.Google Scholar
- Thomas Willhalm, Nicolae Popovici, Yazan Boshmaf, Hasso Plattner, Alexander Zeier, and Jan Schaffner. 2009. SIMD-scan: Ultra fast in-memory table scan using on-chip vector processing units. Proceedings of the VLDB Endowment 2, 1 (2009), 385--394.Google ScholarDigital Library
- Yingjun Wu, Wentian Guo, Chee-Yong Chan, and Kian-Lee Tan. 2017. Fast failure recovery for main-memory DBMSs on multicores. In Proceedings of the 2017 ACM International Conference on Management of Data. Association for Computing Machinery (ACM), 267--281.Google ScholarDigital Library
- Tang Yanjun and Luo Wen-hua. 2010. A model of crash recovery in main memory database. In Proceedings of the 2010 International Conference on Computer Design and Applications (ICCDA), Vol. 5. IEEE, V5--206.Google ScholarCross Ref
- Chang Yao, Divyakant Agrawal, Gang Chen, Beng Chin Ooi, and Sai Wu. 2016. Adaptive logging: Optimizing logging and recovery costs in distributed in-memory databases. In Proceedings of the 2016 International Conference on Management of Data. Association for Computing Machinery (ACM), 1119--1134.Google ScholarDigital Library
- Xiangyao Yu, George Bezerra, Andrew Pavlo, Srinivas Devadas, and Michael Stonebraker. 2014. Staring into the abyss: An evaluation of concurrency control with one thousand cores. Proceedings of the VLDB Endowment 8, 3 (2014), 209--220.Google ScholarDigital Library
- Erfan Zamanian, Xiangyao Yu, Michael Stonebraker, and Tim Kraska. 2019. Rethinking database high availability with RDMA networks. Proceedings of the VLDB Endowment 12, 11 (2019), 1637--1650.Google ScholarDigital Library
- Hao Zhang, Gang Chen, Beng Chin Ooi, Kian-Lee Tan, and Meihui Zhang. 2015. In-memory big data management and processing: A survey. IEEE Transactions on Knowledge and Data Engineering 27, 7 (2015), 1920--1948.Google ScholarDigital Library
- Yiying Zhang, Jian Yang, Amirsaman Memaripour, and Steven Swanson. 2015. MOJIM: A reliable and highly-available non-volatile memory system. In ACM SIGARCH Computer Architecture News, Vol. 43. Association for Computing Machinery (ACM), 3--18.Google ScholarDigital Library
- Wenting Zheng, Stephen Tu, Eddie Kohler, and Barbara Liskov. 2014. Fast databases with fast durability and recovery through multicore parallelism. In Proceedings of OSDI, Vol. 14. 465--477.Google Scholar
Index Terms
Main Memory Database Recovery: A Survey
Recommendations
Main Memory Database Recovery Strategies
SIGMOD '23: Companion of the 2023 International Conference on Management of DataMost of the current application scenarios, such as trading, real-time bidding, advertising, weather forecasting, social gaming, etc., require massive real-time data processing. Main memory database systems have proved to be an efficient alternative to ...
Main memory database recovery algorithms and their performance
SPDP '90: Proceedings of the 1990 IEEE Second Symposium on Parallel and Distributed ProcessingIn main memory systems recovery becomes more complex mainly due to the volatility of main memory and the elimination of the separation of data storage (disk) and data processing locations (main memory). In a disk based database system, it is the disk ...
Locality aware management on NAND flash-based main memory for in-memory database systems
EDB '16: Proceedings of the Sixth International Conference on Emerging Databases: Technologies, Applications, and TheoryConventional database systems manage all data on hard disks, but due to a hard disk's frequent I/O operations, this kind of management exposes critical problems when data is huge or operations are complex and frequent. As the size of the main memory ...
Comments