摘要:在空间查询处理中,目前流行的索引r树可能会造成较大的存储消耗和IO成本。受最近学习的索引[17]用机器学习模型取代b树的启发,我们研究了一个空间数据的类比问题。我们提出了一种新的空间数据学习索引结构(LISA)。其核心思想是使用机器学习模型,通过几个步骤,为任意空间数据集在磁盘页面中生成可搜索的数据布局。具体来说,LISA包含一个映射函数(将空间键(点)映射到一维映射值)、一个学习分片预测函数(将映射空间划分到分片)和一系列本地模型(将分片组织到页面)。在LISA的基础上,设计了一个范围查询算法,并通过格回归模型将KNN查询转换为范围查询。算法也为LISA设计来处理数据更新。大量的实验表明,在查询的存储消耗和IO成本方面,LISA明显优于R-tree和其他替代方法。此外,LISA可以高效地处理数据的插入和删除。
背景:
1)最近递归模型索引(RMI)取代了b -树索引1维数据,RMI由许多分阶段进入层次结构的机器学习模型组成。RMI的想法在空间数据的背景下是行不通的。首先,空间数据使RMI所要求的一维数据假设失效。
2)最近的z阶模型(ZM)[29]结合了z阶空间填充曲线[25]和RMI来索引空间数据。然而,它需要检查许多不相关的键范围查询和不支持KNN查询或数据更新。
方法:
它的核心思想是使用机器学习模型,通过几个精心设计的步骤,为任意空间数据集在磁盘页面中生成可搜索的数据布局。它采用了一种简单而有效的策略,即根据数据沿一系列轴的分布情况将空间划分为一系列网格单元,并沿这些轴对单元进行编号。LISA根据cell的边界构造一个部分单调函数M,将D维空间的数据映射到一维中。根据键的映射值,LISA学习由一系列分段线性函数组成的单调函数SP,为每个映射值分配一个shard id。通过调优SP的参数,每个分片包含相似数量的键。通过构建一个本地模型来管理每个分片的键,属于同一个分片的键存储在一个或多个连续的磁盘页面中,两个具有不同分片id的键存储在两个不同的页面中。通常,本地模型负责分配页面以存储键,并拆分或合并页面以更新数据。因此,我们的LISA也能够处理数据更新,包括插入和删除。与RMI[17]首先修复数据布局,然后学习模型来近似布局不同,LISA使用学习的模型来生成数据布局(分片)。
框架: