【DTSE Tech Talk 精选问答】NO.61丨智能优化揭秘 - GaussDB数据库查询重写的自动挖掘与生成

举报
云小宅 发表于 2024/07/10 16:23:54 2024/07/10
【摘要】 在数据库世界里,查询重写是提升性能的关键环节。现有系统依赖人工发现重写规则,过程缓慢且费时。而WeTune的诞生,彻底改变了这一现状!WeTune是一种革命性工具,能自动发现新重写规则,通过枚举和验证等效查询计划,大幅优化查询性能。加入我们的直播,共同探索数据库查询优化的前沿技术,见证性能提升的神奇瞬间!

在数据库世界里,查询重写是提升性能的关键环节。现有系统依赖人工发现重写规则,过程缓慢且费时。而WeTune的诞生,彻底改变了这一现状!WeTune是一种革命性工具,能自动发现新重写规则,通过枚举和验证等效查询计划,大幅优化查询性能。加入我们的直播,共同探索数据库查询优化的前沿技术,见证性能提升的神奇瞬间!

Q:WeTune 是否可以集成到DevOps流程中?是否支持SQL调优顾问功能?

A:可以作为外部改写工具,根据集成后挖掘的规则提供优化SQL的工具。

Q:如何避免规则穷举?如何由小规则生成大规则?

A:对于已经发现的规则使用,GaussDB结合Wetune合作了新的规则匹配算法,一定程度上避免暴力枚举

Q:WeTune 是否能提供优化建议和解释? 可以设置定期自动运行优化任务吗?

A:可以作为外部改写工具,根据集成后挖掘的规则提供优化SQL的工具。也可以作为内核查询重写规则引擎,直接优化查询的执行计划。

Q:WeTune在枚举和验证等效查询计划时使用了哪些技术?

A:基于 SMT(Satisfiability Modulo Theories)的等价性验证技术保证判定等价一定是等价的改写规则。基于形式化语言的枚举技术来枚举计划,具体可以参考论文。

Q:我们怎么评判一个SQL是写得好的?

A:可以使用启发式规则来选择重写规则,比如消除了一些表连接,明显是优的。某些SQL的优秀与否是基于代价的,可以结合代价模型做判断。

Q:这个技术用户侧怎么用?会直接给用户返回一个优化过的SQL吗?

A:基于 SMT(Satisfiability Modulo Theories)的等价性验证技术保证判定等价一定是等价的改写规则。基于形式化语言的枚举技术来枚举计划,具体可以参考论文。

Q:WeTune 的学习和优化机制是基于机器学习吗?是否可以优化存储过程和触发器?

A:不是基于机器学习,主要是做语义等价改写。

Q:查询重写未来会怎么在产品中体现?

A:目前是结合GaussDB做到内核中,根据挖掘的规则直接优化SQL,从而优化执行计划,也可以支持用户自定义添加规则。

Q:WeTune是否有办法应用于现有视图上?

A:视图在内核处理的时候会被展开成语法树,wetune可以对语法树进行等价变化。

Q:WeTune 是否有图形用户界面? 在优化过程中,用户是否需要暂停数据库操作?

A:目前没有图形界面,不需要暂停数据库使用,可以热加载热生效。

Q:如何评估WeTune发现重写规则的有效性?

A:首先等价性验证保证有效性,其次使用启发式规则来选择重写规则,比如消除了一些表连接,明显是优的,这些规则默认生效。对于部分场景化的规则可以依据代价模型给出代价评估更低的SQL。

Q:WeTune 处理复杂查询的能力如何? 支持哪些数据库系统?

A:目前结合GaussDB做到内核中,但wetune1.0有外部改写工具,实现SQL to SQL的改写。

Q:WeTune 对查询性能的优化程度如何量化?有哪些参考指标?

A:目前使用启发式规则来选择重写规则,比如消除了一些表连接,明显是优的。或者结合代价模型给出代价评估更低的SQL。

Q:WeTune 的优化过程是否可以回滚?

A:目前没有考虑回滚。Wetune是一种查询优化方法,不改变数据,从优化执行的逻辑讲,选择了某种优化,目前的数据库逻辑都是走下去的。

Q:WeTune 是否可以优化数据库链接池的使用和配置?

A:是做SQL的优化,目标是把一些不好优化的SQL改成更好的SQL,比如消除部分冗余或者等价下推某种条件。

Q:有用数据库事务吗?

A:Wetune是一种查询优化方法,不改变数据,从优化执行的逻辑讲,选择了某种优化,目前的数据库逻辑都是走下去的。

Q:规则能表达的粒度和能力范围?

A:目前定义了谓词,子集等语法能力,能够适配条件下推,冗余连接消除,distinct消除,子链接改写一些类似A表达改写成B表达的能力。可以参考论文得到大致能力范围。

Q:能不能根据SQL执行频率,自动维护索引?

A:是做SQL的优化,目标是把一些不好优化的SQL改成更好的SQL,比如消除部分冗余或者等价下推某种条件。

## 想要了解更多数据库相关知识,欢迎观看[DTSE Tech Talk 系列技术直播](https://bbs.huaweicloud.com/webinar/100031)
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。