skip to main content
10.1145/3514221.3526043acmconferencesArticle/Chapter ViewAbstractPublication PagesmodConference Proceedingsconference-collections
research-article

HiEngine: How to Architect a Cloud-Native Memory-Optimized Database Engine

Published:11 June 2022Publication History

ABSTRACT

Fast database engines have become an essential building block in many systems and applications. Yet most of them are designed based on on-premise solutions and do not directly work in the cloud. Existing cloud-native database systems are mostly disk resident databases that follow a storage-centric design and exploit the potential of modern cloud infrastructure, such as manycore processors, large main memory and persistent memory. However, in-memory databases are infrequent and untapped.

This paper presents HiEngine, Huawei's cloud-native memory-optimized in-memory database engine that endows hierarchical database architecture and fills this gap. HiEngine simultaneously (1) leverages the cloud infrastructure with reliable storage services on the compute-side (in addition to the storage tier) for fast persistence and reliability, (2) achieves main-memory database engines' high performance, and (3) retains backward compatibility with existing cloud-native database systems. HiEngine is integrated with Huawei GaussDB(for MySQL), it brings the benefits of main-memory database engines to the cloud and co-exists with disk-based engines. Compared to conventional systems, HiEngine outperforms prior storage-centric solutions by up to 7.5X and provides comparable performance to on-premise memory-optimized database engines.

Skip Supplemental Material Section

Supplemental Material

SIGMOD22-modip02.mp4

mp4

54.8 MB

