Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

Main Memory Database Recovery: A Survey

Published: 05 March 2021 Publication History
  • Get Citation Alerts
  • 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.

    References

    [1]
    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.
    [2]
    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.
    [3]
    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.
    [4]
    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.
    [5]
    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.
    [6]
    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).
    [7]
    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.
    [8]
    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.
    [9]
    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.
    [10]
    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.
    [11]
    Joy Arulraj, Matthew Perron, and Andrew Pavlo. 2016. Write-behind logging. Proceedings of the VLDB Endowment 10, 4 (2016), 337--348.
    [12]
    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.
    [13]
    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.
    [14]
    Rudolf Bayer and Mario Schkolnick. 1977. Concurrency of operations on b-trees. Acta Informatica 9, 1 (1977), 1--21.
    [15]
    Philip A. Bernstein and Nathan Goodman. 1981. Concurrency control in distributed database systems. ACM Computing Surveys (CSUR) 13, 2 (1981), 185--221.
    [16]
    Philip A. Bernstein, Vassos Hadzilacos, and Nathan Goodman. 1987. Concurrency Control and Recovery in Database Systems. Vol. 370. Addison-Wesley New York.
    [17]
    Roberto Bez, Emilio Camerlenghi, Alberto Modelli, and Angelo Visconti. 2003. Introduction to flash memory. Proc. IEEE 91, 4 (2003), 489--502.
    [18]
    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.
    [19]
    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.
    [20]
    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.
    [21]
    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.
    [22]
    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.
    [23]
    Paulo Cappelletti, Carla Golla, Piero Olivo, and Enrico Zanoni. 2013. Flash Memories. Springer Science & Business Media.
    [24]
    Michael J. Carey. 1984. The Performance of Concurrency Control Algorithms for Database Management Systems. Technical Report. University of Wisconsin-Madison Department of Computer Sciences.
    [25]
    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.
    [26]
    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.
    [27]
    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.
    [28]
    Shimin Chen, Phillip B. Gibbons, and Todd C. Mowry. 2001. Improving index performance through prefetching. ACM SIGMOD Record 30, 2 (2001), 235--246.
    [29]
    Shimin Chen, Phillip B. Gibbons, and Suman Nath. 2011. Rethinking database algorithms for phase change memory. In CIDR, Vol. 11. 5th.
    [30]
    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.
    [31]
    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.
    [32]
    Brian E. Clark and Michael J. Corrigan. 1989. Application system/400 performance characteristics. IBM Systems Journal 28, 3 (1989), 407--423.
    [33]
    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.
    [34]
    George P. Copeland and Setrag N. Khoshafian. 1985. A decomposition storage model. ACM SIGMOD Record 14, 4 (1985), 268--279.
    [35]
    Richard A. Crus. 1984. Data recovery in IBM database 2. IBM Systems Journal 23, 2 (1984), 178--188.
    [36]
    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.
    [37]
    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.
    [38]
    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).
    [39]
    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.
    [40]
    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.
    [41]
    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.
    [42]
    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.
    [43]
    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.
    [44]
    Alexander Driskill-Smith. 2010. Latest advances and future prospects of STT-RAM. In Proceedings of the Non-Volatile Memories Workshop. 11--13.
    [45]
    Margaret H. Eich. 1986. Main memory database recovery. In Proceedings of the Fall Joint Computer Conference. IEEE Computer Society Press, 1226--1232.
    [46]
    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.
    [47]
    Margaret H. Eich. 1988. Mars: The design of a main memory database machine. Database Machines and Knowledge Base Machines 43 (1988), 325--338.
    [48]
    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.
    [49]
    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.
    [50]
    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.
    [51]
    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.
    [52]
    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.
    [53]
    Fork. 2020. Fork (system call). https://en.wikipedia.org/wiki/Fork_(system_call). Accessed in December 1, 2020.
    [54]
    Peter Franaszek and John T. Robinson. 1985. Limitations of concurrency in transaction processing. ACM Transactions on Database Systems (TODS) 10, 1 (1985), 1--28.
    [55]
    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.
    [56]
    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.
    [57]
    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.
    [58]
    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.
    [59]
    Vishesh Garg, Abhimanyu Singh, and Jayant R. Haritsa. 2015. On Improving Write Performance in PCM Databases. Technical Report. Technical report, TR-2015-01, IISc.
    [60]
    Dieter Gawlick and David Kinkade. 1985. Varieties of concurrency control in IMS/VS fast path. IEEE Database Engineering Bulletin 8, 2 (1985), 3--10.
    [61]
    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.
    [62]
    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.
    [63]
    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.
    [64]
    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.
    [65]
    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.
    [66]
    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.
    [67]
    Jim Gray and Andreas Reuter. 1992. Transaction Processing: Concepts and Techniques. Elsevier.
    [68]
    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.
    [69]
    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.
    [70]
    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.
    [71]
    Le Gruenwald and Margaret H. Eich. 1994. MMDB reload concerns. Information Sciences 76, 1--2 (1994), 151--176.
    [72]
    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.
    [73]
    Mohit Kumar Gupta, Vishal Verma, and Megha Singh Verma. 2014. In-memory database systems-a paradigm shift. Arxiv Preprint Arxiv:1402.1258 (2014).
    [74]
    Theo Haerder and Andreas Reuter. 1983. Principles of transaction-oriented database recovery. ACM Computing Surveys (CSUR) 15, 4 (1983), 287--317.
    [75]
    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.
    [76]
    Robert B. Hagmann. 1986. A crash recovery scheme for a memory-resident database system. IEEE Trans. Comput. 35, 9 (1986), 839--843.
    [77]
    Theo Härder, Caetano Sauer, Goetz Graefe, and Wey Guy. 2015. Instant recovery with write-ahead logging. Datenbank-Spektrum 15, 3 (2015), 235--239.
    [78]
    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.
    [79]
    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.
    [80]
    Wytze Hazenberg and Sjoerd Hemminga. 2011. Main memory database systems: Opportunities and pitfalls. SC@ RUG 2011 Proceedings (2011), 113.
    [81]
    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.
    [82]
    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.
    [83]
    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.
    [84]
    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.
    [85]
    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.
    [86]
    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.
    [87]
    H. V. Jagadish, Abraham Silberschatz, and S. Sudarshan. 1993. Recovering from main-memory lapses. In Proceedings of VLDB, Vol. 93. 391--404.
    [88]
    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.
    [89]
    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.
    [90]
    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.
    [91]
    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.
    [92]
    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.
    [93]
    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.
    [94]
    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.
    [95]
    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.
    [96]
    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.
    [97]
    Leslie Lamport. 2019. The part-time parliament. In Concurrency: The Works of Leslie Lamport. 277--317.
    [98]
    Leslie Lamport. 2001. Paxos made simple. ACM Sigact News 32, 4 (2001), 18--25.
    [99]
    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.
    [100]
    Per-Ake Larson and Justin Levandoski. 2016. Modern main-memory database systems. Proceedings of the VLDB Endowment 9, 13 (2016), 1609--1610.
    [101]
    Per-Ake Larson, Mike Zwilling, and Kevin Farlee. 2013. The Hekaton memory-optimized OLTP engine. IEEE Data Engineering Bulletin. 36, 2 (2013), 34--40.
    [102]
    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.
    [103]
    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.
    [104]
    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).
    [105]
    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.
    [106]
    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.
    [107]
    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.
    [108]
    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.
    [109]
    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.
    [110]
    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.
    [111]
    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.
    [112]
    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.
    [113]
    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.
    [114]
    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.
    [115]
    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).
    [116]
    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.
    [117]
    Yinan Li, Ippokratis Pandis, Rene Mueller, Vijayshankar Raman, and Guy M. Lohman. 2013. NUMA-aware algorithms: the case of data shuffling. In CIDR.
    [118]
    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.
    [119]
    Jun-Lin Lin and Margaret H. Dunham. 1997. A survey of distributed database checkpointing. Distributed and Parallel Databases 5, 3 (1997), 289--319.
    [120]
    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.
    [121]
    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.
    [122]
    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.
    [123]
    Sanjay Kumar Madria. 1997. A study of the concurrency control and recovery algorithms in nested transaction environment. Comput. J. 40, 10 (1997), 630--639.
    [124]
    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.
    [125]
    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.
    [126]
    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.
    [127]
    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.
    [128]
    Toshimi Minoura. 1983. Multi-level Concurrency Control of a Database System. Oregon State University, Computer Science Department.
    [129]
    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.
    [130]
    C. Mohan. 1989. ARIES/KVL: A Key-Value Locking Method for Concurrency Control of Multiaction Transactions Operating on B-Tree Indexes. Citesefer.
    [131]
    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.
    [132]
    C. Mohan. 1999. Repeating history beyond ARIES. In Proceedings of VLDB, Vol. 99. 7--10.
    [133]
    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.
    [134]
    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.
    [135]
    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.
    [136]
    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.
    [137]
    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.
    [138]
    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.
    [139]
    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.
    [140]
    MySQL. 2020. MySQL. http://www.mysql.com. Accessed in October 3, 2020.
    [141]
    Thomas Neumann. 2011. Efficiently compiling efficient query plans for modern hardware. Proceedings of the VLDB Endowment 4, 9 (2011), 539--550.
    [142]
    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.
    [143]
    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.
    [144]
    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.
    [145]
    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.
    [146]
    Oracle. 2020. Oracle | Integrated Cloud Applications and Platform Services. http://www.oracle.com. Accessed in December 4, 2020.
    [147]
    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.
    [148]
    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.
    [149]
    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).
    [150]
    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.
    [151]
    Peloton. 2019. Peloton - The Self-Driving Database Management System. https://pelotondb.io. Accessed in April 30, 2020.
    [152]
    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.
    [153]
    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).
    [154]
    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.
    [155]
    Raghu Ramakrishnan and Johannes Gehrke. 2000. Database Management Systems. McGraw-Hill.
    [156]
    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.
    [157]
    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.
    [158]
    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.
    [159]
    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.
    [160]
    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.
    [161]
    Ohad Rodeh. 2008. B-trees, shadowing, and clones. ACM Transactions on Storage (TOS) 3, 4 (2008), 1--27.
    [162]
    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.
    [163]
    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.
    [164]
    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.
    [165]
    Yehoshua Sagiv. 1986. Concurrent operations on B*-trees with overtaking. Journal of Computer and System Sciences 33, 2 (1986), 275--296.
    [166]
    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.
    [167]
    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.
    [168]
    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.
    [169]
    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-30
    [170]
    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).
    [171]
    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.
    [172]
    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.
    [173]
    Bianca Schroeder and Garth A. Gibson. 2007. Understanding failures in petascale computers. In Journal of Physics: Conference Series, Vol. 78. IOP Publishing, 012022.
    [174]
    David Schwalb, Tim Berning, Martin Faust, Markus Dreseler, and Hasso Plattner. 2015. NVM MALLOC: Memory allocation for NVRAM. ADMS@ VLDB 15 (2015), 61--72.
    [175]
    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.
    [176]
    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.
    [177]
    Dennis Shasha. 1985. What good are concurrent search structure algorithms for databases anyway? IEEE Database Engioneering Bulletin. 8, 2 (1985), 84--90.
    [178]
    Dennis Shasha and Nathan Goodman. 1988. Concurrent search structure algorithms. ACM Transactions on Database Systems (TODS) 13, 1 (1988), 53--90.
    [179]
    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.
    [180]
    Michael Stonebraker. 1991. Managing persistent objects in a multi-level store. ACM SIGMOD Record 20, 2 (1991), 2--11.
    [181]
    Michael Stonebraker and Ariel Weisberg. 2013. The VOLTDB main memory DBMS. IEEE Data Engineering Bulletin 36, 2 (2013), 21--27.
    [182]
    Jimmy P. Strickland, Peter P. Uhrowczik, and Vern L. Watts. 1982. IMS/VS: An evolving system. IBM Systems Journal 21, 4 (1982), 490--510.
    [183]
    Dmitri B. Strukov, Gregory S. Snider, Duncan R. Stewart, and R. Stanley Williams. 2008. The missing memristor found. Nature 453, 7191 (2008), 80--83.
    [184]
    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.
    [185]
    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.
    [186]
    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.
    [187]
    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.
    [188]
    TimesTen. 2020. Oracle TimesTen In-Memory Database Documentation. https://docs.oracle.com/database/timesten-18.1/. Accessed in December 1, 2020.
    [189]
    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.
    [190]
    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.
    [191]
    Allen B. Tucker. 2004. Computer Science Handbook. CRC Press.
    [192]
    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.
    [193]
    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.
    [194]
    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.
    [195]
    Tianzheng Wang and Ryan Johnson. 2014. Scalable logging through emerging non-volatile memory. Proceedings of the VLDB Endowment 7, 10 (2014), 865--876.
    [196]
    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.
    [197]
    Gerhard Weikum and Gottfried Vossen. 2001. Transactional Information Systems: Theory, Algorithms, and the Practice of Concurrency Control and Recovery. Elsevier.
    [198]
    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.
    [199]
    Thomas Willhalm, Ismail Oukid, Ingo Müller, and Franz Faerber. 2013. Vectorizing database column scans with complex predicates. In ADMS@ VLDB. 1--12.
    [200]
    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.
    [201]
    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.
    [202]
    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.
    [203]
    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.
    [204]
    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.
    [205]
    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.
    [206]
    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.
    [207]
    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.
    [208]
    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.

    Cited By

    View all
    • (2024)MDB-KCP: persistence framework of in-memory database with CRIU-based container checkpoint in KubernetesJournal of Cloud Computing10.1186/s13677-024-00687-913:1Online publication date: 25-Jul-2024
    • (2024)DoppelGanger++: Towards Fast Dependency Graph Generation for Database ReplayProceedings of the ACM on Management of Data10.1145/36393222:1(1-26)Online publication date: 26-Mar-2024
    • (2024)Riveter: Adaptive Query Suspension and Resumption Framework for Cloud Native Databases2024 IEEE 40th International Conference on Data Engineering (ICDE)10.1109/ICDE60146.2024.00304(3975-3988)Online publication date: 13-May-2024
    • Show More Cited By

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Computing Surveys
    ACM Computing Surveys  Volume 54, Issue 2
    March 2022
    800 pages
    ISSN:0360-0300
    EISSN:1557-7341
    DOI:10.1145/3450359
    Issue’s Table of Contents
    © 2021 Association for Computing Machinery. ACM acknowledges that this contribution was authored or co-authored by an employee, contractor or affiliate of a national government. As such, the Government retains a nonexclusive, royalty-free right to publish or reproduce this article, or to allow others to do so, for Government purposes only.

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 05 March 2021
    Accepted: 01 December 2020
    Revised: 01 December 2020
    Received: 01 August 2020
    Published in CSUR Volume 54, Issue 2

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. Main memory
    2. failure recovery
    3. in-memory database

    Qualifiers

    • Research-article
    • Research
    • Refereed

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)181
    • Downloads (Last 6 weeks)5
    Reflects downloads up to 27 Jul 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)MDB-KCP: persistence framework of in-memory database with CRIU-based container checkpoint in KubernetesJournal of Cloud Computing10.1186/s13677-024-00687-913:1Online publication date: 25-Jul-2024
    • (2024)DoppelGanger++: Towards Fast Dependency Graph Generation for Database ReplayProceedings of the ACM on Management of Data10.1145/36393222:1(1-26)Online publication date: 26-Mar-2024
    • (2024)Riveter: Adaptive Query Suspension and Resumption Framework for Cloud Native Databases2024 IEEE 40th International Conference on Data Engineering (ICDE)10.1109/ICDE60146.2024.00304(3975-3988)Online publication date: 13-May-2024
    • (2024)A prefetching indexing scheme for in-memory database systemsFuture Generation Computer Systems10.1016/j.future.2024.03.012156(179-190)Online publication date: Jul-2024
    • (2024)MM-DIRECTThe VLDB Journal10.1007/s00778-024-00846-z33:3(859-882)Online publication date: 27-Mar-2024
    • (2023)General-purpose Asynchronous Periodic Checkpointing in Hybrid MemoryProceedings of the 52nd International Conference on Parallel Processing10.1145/3605573.3605648(675-684)Online publication date: 7-Aug-2023
    • (2023)Main Memory Database Recovery StrategiesCompanion of the 2023 International Conference on Management of Data10.1145/3555041.3589402(31-35)Online publication date: 4-Jun-2023
    • (2022)Query Dictionary for Frequent Non-Indexed Queries in HTAP DatabasesIEEE Access10.1109/ACCESS.2022.315335010(23140-23151)Online publication date: 2022
    • (2021)High-availability clusters: A taxonomy, survey, and future directionsJournal of Systems and Software10.1016/j.jss.2021.111208(111208)Online publication date: Dec-2021

    View Options

    Get Access

    Login options

    Full Access

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    HTML Format

    View this article in HTML Format.

    HTML Format

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media