加入收藏 | 设为首页 | 会员中心 | 我要投稿 惠州站长网 (https://www.0752zz.com.cn/)- 办公协同、云通信、物联设备、操作系统、高性能计算!
当前位置: 首页 > 建站 > 正文

快1万倍!伯克利提出用深度RL优化SQL查询

发布时间:2018-10-12 03:20:40 所属栏目:建站 来源:AI前线小组
导读:副标题#e# 【新产品上线啦】51CTO播客,随时随地,碎片化学习 如何优化 SQL 连接是数据库社区数十年来一直在研究的一个大问题。近日,伯克利 RiseLab 公布了一项研究表明,深度强化学习可以被成功地应用在优化 SQL 连接上。对于大型的连接,这项技术的运行

在所有成本模型中,DQ 在没有指数结构的先验知识的前提下可以与最优解决方案一比高下。对于固定的动态规划,情况并非如此:例如,left-deep 在 CM1 中产生了良好的计划(鼓励使用索引连接),但在 CM2 和 CM3 中效果没有那么好。同样,right-deep 计划在 CM1 中没有竞争力,但如果使用 CM2 或 CM3,right-deep 计划突然变得不那么糟糕。需要注意的是,基于学习的优化器比手动设计的算法更强大,可以适应工作负载、数据或成本模型的变化。

此外,DQ 以比传统动态规划快得多的速度产生了良好的计划(图 4)。

快1万倍!伯克利提出用深度RL优化SQL查询

 

图 4:所有 113 个 JOB 查询的优化器延迟,按查询中的关系数量进行分组。误差棒表示平均值附近的±标准偏差。共进行了 5 次试验。

在大型连接机制中,DQ 实现了极大的加速:对于最大的连接,DQ 的速度是穷举的 10000 倍,比 zig-zag 快 1000 倍,比 left-deep 和 right-deep 枚举快 10 倍。性能增益主要来自神经网络提供的丰富的批处理机会——对于单个迭代中所有的候选连接,DQ 针对整个批处理调用一次 NN。我们相信,对于这样一个学习优化器来说,这是一个意义深远的性能改进:对于更大的查询或运行在专用加速器(例如 GPU、TPU)上时,它将表现出更大的优势。

概 要我们认为深度强化学习非常适合用来解决连接排序问题。深度强化学习使用数据驱动方法来调整针对特定数据集和工作负载的查询计划,并观察连接成本,而不是使用固定的启发式。为了选择查询计划,DQ 使用了能够在训练时编对态规划表的压缩版本进行编码的神经网络。

DQ 只是冰山一角,在数据库社区存在激烈的争论,围绕着如何将更多的学习(或者说是数据适应性)纳入到现有系统中。我们希望我们的工作是实现更智能的查询优化器的第一步。

(编辑:惠州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读