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.
Supplemental Material
- AgigaTech. 2017. AgigaTech Non-Volatile RAM. (2017). http://www.agigatech.com/nvram.php.Google Scholar
- 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 Scholar
- Amazon Web Services. 2020. AWS Graviton Processor: Enabling the best price performance in Amazon EC2. https://aws.amazon.com/ec2/graviton.Google Scholar
- Ampere Computing. 2020. Ampere Altra Processor. https://amperecomputing.com/altra/.Google Scholar
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 Scholar
- Rob Crooke and Mark Durcan. 2015. A Revolutionary Breakthrough in Memory Technology. 3D XPoint Launch Keynote (2015).Google Scholar
- 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 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, New York, NY, USA, 1243.Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Huawei Cloud. 2020. Elastic Cloud Server. https://www.huaweicloud.com/en-us/product/ecs.html.Google Scholar
- IBM DB2. 2022. Crash recovery. https://www.ibm.com/docs/en/db2/11.1?topic=recover-crash-recovery.Google Scholar
- IEEE and The Open Group. 2016. The Open Group Base Specifications Issue 7, IEEE Std 1003.1. (2016).Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 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 (Melbourne, Victoria, Australia) (SIGMOD '15). Association for Computing Machinery, New York, NY, USA, 691--706.Google ScholarDigital Library
- Alexey Kopytov. 2020. sysbench - A modular, cross-platform and multi-threaded benchmark tool. https://github.com/akopytov/sysbench.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 Scholar
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Thomas Neumann. 2011. Efficiently Compiling Efficient Query Plans for Modern Hardware. Proc. VLDB Endow., Vol. 4, 9 (June 2011), 539--550.Google ScholarDigital Library
- 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 ScholarDigital Library
- Oracle. 2020. MySQL. http://www.mysql.com (2020).Google Scholar
- Oracle. 2022. Oracle Database VLDB and Partitioning Guide. https://docs.oracle.com/database.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- Transaction Processing Performance Council (TPC). 2010. TPC Benchmark C (OLTP) Standard Specification, revision 5.11. http://www.tpc.org/tpcc.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Viking Technology. 2017. DDR4 NVDIMM. (2017). http://www.vikingtechnology.com/products/nvdimm/ddr4-nvdimm/.Google Scholar
- Tianzheng Wang and Ryan Johnson. 2014. Scalable Logging through Emerging Non-Volatile Memory. Proc. VLDB Endow., Vol. 7, 10 (June 2014), 865--876.Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
Index Terms
- HiEngine: How to Architect a Cloud-Native Memory-Optimized Database Engine
Recommendations
Cloud-native database systems at Alibaba: opportunities and challenges
Cloud-native databases become increasingly important for the era of cloud computing, due to the needs for elasticity and on-demand usage by various applications. These challenges from cloud applications present new opportunities for cloud-native ...
PolarDB-IMCI: A Cloud-Native HTAP Database System at Alibaba
PACMMODCloud-native databases have become the de-facto choice for mission-critical applications on the cloud due to the need for high availability, resource elasticity, and cost efficiency. Meanwhile, driven by the increasing connectivity between data ...
Cloud algebra for cloud database management system
CCSEIT '12: Proceedings of the Second International Conference on Computational Science, Engineering and Information TechnologyThe relational algebra is used in relational database management system. The relational algebra is helpful in query processing in SQL. The Object Algebra is used in object oriented database management system for query processing. The object algebra is ...
Comments