Journal of Computer Science and Technology ›› 2020, Vol. 35 ›› Issue (1): 194-208.doi: 10.1007/s11390-020-9536-z

• Special Section on Applications • Previous Articles     Next Articles

CirroData: Yet Another SQL-on-Hadoop Data Analytics Engine with High Performance

Zheng-Hao Jin1, Haiyang Shi2, Ying-Xin Hu1, Li Zha3,4, Member, CCF, Xiaoyi Lu2, Member, ACM, IEEE        

  1. 1 Business-Intelligence of Oriental Nations Corporation Ltd., Beijing 100102, China;
    2 Department of Computer Science and Engineering, The Ohio State University, Ohio 43210, U.S.A;
    3 Institute of Computing Technology, Chinese Academy of Sciences, Beijing 100190, China;
    4 University of Chinese Academy of Sciences, Beijing 101408, China
  • Received:2019-07-15 Revised:2019-10-14 Online:2020-01-05 Published:2020-01-14
  • About author:Zheng-Hao Jin is the chief architect of Business-Intelligence of Oriental Nations Corporation, Beijing. He received his Master's degree in computer software and theory from Academy of Mathematics and Systems Science, Chinese Academy of Sciences, Beijing, in 2001. His current research interests include distributed DBMS, Big Data, cloud computing, and data science.
  • Supported by:
    This research is supported in part by the Strategic Priority Research Program of the Chinese Academy of Sciences of China under Grant No. XDA19020400.

This paper presents CirroData, a high-performance SQL-on-Hadoop system designed for Big Data analytics workloads. As a home-grown enterprise-level online analytical processing (OLAP) system with more than seven-year research and development (R&D) experiences, we share our design details to the community about how to achieve high performance in CirroData. Multiple optimization techniques have been discussed in the paper. The effectiveness and the efficiency of all these techniques have been proved by our customers' daily usage. Benchmark-level studies, as well as several real application case studies of CirroData, have been presented in this paper. Our evaluations show that CirroData can outperform various types of counterpart database systems in the community, such as "Spark+Hive", "Spark+HBase", Impala, DB-X/Y, Greenplum, HAWQ, and others. CirroData can achieve up to 4.99x speedup compared with Greenplum, HAWQ, and Spark in the standard TPC-H queries. Application-level evaluations demonstrate that CirroData outperforms "Spark+Hive" and "Spark+HBase" by up to 8.4x and 38.8x, respectively. In the meantime, CirroData achieves the performance speedups for some application workloads by up to 20x, 100x, 182.5x, 92.6x, and 55.5x as compared with Greenplum, DB-X, Impala, DB-Y, and HAWQ, respectively.

Key words: CirroData; high performance; SQL-on-Hadoop; online analytical processing (OLAP); Big Data;

