Affiliation:
1. Dankook University, Yongin, Republic of Korea
Abstract
By embedding the distribution of keys in indexing structure, learned indexes can minimize the index size and maximize the lookup performance. Yet, one of the problems in the present learned index is the long index-building time. The conventional learned index requires a complete traversal of the entire dataset, which makes it less practical than traditional index. This paper challenges the efficiency of build time to make the learned index practical.
Our approach for a build time-efficient learned index is to employ sampled learning. In this paper, we present two error-bounded sampling schemes: Sample EB-PLA, and Sample EB-Histogram. Although sampling is a simple idea, there are several considerations to make it practical. For example, sampling interval, error-boundness, and index hyper-parameters are inter-related each other, presenting complicated trade-offs between build-time, index size, accuracy and lookup latency.
Throughout the extensive experiments over six real-world datasets, we show that the index-building time can be efficiently reduced over an order of magnitude by our sampling schemes. The results reveal that the sampling expands the design space of learned indexes, including the build-time as well as lookup performance and index size. Our Pareto analysis shows that a learned index can be built more efficiently than a traditional index through sampling.
Funder
National Research Foundation of Korea
Institute for Information and Communications Technology Planning and Evaluation
Publisher
Association for Computing Machinery (ACM)
Reference49 articles.
1. 2007. STX B-Tree. Retrieved October 14 2023 from https://panthema.net/2007/stx-btree/
2. 2008. CassandraDB. Retrieved October 14 2023 from https://github.com/apache/cassandra
3. 2011. C Reference. Retrieved October 14 2023 from https://en.cppreference.com/w/cpp/algorithm/lower_bound
4. 2011. LevelDB. Retrieved October 14 2023 from https://github.com/google/leveldb
5. 2012. RocksDB. Retrieved October 14 2023 from https://github.com/facebook/rocksdb