国内刊号:11-2560/TP
国际刊号:1000-9825
发布日期:
作者:高远宁,叶金标,杨念祖,高晓沨,陈贵海
单位:高远宁,上海市可扩展计算与系统重点实验室, 上海 200240;上海交通大学 计算机科学与工程系, 上海 20024011,叶金标,上海市可扩展计算与系统重点实验室, 上海 200240;上海交通大学 计算机科学与工程系, 上海 20024002,杨念祖,上海市可扩展计算与系统重点实验室, 上海 200240;上海交通大学 计算机科学与工程系, 上海 20024003,高晓沨,上海市可扩展计算与系统重点实验室, 上海 200240;上海交通大学 计算机科学与工程系, 上海 20024004,陈贵海,上海市可扩展计算与系统重点实验室, 上海 200240;上海交通大学 计算机科学与工程系, 上海 20024005
关键词:学习索引;聚类;神经网络;动态更新
基金:国家重点研发计划(2018YFB1004700);国家自然科学基金(61872238,61972254,61832005);上海市科技创新行动计划(17510740200);CCF-华为数据库创新研究计划(CCF-Huawei DBIR2019002A)
在大数据与云计算时代,数据访问速度是衡量大规模存储系统性能的一个重要指标.因此,如何设计一种轻量、高效的数据索引结构,从而满足系统高吞吐率、低内存占用的需求,是当前数据库领域的研究热点之一.Kraska等人提出使用机器学习模型代替传统的B树索引,并在真实数据集上取得了不错的效果,但其提出的模型假设工作负载是静态的、只读的,对于索引更新问题没有提出很好的解决办法.提出了基于中间层的可扩展的学习索引模型Dabble,用来解决索引更新引发的模型重训练问题.首先,Dabble模型利用K-Means聚类算法将数据集划分为K个区域,并训练K个神经网络分别学习不同区域的数据分布.在模型训练阶段,创新性地把数据的访问热点信息融入到神经网络中,从而提高模型对热点数据的预测精度.在数据插入时,借鉴了LSM树延迟更新的思想,提高了数据写入速度.在索引更新阶段,提出一种基于中间层的机制将模型解耦,从而缓解由于数据插入带来的模型更新问题.分别在Lognormal数据集以及Weblogs数据集上进行实验验证,结果表明,与当前先进的方法相比,Dabble模型在查询以及索引更新方面都取得了非常好的效果.
来源:2020年第3期
《软件学报》期刊编辑部