Indexing for Interactive Exploration of Big Data Series

摘要:许多应用程序不断产生大量的数据系列,在某些关键场景中,分析人员需要能够在这些数据可用时立即查询它们,而目前最先进的索引方法和非常大的数据系列集合无法实现这一点。在本文中,我们提出了第一个自适应索引机制,专门用于解决索引和查询非常大的数据系列集合的问题。主要的想法是,我们不是在完整的数据集上预先构建完整的索引,然后再查询,而是交互式地、自适应地构建部分索引,只针对用户提出查询的数据部分。最终的效果是,用户无需等待较长的时间来创建索引,而是可以立即开始探索数据序列。我们提出了一个详细的设计和评估自适应数据系列索引的合成数据和现实工作负载。结果表明,我们的方法可以优雅地处理大型数据集合,同时大大降低了数据查询延迟。

THE ADAPTIVE DATA SERIES INDEX

详细介绍自适应数据系列索引,并描述它如何通过将昂贵的索引创建步骤从初始化时间转移到查询处理时间来减少数据与查询之间的差距。为了便于表示,我们分两个步骤讨论自适应数据序列索引;首先,我们提出了一种ADS设计方案,该设计引入了自适应增量加载索引中数据序列的概念。然后,我们讨论了ADS+,它引入了适应性分裂和适应性叶片大小的概念。最后,我们介绍了ADS+的一种激进变体PADS+,它是为倾斜的工作负载提供更好的性能而定制的。

The ADS Index

 ADS通过改变索引叶节点的构造来解决索引构建的瓶颈问题。ADS通过改变索引叶节点的构造来解决索引构建的瓶颈问题。实际的数据序列保留在原始文件中,只有在相关查询到达时才以自适应的方式加载。

1)Index Creation

输入是一个原始文件,包含所有ASCII格式的数据序列。ADS在此阶段构建一个最小树,即不包含任何数据序列的树。树只包含iSAX表示。这个过程首先对原始文件进行全面扫描,为每个数据系列条目创建iSAX表示

对于数据序列,我们还在原始数据文件中记录其偏移量,以便将来查询可以轻松检索原始值。为了最小化随机内存访问和随机I/O,我们在主内存中使用一组缓冲区(第6行)来临时保存要添加到索引中的数据。当这些缓冲区满时(第7行),我们将数据移动到索引中适当的叶缓冲区。如果有必要,我们在途中执行拆分操作(第12-15行)。拆分操作在算法2中有详细描述。然后,我们按顺序将每个叶子缓冲区刷新到磁盘(算法1,第19行),将每个叶子设置为PARTIAL模式,这意味着我们不在这个叶子中存储任何原始数据序列(第20行)。这个过程一直持续到我们索引了所有原始数据序列。稍后我们将讨论如何处理新数据(更新)。

The ADS+ Index (Adaptive Leaf Size)

ADS通过避免在相关查询到达之前将原始数据序列插入索引,大大减少了索引创建时间。然而,还有进一步优化的机会;通过研究自适应索引构建和细化过程中执行的操作,我们发现在索引树中拆分操作所花费的时间是主要的成本组成部分

1)Leaf Size and Splits

分割是昂贵的,因为它们导致数据在磁盘之间来回传输(以更新节点数据)。影响分割成本的主要参数是叶片大小。大叶子也会减少查询成本,反之亦然:当在搜索过程中到达一个大叶子时,我们必须扫描比小叶子更多的数据序列。最先进的索引依赖于需要在索引创建时预先设置的固定叶大小,通常表示索引创建成本和查询成本之间的折衷。

2)Adaptive Leaf Size

为了进一步优化数据查询时间,我们引入了ADS的轻量级变体ADS+,具有更透明的初始化步骤。主要的直觉是,可以使用较大的叶大小快速构建索引树,节省了非常昂贵的分割操作的时。ADS+使用两种不同的叶大小:用于优化索引构造的大的构建时叶大小,以及用于优化访问成本的小的查询时叶大小。这允许我们使未来的查询从执行的每个拆分操作中受益,通过遍历树而不是通过扫描更大的叶子来查找相关数据。

3)Partial ADS+ (PADS+)

它是为用户可能只想触发几个近似查询的场景以及查询工作负载倾斜较大的场景量身定制的。新的方法被命名为部分ADS+ (PADS+),它的主要直觉是逐步构建索引树的一部分,并且只针对查询到达时数据的小子集。该概念类似于部分索引[31]的思想,不同的是索引不是静态的,即它不是为预先确定的数据集定义的;相反,它会不断发展以适应工作负载。

 EXPERIMENTAL EVALUATION

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值