Towards Designing and Learning Piecewise Space-Filling Curves

Towards Designing and Learning Piecewise Space-Filling Curves (sigmod 2023)

为了对多维数据进行索引,首先使用空间填充曲线(sfc)将数据映射到一个维度,然后使用b树等一维索引方法对映射的数据进行索引。现有的sfc对整个数据空间均采用单一的映射方案。然而,单一的映射方案通常不能很好地处理所有的数据空间。在本文中,我们提出了一种新的SFC,称为分段SFC,它对不同的数据子空间采用不同的映射方案。具体来说,我们提出了一种Bit merge tree (BMTree)数据结构,它可以同时生成数据子空间及其SFC,并在整个数据空间中实现SFC的理想特性。此外,我们开发了一种基于强化学习的解决方案来构建BMTree,旨在获得出色的查询性能。大量的实验表明,我们提出的方法在查询性能方面优于现有的sfc。 

一。动机:

一个常见的问题是,每种类型的SFC都有自己固定的映射方案/功能,无法调整以适应不同的数据集。数据集的SFC选择将显著影响查询性能,并且没有一个SFC可以支配所有数据集和查询工作负载的性能。

 二方案:

我们的想法是根据数据和查询工作负载属性为不同的子空间设计不同的bmp,以优化查询性能。根据我们的想法设计的SFC将包含多个bmp,每个bmp对应于一个子空间,我们将得到的SFC称为分段SFC。图2演示了分段sfc的一个示例,其中我们为左半个子空间选择z曲线,为右半个子空间选择c曲线,从而为蓝色和黄色查询矩形(需要12个单元扫描)实现最佳性能。

 三挑战

首先,如何为不同的子空间设计有效的bmp是一个新的开放性问题。提出了一种将子空间划分与BMP生成无缝集成的新思路。我们开发了位合并树(BMTree)来递归地生成子空间和相应的位合并树。

其次,分段SFC的设计使得很难保证整个映射函数的两个理想属性:单调性[17]和注入性。

四具体方法

我们建议将BMTree的构建建模为马尔可夫决策过程(MDP)[38],旨在开发数据驱动的解决方案,为不同的子空间设计合适的bmp。我们利用强化学习技术蒙特卡罗树搜索(MCTS)[3]来学习性能感知策略并避免局部最优。为了提高MCTS算法的性能,我们设计了一种贪心动作选择算法。此外,为了提高训练效率,我们定义了一个名为ScanRange的指标作为查询处理性能的代理(例如,查询延迟和I/O成本),并使用ScanRange来定义奖励信号。

总结:

1. Bit Merging Tree (BMTree) for Piecewise SFC Design

       本文提出了一种将子空间划分和BMP生成无缝集成的新方法,即通过构建二叉树来建模一个分段的SFC, BMTree的每个节点都填充一个维的位。填充位将空间划分为对应于两个子节点的两个子空间。左分支是数据点位值为0的子空间,右分支是位值为1的子空间。bmtree将整个数据空间划分为子空间,每个子空间对应于一个叶节点,其BMP是从根到叶节点连接的位序列

RL-based Algorithm for Constructing a BMTree

    我们设计了一种基于学习的方法,从数据和查询中学习来构建BMTree。我们将BMTree的构建建模为一个马尔可夫决策过程[38]。构建BMTree的过程包括一系列操作,以自顶向下的顺序为树节点选择位。为了学习构建BMTree的有效策略,我们提出了一种将贪心策略集成到蒙特卡洛树搜索(MCTS)框架中的新方法[3]。具体来说,我们开发了一个贪心策略,用于为每个节点选择一个动作来填充位以构建树。对于每个节点,贪婪策略在所有候选比特中选择获得最大奖励的比特。然后,我们将贪心策略作为指导策略,使用MCTS对BMTree进行优化,以提供良好的查询性能并避免局部最优。

 框架过程

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值