References

  1. AgigaTech. 2017. AgigaTech Non-Volatile RAM. (2017). http://www.agigatech.com/nvram.php.Google ScholarGoogle Scholar
  2. Alibaba Cloud. 2018. PolarDB: Deep Dive on Alibaba Cloud's Next-Generation Database. (2018). https://www.alibabacloud.com/blog/deep-dive-on-alibaba-clouds-next-generation-database_578138Google ScholarGoogle Scholar
  3. Amazon Web Services. 2020. AWS Graviton Processor: Enabling the best price performance in Amazon EC2. https://aws.amazon.com/ec2/graviton.Google ScholarGoogle Scholar
  4. Ampere Computing. 2020. Ampere Altra Processor. https://amperecomputing.com/altra/.Google ScholarGoogle Scholar
  5. Panagiotis Antonopoulos, Alex Budovski, Cristian Diaconu, Alejandro Hernandez Saenz, Jack Hu, Hanuma Kodavalla, Donald Kossmann, Sandeep Lingam, Umar Farooq Minhas, Naveen Prakash, Vijendra Purohit, Hugh Qu, Chaitanya Sreenivas Ravella, Krystyna Reisteter, Sheetal Shrotri, Dixin Tang, and Vikram Wakade. 2019 a. Socrates: The New SQL Server in the Cloud. ACM.Google ScholarGoogle Scholar
  6. Panagiotis Antonopoulos, Peter Byrne, Wayne Chen, Cristian Diaconu, Raghavendra Thallam Kodandaramaih, Hanuma Kodavalla, Prashanth Purnananda, Adrian-Leonard Radu, Chaitanya Sreenivas Ravella, and Girish Mittur Venkataramanappa. 2019 b. Constant Time Recovery in Azure SQL Database. Proc. VLDB Endow., Vol. 12, 12 (aug 2019), 2143--2154. https://doi.org/10.14778/3352063.3352131Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Hillel Avni, Alisher Aliev, Oren Amor, Aharon Avitzur, Ilan Bronshtein, Eli Ginot, Shay Goikhman, Eliezer Levy, Idan Levy, Fuyang Lu, Liran Mishali, Yeqin Mo, Nir Pachter, Dima Sivov, Vinoth Veeraraghavan, Vladi Vexler, Lei Wang, and Peng Wang. 2020. Industrial-Strength OLTP Using Main Memory and Many Cores. Proc. VLDB Endow., Vol. 13, 12 (Aug. 2020), 3099--3111.Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Jan Böttcher, Viktor Leis, Thomas Neumann, and Alfons Kemper. 2019. Scalable Garbage Collection for In-Memory MVCC Systems. Proc. VLDB Endow., Vol. 13, 2 (Oct. 2019), 128--141.Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Michael J. Cahill, Uwe Röhm, and Alan D. Fekete. 2008. Serializable Isolation for Snapshot Databases. In Proceedings of the 2008 ACM SIGMOD International Conference on Management of Data (Vancouver, Canada) (SIGMOD '08). Association for Computing Machinery, New York, NY, USA, 729--738.Google ScholarGoogle Scholar
  10. Brian F Cooper, Adam Silberstein, Erwin Tam, Raghu Ramakrishnan, and Russell Sears. 2010. Benchmarking cloud serving systems with YCSB. In Proceedings of the 1st ACM symposium on Cloud computing. 143--154.Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. James C. Corbett, Jeffrey Dean, Michael Epstein, Andrew Fikes, Christopher Frost, JJ Furman, Sanjay Ghemawat, Andrey Gubarev, Christopher Heiser, Peter Hochschild, Wilson Hsieh, Sebastian Kanthak, Eugene Kogan, Hongyi Li, Alexander Lloyd, Sergey Melnik, David Mwaura, David Nagle, Sean Quinlan, Rajesh Rao, Lindsay Rolig, Yasushi Saito, Michal Szymaniak, Christopher Taylor, Ruth Wang, and Dale Woodford. 2012. Spanner: Googletextquoterights Globally-Distributed Database. In 10th USENIX Symposium on Operating Systems Design and Implementation (OSDI 12). USENIX Association, Hollywood, CA, 261--264. https://www.usenix.org/conference/osdi12/technical-sessions/presentation/corbettGoogle ScholarGoogle Scholar
  12. Rob Crooke and Mark Durcan. 2015. A Revolutionary Breakthrough in Memory Technology. 3D XPoint Launch Keynote (2015).Google ScholarGoogle Scholar
  13. Alex Depoutovitch, Chong Chen, Jin Chen, Paul Larson, Shu Lin, Jack Ng, Wenlin Cui, Qiang Liu, Wei Huang, Yong Xiao, and Yongjun He. 2020. Taurus Database: How to Be Fast, Available, and Frugal in the Cloud. In Proceedings of the 2020 ACM SIGMOD International Conference on Management of Data (Portland, OR, USA) (SIGMOD '20). Association for Computing Machinery, New York, NY, USA, 1463--1478.Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. 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, New York, NY, USA, 1243.Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Franz F"arber, Sang Kyun Cha, Jürgen Primsch, Christof Bornhövd, Stefan Sigg, and Wolfgang Lehner. 2012. SAP HANA Database: Data Management for Modern Business Applications. SIGMOD Rec., Vol. 40, 4 (Jan. 2012), 45--51.Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Alan Fekete, Elizabeth O'Neil, and Patrick O'Neil. 2004. A Read-Only Transaction Anomaly under Snapshot Isolation. SIGMOD Rec., Vol. 33, 3 (Sept. 2004), 12--14.Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Thomas E. Hart, Paul E. McKenney, Angela Demke Brown, and Jonathan Walpole. 2007. Performance of Memory Reclamation for Lockless Synchronization. J. Parallel Distrib. Comput., Vol. 67, 12 (Dec. 2007), 1270--1285.Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Yihe Huang, William Qian, Eddie Kohler, Barbara Liskov, and Liuba Shrira. 2020. Opportunities for Optimism in Contended Main-Memory Multicore Transactions. Proc. VLDB Endow., Vol. 13, 5 (Jan. 2020), 629--642.Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Huawei Cloud. 2020. Elastic Cloud Server. https://www.huaweicloud.com/en-us/product/ecs.html.Google ScholarGoogle Scholar
  20. IBM DB2. 2022. Crash recovery. https://www.ibm.com/docs/en/db2/11.1?topic=recover-crash-recovery.Google ScholarGoogle Scholar
  21. IEEE and The Open Group. 2016. The Open Group Base Specifications Issue 7, IEEE Std 1003.1. (2016).Google ScholarGoogle Scholar
  22. Ryan Johnson, Ippokratis Pandis, Radu Stoica, Manos Athanassoulis, and Anastasia Ailamaki. 2010. Aether: a scalable approach to logging. PVLDB, Vol. 3, 1 (2010), 681--692.Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. 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 '11). 195--206.Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Kangnyeon Kim, Tianzheng Wang, Ryan Johnson, and Ippokratis Pandis. 2016. ERMIA: Fast memory-optimized database system for heterogeneous workloads. In Proceedings of the 2016 International Conference on Management of Data. 1675--1687.Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. 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 (Melbourne, Victoria, Australia) (SIGMOD '15). Association for Computing Machinery, New York, NY, USA, 691--706.Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Alexey Kopytov. 2020. sysbench - A modular, cross-platform and multi-threaded benchmark tool. https://github.com/akopytov/sysbench.Google ScholarGoogle Scholar
  27. Per-rAke Larson, Spyros Blanas, Cristian Diaconu, Craig Freedman, Jignesh M. Patel, and Mike Zwilling. 2011. High-Performance Concurrency Control Mechanisms for Main-Memory Databases. Proc. VLDB Endow., Vol. 5, 4 (dec 2011), 298--309. https://doi.org/10.14778/2095686.2095689Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Leon Lee, Siphrey Xie, Yunus Ma, and Shimin Chen. 2022. Index Checkpoints for Instant Recovery in In-Memory Database Systems. Proc. VLDB Endow. (2022).Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Viktor Leis, Alfons Kemper, and Thomas Neumann. 2013. The Adaptive Radix Tree: ARTful Indexing for Main-Memory Databases. In Proceedings of the 2013 IEEE International Conference on Data Engineering (ICDE 2013) (ICDE '13). IEEE Computer Society, USA, 38--49.Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Justin Levandoski, David Lomet, Sudipta Sengupta, Ryan Stutsman, and Rui Wang. 2015. High Performance Transactions in Deuteronomy. In Conference on Innovative Data Systems Research (CIDR 2015) .Google ScholarGoogle Scholar
  31. 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 International Conference on Data Engineering (ICDE 2013) (ICDE '13). 302--313.Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Yuliang Li, Gautam Kumar, Hema Hariharan, Hassan Wassel, Peter Hochschild, Dave Platt, Simon Sabato, Minlan Yu, Nandita Dukkipati, Prashant Chandra, and Amin Vahdat. 2020. Sundial: Fault-tolerant Clock Synchronization for Datacenters. In 14th USENIX Symposium on Operating Systems Design and Implementation (OSDI 20). USENIX Association, 1171--1186. https://www.usenix.org/conference/osdi20/presentation/li-yuliangGoogle ScholarGoogle Scholar
  33. Hyeontaek Lim, Michael Kaminsky, and David G. Andersen. 2017. Cicada: Dependably Fast Multi-Core In-Memory Transactions. In Proceedings of the 2017 ACM International Conference on Management of Data (SIGMOD '17). 21--35.Google ScholarGoogle Scholar
  34. Lin Ma, Joy Arulraj, Sam Zhao, Andrew Pavlo, Subramanya R. Dulloor, Michael J. Giardino, Jeff Parkhurst, Jason L. Gardner, Kshitij Doshi, and Stanley Zdonik. 2016. Larger-than-Memory Data Management on Modern Storage Hardware for in-Memory OLTP Database Systems. In Proceedings of the 12th International Workshop on Data Management on New Hardware (San Francisco, California) (DaMoN '16). Association for Computing Machinery, New York, NY, USA, Article 9, 7 pages.Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. 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 Trans. Database Syst., Vol. 17, 1 (mar 1992), 94--162. https://doi.org/10.1145/128765.128770Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Thomas Neumann. 2011. Efficiently Compiling Efficient Query Plans for Modern Hardware. Proc. VLDB Endow., Vol. 4, 9 (June 2011), 539--550.Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Patrick O'Neil, Edward Cheng, Dieter Gawlick, and Elizabeth O'Neil. 1996. The Log-Structured Merge-Tree (LSM-Tree). Acta Inf., Vol. 33, 4 (June 1996), 351--385.Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Oracle. 2020. MySQL. http://www.mysql.com (2020).Google ScholarGoogle Scholar
  39. Oracle. 2022. Oracle Database VLDB and Partitioning Guide. https://docs.oracle.com/database.Google ScholarGoogle Scholar
  40. Andrew Pavlo. 2017. What Are We Doing With Our Lives? Nobody Cares About Our Concurrency Control Research. In Proceedings of the 2017 ACM International Conference on Management of Data (Chicago, Illinois, USA) (SIGMOD '17). Association for Computing Machinery, New York, NY, USA, 3.Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. Mohammad Sadoghi, Kenneth A. Ross, Mustafa Canim, and Bishwaranjan Bhattacharjee. 2013. Making Updates Disk-I/O Friendly Using SSDs. PVLDB, Vol. 6, 11 (2013), 997--1008.Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. Alex Shamis, Matthew Renzelmann, Stanko Novakovic, Georgios Chatzopoulos, Aleksandar Dragojević, Dushyanth Narayanan, and Miguel Castro. 2019. Fast General Distributed Transactions with Opacity. In Proceedings of the 2019 International Conference on Management of Data (Amsterdam, Netherlands) (SIGMOD '19). Association for Computing Machinery, New York, NY, USA, 433--448. https://doi.org/10.1145/3299869.3300069Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. Michael Stonebraker, Samuel Madden, Daniel J. Abadi, Stavros Harizopoulos, Nabil Hachem, and Pat Helland. 2007. The End of an Architectural Era: (It's Time for a Complete Rewrite). (2007), 1150--1160.Google ScholarGoogle Scholar
  44. Transaction Processing Performance Council (TPC). 2010. TPC Benchmark C (OLTP) Standard Specification, revision 5.11. http://www.tpc.org/tpcc.Google ScholarGoogle Scholar
  45. Stephen Tu, Wenting Zheng, Eddie Kohler, Barbara Liskov, and Samuel Madden. 2013. Speedy Transactions in Multicore In-Memory Databases. In Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles (SOSP '13). 18--32.Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. Alexandre Verbitski, Anurag Gupta, Debanjan Saha, Murali Brahmadesam, Kamal Gupta, Raman Mittal, Sailesh Krishnamurthy, Sandor Maurice, Tengiz Kharatishvili, and Xiaofeng Bao. 2017. Amazon Aurora: Design Considerations for High Throughput Cloud-Native Relational Databases. SIGMOD (2017), 1041--1052.Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. Viking Technology. 2017. DDR4 NVDIMM. (2017). http://www.vikingtechnology.com/products/nvdimm/ddr4-nvdimm/.Google ScholarGoogle Scholar
  48. Tianzheng Wang and Ryan Johnson. 2014. Scalable Logging through Emerging Non-Volatile Memory. Proc. VLDB Endow., Vol. 7, 10 (June 2014), 865--876.Google ScholarGoogle ScholarDigital LibraryDigital Library
  49. Yingjun Wu, Joy Arulraj, Jiexi Lin, Ran Xian, and Andrew Pavlo. 2017. An Empirical Evaluation of In-Memory Multi-Version Concurrency Control. Proc. VLDB Endow., Vol. 10, 7 (March 2017), 781--792.Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. Erfan Zamanian, Carsten Binnig, Tim Harris, and Tim Kraska. 2017. The End of a Myth: Distributed Transactions Can Scale. Proc. VLDB Endow., Vol. 10, 6 (feb 2017), 685--696. https://doi.org/10.14778/3055330.3055335Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. HiEngine: How to Architect a Cloud-Native Memory-Optimized Database Engine

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Conferences
      SIGMOD '22: Proceedings of the 2022 International Conference on Management of Data
      June 2022
      2597 pages
      ISBN:9781450392495
      DOI:10.1145/3514221

      Copyright © 2022 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 11 June 2022

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Acceptance Rates

      Overall Acceptance Rate785of4,003submissions,20%

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader