前几周将做未做的,放假也累了,有点摆。今天开始正式记录。
待解决的任务
MAB:清洗SQL格式,注意payload和predicate.关联:sqlglot。
DQN:放到cuda上,在imdb跑出实验效果。
SWIRL:弄好hypopg插件,跑通一下TPCH就改造成自己的负载。
QF:复现出论文效果先。swirl复现
成功跑通TPC-H,TPC-DS。
源代码没有给JOB负载逻辑,我猜是IMDB数据集太大了,现有的脚本导入都不好用,我就添加了使用自己imdb的逻辑。
根据学长fix过的JOB的workload,写了个脚本转化成纯Query,测出来性能还不错。
- queryFormer复现
- 原实验对四个指标进行的评估:
cost estimation
cardinality estimation
index recommendation
query optimize
感觉都复现到原文章水平了。
- DQN
沟槽的源代码是在tensorflow里,找半天才跑到gpu上。
一开始500轮效果感觉也不是很好,加大剂量接着跑上。检查一下query解析有没有问题先。
- MAB
数据需要清洗:提取SQL中的predicate和payload。
- sqlglot:可以直接提取出来子查询解析成AST树,于是可以按”表名”:[“列名”]形式提取出过滤条件列。
第一轮结果跑了一坨屎。首先是内存开的不够,老虎机的arm没选出来。
后面发现pg里查询代价的表示和MSSQL不一样,重写了半天也没弄好,明天接着干。