计算机科学
特里亚
弦(物理)
搜索引擎索引
节点(物理)
钥匙(锁)
索引(排版)
字符串度量
数据挖掘
新颖性
编码(集合论)
数据结构
理论计算机科学
字符串搜索算法
人工智能
算法
位阵列
数据库索引
源代码
近似字符串匹配
数据建模
机器学习
访问方法
反向
作者
Zhaole Chu,Yigui Yuan,Junli Wang,Xiaoliang Wang,Peiquan Jin
标识
DOI:10.1109/tc.2026.3679553
摘要
Learned index has emerged as a new indexing technique that leverages machine learning to accelerate in-memory data processing. However, current learned indexes are primarily designed to index numeric keys and lack robust support for variable-length string keys. In this paper, we propose a novel in-memory learned index called LISK (LearnedIndex forStringKeys) to support string keys. The novelty of LISK is two-fold. First, we propose a trie-like structure to address the limitations of linear models in fitting string keys. Each trie node indexes 8-byte key slices, which are organized as learned sub-indexes or B+-trees. Second, we present a new structure for learned sub-indexes, namely TLS (Two-layerLearnedSubindex), which is tailored to handle the complex distribution of string keys. TLS utilizes three key designs to improve the overall performance: (1) a two-phase hybrid index construction, (2) a second-derivative-based data partitioning, and (3) a cachefriendly overflow node design. We conduct extensive experiments on five datasets and six workloads to compare LISK with seven existing indexes, including five trie-based indexes and the state-of-the-art learned index LITS. The experimental results show that LISK achieves an average 1.99× (up to 7.87×) higher throughput across the six workloads on real-world datasets. Specifically, compared with LITS, LISK achieves an average 1.42× (up to 1.91× ) higher throughput. The source code of LISK is available athttps://github.com/suibianll/LISK/tree/master.
科研通智能强力驱动
Strongly Powered by AbleSci AI