Journal of Computer Science and Technology ›› 2021, Vol. 36 ›› Issue (4): 721-740.doi: 10.1007/s11390-021-1348-2

Special Issue: Data Management and Data Mining

• Special Section on AI4DB and DB4AI • Previous Articles     Next Articles

COLIN: A Cache-Conscious Dynamic Learned Index with High Read/Write Performance

Zhou Zhang1,2, Pei-Quan Jin1,2,*, Senior Member, CCF, Member, ACM, IEEE, Xiao-Liang Wang1,2, Yan-Qi Lv1,2, Shou-Hong Wan1,2, Member, ACM, IEEE, and Xi-Ke Xie1, Member, ACM, IEEE        

  1. 1 School of Computer Science and Technology, University of Science and Technology of China, Hefei 230026, China;
    2 Key Laboratory of Electromagnetic Space Information, Chinese Academy of Sciences, Hefei 230026, China
  • Received:2021-02-01 Revised:2021-06-13 Online:2021-07-05 Published:2021-07-30
  • Contact: Pei-Quan Jin E-mail:jpq@ustc.edu.cn
  • About author:Zhou Zhang received his B.S. degree in computer science and technology from the University of Science and Technology of China, Hefei, in 2016. He is a Ph.D. candidate of the School of Computer Science and Technology, University of Science and Technology of China, Hefei. His current research interests include database index, non-volatile memory, and stream processing systems.
  • Supported by:
    The work was supported by the National Natural Science Foundation of China under Grant No. 62072419 and the Huawei-USTC Joint Innovation Project on Fundamental System Software.

The recently proposed learned index has higher query performance and space efficiency than the conventional B+-tree. However, the original learned index has the problems of insertion failure and unbounded query complexity, meaning that it supports neither insertions nor bounded query complexity. Some variants of the learned index use an out-of-place strategy and a bottom-up build strategy to accelerate insertions and support bounded query complexity, but introduce additional query costs and frequent node splitting operations. Moreover, none of the existing learned indices are cachefriendly. In this paper, aiming to not only support efficient queries and insertions but also offer bounded query complexity, we propose a new learned index called COLIN (Cache-cOnscious Learned INdex). Unlike previous solutions using an out-ofplace strategy, COLIN adopts an in-place approach to support insertions and reserves some empty slots in a node to optimize the node’s data placement. In particular, through model-based data placement and cache-conscious data layout, COLIN decouples the local-search boundary from the maximum error of the model. The experimental results on five workloads and three datasets show that COLIN achieves the best read/write performance among all compared indices and outperforms the second best index by 18.4%, 6.2%, and 32.9% on the three datasets, respectively.

Key words: learned index; cache-conscious; insertion; dynamic index; read/write performance;

[1] Kraska T, Beutel A, Chi E H, Dean J, Polyzotis N. The case for learned index structures. In Proc. the 2018 International Conference on Management of Data, Jun. 2018, pp.489-504. DOI:10.1145/3183713.3196909.
[2] Galakatos A, Markovitch M, Binnig C, Fonseca R, Kraska T. FITing-Tree:A data-aware index structure. In Proc. the 2019 International Conference on Management of Data, Jun. 2019, pp.1189-1206. DOI:10.1145/3299869.3319860.
[3] Ferragina P, Vinciguerra G. The PGM-index:A fullydynamic compressed learned index with provable worst-case bounds. Proceedings of the VLDB Endowment, 2020, 13(8):1162-1175. DOI:10.14778/3389133.3389135.
[4] Ding J, Minhas U F, Yu J et al. ALEX:An updatable adaptive learned index. In Proc. the 2020 ACM International Conference on Management of Data, Jun. 2020, pp.969-984. DOI:10.1145/3318464.3389711.
[5] Shazeer N, Mirhoseini A, Maziarz K, Davis A, Le Q V, Hinton G E, Dean J. Outrageously large neural networks:The sparsely-gated mixture-of-experts layer. In Proc. the 5th International Conference on Learning Representations, April 2017.
[6] Liu X, Lin Z, Wang H. Novel online methods for time series segmentation. IEEE Transactions on Knowledge and Data Engineering, 2008, 20(12):1616-1626. DOI:10.1109/TKDE.2008.29.
[7] Xu Z, Zhang R, Ramamohanarao K, Parampalli U. An adaptive algorithm for online time series segmentation with error bound guarantee. In Proc. the 15th International Conference on Extending Database Technology, Mar. 2012, pp.192-203. DOI:10.1145/2247596.2247620.
[8] Xie Q, Pang C, Zhou X, Zhang X, Deng K. Maximum errorbounded piecewise linear representation for online stream approximation. The VLDB Journal, 2014, 23(6):915-937. DOI:10.1007/s00778-014-0355-0.
[9] Bentley J L, Yao A C. An almost optimal algorithm for unbounded searching. Information Processing Letters, 1976, 5(3):82-87. DOI:10.1016/0020-0190(76)90071-5.
[10] Hadian A, Heinis T. Considerations for handling updates in learned index structures. In Proc. the 2nd International Workshop on Exploiting Artificial Intelligence Techniques for Data Management, Jul. 2019, Article No. 3. DOI:10.1145/3329859.3329874.
[11] Li X, Li J, Wang X. ASLM:Adaptive single layer model for learned index. In Proc. the 2019 International Conference on Database Systems for Advanced Applications, Apr. 2019, pp.80-95. DOI:10.1007/978-3-030-18590-96.
[12] O'Neil P, Cheng E Y, Gawlick D, Oneil E. The logstructured merge-tree (LSM-tree). Acta Informatica, 1996, 33(4):351-385. DOI:10.1007/s002360050048.
[13] Bender M A, Hu H. An adaptive packed-memory array. ACM Transactions on Database Systems, 2007, 32(4):Article No. 26. DOI:10.1145/1292609.1292616.
[14] Ailamaki A, DeWitt D, Hill M, Wood D. DBMSs on a modern processor:Where does time go? In Proc. the 25th International Conference on Very Large Data Bases, Sept. 1999, pp.266-277.
[15] Hadian A, Heinis T. Shift-Table:A low-latency learned index for range queries using model correction. In Proc. the 24th International Conference on Extending Database Technology, Mar. 2021, pp.253-264. DOI:10.5441/002/edbt.2021.23.
[16] Tang C, Wang Y, Hu G et al. XIndex:A scalable learned index for multicore data storage. In Proc. the 25th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, Feb. 2020, pp.308-320. DOI:10.1145/33-32466.3374547.
[17] Kipf A, Marcus R, van Renen A, Stoian M, Kemper A, Kraska T, Neumann T. RadixSpline:A single-pass learned index. In Proc. the 3rd International Workshop on Exploiting Artificial Intelligence Techniques for Data Management, Jun. 2020, Article No. 5. DOI:10.1145/34010-71.3401659.
[18] Neumann T, Michel S. Smooth interpolating histograms with error guarantees. In Proc. the 25th British National Conference on Databases, July 2008, pp.126-138. DOI:10.1007/978-3-540-70504-812.
[19] Bilgram R. Cost models for learned index with insertions[Master Thesis]. Department of Computer Science, Aalborg University, 2019.
[20] Wang Y, Tang C, Wang Z, Chen H. SIndex:A scalable learned index for string keys. In Proc. the 11th ACM SIGOPS Asia-Pacific Workshop on Systems, Aug. 2020, pp.17-24. DOI:10.1145/3409963.3410496.
[21] Llaveshi A, Sirin U, Ailamaki A, West R. Accelerating B+-tree search by using simple machine learning techniques. In Proc. the 1st International Workshop on Applied AI for Database Systems and Applications, Aug. 2019.
[22] Hadian A, Heinis T. Interpolation-friendly B-trees:Bridging the gap between algorithmic and learned indexes. In Proc. the 22nd International Conference on Extending Database Technology, Mar. 2019, pp.710-713. DOI:10.5441/002/edbt.2019.93.
[23] Hadian A, Heinis T. MADEX:Learning-augmented algorithmic index structures. In Proc. the 2nd International Workshop on Applied AI for Database Systems and Applications, Aug. 2020.
[24] Li P, Lu H, Zheng Q, Yang L, Pan G. LISA:A learned index structure for spatial data. In Proc. the 2020 International Conference on Management of Data, Jun. 2020, pp.2119-2133. DOI:10.1145/3318464.3389703.
[25] Qi J, Liu G, Jensen C S, Kulik L. Effectively learning spatial indices. Proceedings of the VLDB Endowment, 2020, 13(11):2341-2354. DOI:10.14778/3407790.3407829.
[26] Nathan V, Ding J, Alizadeh M, Kraska T. Learning multidimensional indexes. In Proc. the 2020 International Conference on Management of Data, Jun. 2020, pp.985-1000. DOI:10.1145/3318464.3380579.
[27] Ding J, Nathan V, Alizadeh M, Kraska T. Tsunami:A learned multi-dimensional index for correlated data and skewed workloads. Proceedings of the VLDB Endowment, 2020, 14(2):74-86. DOI:10.14778/3425879.3425880.
[28] Zhou X, Chai C, Li G, Sun J. Database meets artificial intelligence:A survey. IEEE Transactions on Knowledge and Data Engineering. DOI:10.1109/TKDE.2020.2994641.
[29] Sun J, Li G. An end-to-end learning-based cost estimator. Proceedings of the VLDB Endowment, 2019, 13(3):307-319. DOI:10.14778/3368289.3368296.
[30] Rodriguez L V, Yusuf F, Lyons S, Paz E, Rangaswami R, Liu J, Zhao M, Narasimhan G. Learning cache replacement with CACHEUS. In Proc. the 19th USENIX Conference on File and Storage Technologies, Feb. 2021, pp.341-354.
[31] Zhou X, Sun J, Li G, Feng J. Query performance prediction for concurrent queries using graph embedding. Proceedings of the VLDB Endowment, 2020, 13(9):1416-1428. DOI:10.14778/3397230.3397238.
[32] Fan J, Liu T, Li G, Chen J, Shen Y, Du X. Relational data synthesis using generative adversarial networks:A design space exploration. Proceedings of the VLDB Endowment, 2020, 13(11):1962-1975. DOI:10.14778/3407790.3407802.
[33] Cooper B F, Silberstein A, Tam E, Ramakrishnan R, Sears R. Benchmarking cloud serving systems with YCSB. In Proc. the 1st ACM Symposium on Cloud Computing, Jun. 2010, pp.143-154. DOI:10.1145/1807128.1807152.
[34] Jin P, Ou Y, Härder T, Li Z. AD-LRU:An efficient buffer replacement algorithm for flash-based databases. Data & Knowledge Engineering, 2012, 72:83-102. DOI:10.1016/j.datak.2011.09.007.
[1] Hua Luan, Student Member, CCF, Xiao-Yong Du, Member, CCF, and Shan Wang, Senior Member, CCF, Member, ACM. Cache-Conscious Data Cube Computation on a Modern Processor [J]. , 2009, 24(4): 708-722.
[2] Yi-Ci Cai, Xin Zhao, Qiang Zhou, and Xian-Long Hong. Shielding Area Optimization Under the Solution of Interconnect Crosstalk [J]. , 2005, 20(6): 901-906 .
[3] Dian Zhou[1,2] and Rui-Ming Li[1]. Design and Verification of High-Speed VLSI Physical Design [J]. , 2005, 20(2): 147-165.
[4] Abdil Rashid Mohamed, Zebo Peng, and Petru Eles. A Wiring-Aware Approach to Minimizing Built-In Self-Test Overhead [J]. , 2005, 20(2): 216-223.
Viewed
Full text


Abstract

Cited

  Shared   
  Discussed   
[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] Liu Mingye; Hong Enyu;. Some Covering Problems and Their Solutions in Automatic Logic Synthesis Systems[J]. , 1986, 1(2): 83 -92 .
[4] Wang Xuan; Lü Zhimin; Tang Yuhai; Xiang Yang;. A High Resolution Chinese Character Generator[J]. , 1986, 1(2): 1 -14 .
[5] Zhang Cui; Zhao Qinping; Xu Jiafu;. Kernel Language KLND[J]. , 1986, 1(3): 65 -79 .
[6] Wang Jianchao; Wei Daozheng;. An Effective Test Generation Algorithm for Combinational Circuits[J]. , 1986, 1(4): 1 -16 .
[7] 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 .
[8] Huang Heyan;. A Parallel Implementation Model of HPARLOG[J]. , 1986, 1(4): 27 -38 .
[9] Zheng Guoliang; Li Hui;. The Design and Implementation of the Syntax-Directed Editor Generator(SEG)[J]. , 1986, 1(4): 39 -48 .
[10] Huang Xuedong; Cai Lianhong; Fang Ditang; Chi Bianjin; Zhou Li; Jiang Li;. A Computer System for Chinese Character Speech Input[J]. , 1986, 1(4): 75 -83 .

ISSN 1000-9000(Print)

         1860-4749(Online)
CN 11-2296/TP

Home
Editorial Board
Author Guidelines
Subscription
Journal of Computer Science and Technology
Institute of Computing Technology, Chinese Academy of Sciences
P.O. Box 2704, Beijing 100190 P.R. China
Tel.:86-10-62610746
E-mail: jcst@ict.ac.cn
 
  Copyright ©2015 JCST, All Rights Reserved