LOADING

缓存加载中...

4.19

2025/4/19 论文

 
复现。

SWIRL:通过强化学习进行关注负载的索引选择

knowledge

主要工作

  1. 通过强化学习建模索引选举问题。
  2. 未知工作负载的泛化能力。
  3. 通过无效动作屏蔽,在准备阶段实现数千种索引候选方案的高效训练。
  4. 和现有sota比较。

文章关注二级secondary索引
旨在弥合两类算法之间的差距:一类是识别接近最优配置的算法,另一类是快速确定解决方案的算法。

结果评估标准

基准:

  1. TPC-H
  2. TPC-DS
  3. Join-Order-Benchmark(from IMDB)

比较的指标(综合场景固定负载大小;单一场景改变负载大小):

  1. 工作负载(百分比,对比无索引时的成本)
  2. 选择时间(生成优化索引配置所需时间)
    (3. 无效动作屏蔽对有效动作数量的影响)

复现

配置:Python 3.7 PostgreSQL 12.5

protobuf一直版本出问题,只能直接使用python编译。

注意:使用的虚拟索引Hypopg中,文章实验之后list_indexfunction更新为view
处理方法:拉取更新之前的commit重新编译,在Postgres中手动添加extension

文章只提供了一个gym_db,是TPC-H基准测试的workload。提了issue也没消息。不过够用了。