[1] Fox G C, Qiu J, Kamburugamuve S, Jha S, Luckow A. HPC-ABDS high performance computing enhanced Apache big data stack. In Proc. the 15th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing, May 2015, pp.1057-1066.
[2] Qiu J, Jha S, Luckow A, Fox G C. Towards HPCABDS:An initial high-performance big data stack.,June 2019.
[3] Shvachko K, Kuang H, Radia S, Chansler R. The Hadoop distributed file system. In Proc. the 26th IEEE Symposium on Mass Storage Systems and Technologies, May 2010, Article No. 9.
[4] Zaharia M, Chowdhury M, Franklin M J, Shenker S, Stoica I. Spark:Cluster computing with working sets. In Proc. the 2nd USENIX Workshop on Hot Topics in Cloud Computing, June 2010, Article No. 5.
[5] Thusoo A, Sarma J S, Jain N, Shao Z, Chakka P, Anthony S, Liu H, Wyckoff P, Murthy R. Hive-A warehousing solution over a Map-Reduce framework. Proceedings of the VLDB Endowment, 2009, 2(2):1626-1629.
[6] Kornacker M, Behm A, Bittorf V et al. Impala:A modern, open-source SQL engine for Hadoop. In Proc. the 7th Biennial Conference on Innovative Data Systems Research, January 2015, Article No. 5.
[7] Chang L, Wang Z W, Ma T et al. HAWQ:A massively parallel processing SQL engine in Hadoop. In Proc. the 2014 ACM SIGMOD International Conference on Management of Data, June 2014, pp.1223-1234.
[8] Costea A, Ionescu A, Raducanu B et al. VectorH:Taking SQL-on-Hadoop to the next level. In Proc. the 2016 International Conference on Management of Data, June 2016, pp.1105-1117.
[9] Hunt P, Konar M, Junqueira F P, Reed B. ZooKeeper:Wait-free coordination for Internet-scale systems. In Proc. the 2010 USENIX Annual Technical Conference, June 2010, Article No. 14.
[10] Chris L, Adve V. LLVM:A compilation framework for lifelong program analysis & transformation. In Proc. the 2nd IEEE/ACM International Symposium on Code Generation and Optimization, March 2004, pp.75-88.
[11] Neumann T. Efficiently compiling efficient query plans for modern hardware. Proceedings of the VLDB Endowment, 2011, 4(9):539-550.
[12] Neumann T, Leis V. Compiling database queries into machine code. IEEE Data Eng. Bull., 2014, 37(1):3-11.
[13] Shamgunov N. The MemSQL in-memory database system. In Proc. the 2nd International Workshop on in Memory Data Management and Analytics, September 2014, Article No. 1.
[14] Tan C K. Vitesse DB:100% PostgreSQL, 100X faster for analytics. The 2nd South Bay PostgreSQL Meetup, 2015.,Nov.2019.
[15] Lu X, Liang F, Wang B, Zha L, Xu Z. DataMPI:Extending MPI to Hadoop-like big data computing. In Proc. the 28th International Parallel and Distributed Processing Symposium, May 2014, pp.829-838.
[16] Liang F, Lu X. Accelerating iterative big data computing through MPI. Journal of Computer Science and Technology, Mar. 2015, 30(2):283-294.
[17] Gugnani S, Lu X, Qi H L, Zha L, Panda D K. Characterizing and accelerating indexing techniques on distributed ordered tables. In Proc. the 2017 IEEE International Conference on Big Data, December 2017, pp.173-182.
[18] Kemper A, Neumann T. HyPer:A hybrid OLTP&OLAP main memory database system based on virtual memory snapshots. In Proc. the 27th International Conference on Data Engineering, April 2011, pp.195-206.
[19] Pavlo A, Angulo G, Arulraj J et al. Self-driving database management systems. In Proc. the 8th Biennial Conference on Innovative Data Systems Research, January 2017, Article No. 14.
[20] Thusoo A, Sarma J S, Jain N, Shao Z, Chakka P, Zhang N, Antony S, Liu H, Murthy R. Hive-A petabyte scale data warehouse using Hadoop. In Proc. the 26th IEEE International Conference on Data Engineering, March 2010, pp.996-1005.
[21] Barber R, Garcia-Arellano C, Grosman R et al. Evolving databases for new-gen big data applications. In Proc. the 8th Biennial Conference on Innovative Data Systems Research, January 2017, Article No. 2.
[22] Kallman R, Kimura H, Natkins J et al. H-Store:A highperformance, distributed main memory transaction processing system. Proceedings of the VLDB Endowment, 2008, 1(2):1496-1499.
[23] Pavlo A, Jones E P, Zdonik S. On predictive modeling for optimizing transaction execution in parallel OLTP systems. Proceedings of the VLDB Endowment, 2011, 5(2):85-96.
[24] Serafini M, Mansour E, Aboulnaga A, Salem K, Rafiq T, Minhas U F. Accordion:Elastic scalability for database systems supporting distributed transactions. Proceedings of the VLDB Endowment, 2014, 7(12):1035-1046.
[25] Taft R, Mansour E, Serafini M, Duggan J, Elmore A J, Aboulnaga A, Pavlo A, Stonebraker M. E-store:Finegrained elastic partitioning for distributed transaction processing systems. Proceedings of the VLDB Endowment, 2014, 8(3):245-256.
[26] Mahajan K, Chowdhury M, Akella A, Chawla S. Dynamic query re-planning using QOOP. In Proc. the 13th USENIX Symposium on Operating Systems Design and Implementation, October 2018, pp.253-267.
[27] Cowling J A, Liskov B. Granola:Low-overhead distributed transaction coordination. In Proc. the 2012 USENIX Annual Technical Conference, June 2012, pp.223-235.
[28] Färber F, May N, Lehner W et al. The SAP HANA database-An architecture overview. IEEE Data Eng. Bull., 2012, 35(1):28-33.
[29] Lee J, Kwon Y S, Färber F et al. SAP HANA distributed inmemory database system:Transaction, session, and metadata management. In Proc. the 29th International Conference on Data Engineering, April 2013, pp.1165-1173.
[30] Thomson A, Diamond T, Weng S C, Ren K, Shao P, Abadi D J. Calvin:Fast distributed transactions for partitioned database systems. In Proc. the 2012 ACM SIGMOD International Conference on Management of Data, May 2012, pp.1-12.
[1] Yue-Wen Wu, Yuan-Jia Xu, Heng Wu, Lin-Gang Su, Wen-Bo Zhang, Hua Zhong. Apollo: Rapidly Picking the Optimal Cloud Configurations for Big Data Analytics Using a Data-Driven Approach [J]. Journal of Computer Science and Technology, 2021, 36(5): 1184-1199.
[2] Bi-Ying Yan, Chao Yang, Pan Deng, Qiao Sun, Feng Chen, Yang Yu. A Spatiotemporal Causality Based Governance Framework for Noisy Urban Sensory Data [J]. Journal of Computer Science and Technology, 2020, 35(5): 1084-1098.
[3] Qi Chen, Kang Chen, Zuo-Ning Chen, Wei Xue, Xu Ji, Bin Yang. Lessons Learned from Optimizing the Sunway Storage System for Higher Application I/O Performance [J]. Journal of Computer Science and Technology, 2020, 35(1): 47-60.
[4] Rui Ren, Jiechao Cheng, Xi-Wen He, Lei Wang, Jian-Feng Zhan, Wan-Ling Gao, Chun-Jie Luo. HybridTune: Spatio-Temporal Performance Data Correlation for Performance Diagnosis of Big Data Systems [J]. Journal of Computer Science and Technology, 2019, 34(6): 1167-1184.
[5] Ze-Qi Lin, Bing Xie, Yan-Zhen Zou, Jun-Feng Zhao, Xuan-Dong Li, Jun Wei, Hai-Long Sun, Gang Yin. Intelligent Development Environment and Software Knowledge Graph [J]. , 2017, 32(2): 242-249.
[6] Zhen-Hua Li, Gang Liu, Zhi-Yuan Ji, Roger Zimmermann. Towards Cost-Effective Cloud Downloading with Tencent Big Data [J]. , 2015, 30(6): 1163-1174.
[7] Hui Li, Di Wu, Gao-Xiang Li, Yi-Hao Ke, Wen-Jie Liu, Yuan-Huan Zheng, Xiao-La Lin. Enhancing Telco Service Quality with Big Data Enabled Churn Analysis: Infrastructure, Model, and Deployment [J]. , 2015, 30(6): 1201-1214.
[8] Tao Liu, Yi Liu, Qin Li, Xiang-Rong Wang, Fei Gao, Yan-Chao Zhu, De-Pei Qian. SEIP: System for Efficient Image Processing on Distributed Platform [J]. , 2015, 30(6): 1215-1232.
[9] Shu-Sheng Guo, Zi-Mu Yuan, Ao-Bing Sun, Qiang Yue. A New ETL Approach Based on Data Virtualization [J]. , 2015, 30(2): 311-323.
[10] Dong Yan, Xu-Sen Yin, Cheng Lian, Xiang Zhong, Xin Zhou, Gan-Sha Wu. Using Memory in the Right Way to Accelerate Big Data Processing [J]. , 2015, 30(1): 30-41.
[11] Chao Wang, Xi Li, Xue-Hai Zhou. CRAIS: A Crossbar-Based Interconnection Scheme on FPGA for Big Data [J]. , 2015, 30(1): 84-96.
[12] Wenfei Fan, Jin-Peng Huai. Querying Big Data: Bridging Theory and Practice [J]. , 2014, 29(5): 849-869.
[13] Carlos Teijeiro, Guillermo L. Taboada, Juan Touriño, Ramón Doallo, José C. Mouriño, Damián A. Mallón, and Brian Wibecan. Design and Implementation of an Extended Collectives Library for Unified Parallel C [J]. , 2013, 28(1): 72-89.
[14] Yong-Qin Huang, Senior Member, CCF, Hong-Liang Li, Xiang-Hui Xie, Lei Qian, Zi-Yu Hao, Feng Guo, and Kun Zhang. ArchSim: A System-Level Parallel Simulation Platform for the Architecture Design of High Performance Computer [J]. , 2009, 24(5): 901-912.
[15] Wei-Wu Hu, Rui Hou, Jun-Hua Xiao, and Long-Bin Zhang. High Performance General-Purpose Microprocessors: Past and Future [J]. , 2006, 21(5): 631-640 .
Full text



[1] Zhou Di;. A Recovery Technique for Distributed Communicating Process Systems[J]. , 1986, 1(2): 34 -43 .
[2] Chen Shihua;. On the Structure of Finite Automata of Which M Is an(Weak)Inverse with Delay τ[J]. , 1986, 1(2): 54 -59 .
[3] C.Y.Chung; H.R.Hwa;. A Chinese Information Processing System[J]. , 1986, 1(2): 15 -24 .
[4] Sun Zhongxiu; Shang Lujun;. DMODULA:A Distributed Programming Language[J]. , 1986, 1(2): 25 -31 .
[5] Wang Jianchao; Wei Daozheng;. An Effective Test Generation Algorithm for Combinational Circuits[J]. , 1986, 1(4): 1 -16 .
[6] Chen Zhaoxiong; Gao Qingshi;. A Substitution Based Model for the Implementation of PROLOG——The Design and Implementation of LPROLOG[J]. , 1986, 1(4): 17 -26 .
[7] Huang Heyan;. A Parallel Implementation Model of HPARLOG[J]. , 1986, 1(4): 27 -38 .
[8] Zheng Guoliang; Li Hui;. The Design and Implementation of the Syntax-Directed Editor Generator(SEG)[J]. , 1986, 1(4): 39 -48 .
[9] Shen Li; Stephen Y.H.Su;. Generalized Parallel Signature Analyzers with External Exclusive-OR Gates[J]. , 1986, 1(4): 49 -61 .
[10] Min Yinghua; Han Zhide;. A Built-in Test Pattern Generator[J]. , 1986, 1(4): 62 -74 .

ISSN 1000-9000(Print)

CN 11-2296/TP

Editorial Board
Author Guidelines
Journal of Computer Science and Technology
Institute of Computing Technology, Chinese Academy of Sciences
P.O. Box 2704, Beijing 100190 P.R. China
  Copyright ©2015 JCST, All Rights Reserved