构想下一代优化器MBO:MachineLearning Based Optimizer

熟悉ORACLE数据库的人,对RBO/CBO肯定很熟。

Rule Based Optimizer(RBO)基于规则 Cost Based Optimizer(CBO)基于成本,或者讲统计信息

ORACLE 提供了CBO、RBO两种SQL优化器。CBO在ORACLE7 引入,但在ORACLE8i 中才成熟。ORACLE 已经明确声明在ORACLE9i之后的版本中(ORACLE 10G ),RBO将不再支持。因此选择CBO 是必然的趋势。

RBO自ORACLE 6版以来被采用,有着一套严格的使用规则,只要你按照它去写SQL语句,无论数据表中的内容怎样,也不会影响到你的“执行计划”,也就是说对数据不“敏感”;CBO计算各种可能“执行计划”的“代价”,即cost,从中选用cost最低的方案,作为实际运行方案。各“执行计划”的cost的计算根据,依赖于数据表中数据的统计分布,ORACLE数据库本身对该统计分布并不清楚,必须要分析表和相关的索引(使用ANALYZE 命令),才能搜集到CBO所需的数据。

RBO是一种呆板、过时的优化器,它只认规则,对数据不敏感。毕竟规则是死的,数据是变化的,这样生成的执行计划往往是不可靠的,不是最优的,CBO 相比RBO进步很大。

CBO/RBO都是在交易数据中演变成来的,CBO只能统计静态的数据,比如在分析领域的ETL计算,还有很多外部条件,比如数据量和资源的关系,任务之间的相互影响,高SLA任务保障等等,这些通过机器学习算法就可以解决静态统计不能解决的一些问题,因此我在想未来的优化器应该是MBO:MachineLearning Based Optimizer。

大家觉得呢?

原文发布于微信公众号 - 大数据和云计算技术(jiezhu2007)

原文发表时间:2016-06-10

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏包子铺里聊IT

跟花和尚学系统设计:明星公司之Netflix(中篇)

谁是花和尚? 花和尚是一个定居西雅图的程序员,拥有多年系统设计和开发经验。喜欢研究和总结System Design, 并传授给大家。花和尚在MITBBS一篇 "...

3706
来自专栏Jerry的SAP技术分享

金庸和古龙,Netweaver和微服务,以及SAP Hybris Revenue Cloud

这周Jerry在长沙客户现场待了几天,感谢易总和彩亮的款待。终于有机会和关注这个公众号的一些CRM顾问们进行线下互动,感觉很不错。得知公众号里某些文章帮助顾问们...

1423
来自专栏Netkiller

如何开发以太坊网页钱包·Express + web3.js 实例

中国广东省深圳市龙华新区民治街道溪山美地 518131 +86 13113668890 <netkiller@msn.com>

76613
来自专栏企鹅号快讯

2017 年度数据库:PostgreSQL 实至名归

来源:oschina www.oschina.net/news/92308/postgresql-is-the-dbms-of-the-year-2017 DB...

2108
来自专栏数据和云

PostgreSQL 获评2017 DB-Engines年度DBMS榜首

在 DB-Engines 网站,一年一度的年度数据库已经被评选出来,2017 年的年度数据库花落 PostgreSQL。 ? 百花齐放春光好,各领风骚立潮头,最...

2895
来自专栏Python专栏

CAP 理论 —最通俗易懂的解释

链接:blog.csdn.net/lihao21/article/details/81051631

492
来自专栏Crossin的编程教室

谈谈抢火车票的技术、技巧,以及暗藏其中的套路

我鄙视一切商业性质的抢票工具。这些公司取代了火车站门口兜售的个体,成为了新时代的垄断黄牛。 技术 一道面试题:让你实现一套自动抢票系统,你会怎么设计? 大体来说...

3467
来自专栏鸿的学习笔记

脑洞大开之给地狱设计数据系统(上)

今天阎罗王提了一个需求,那就是他不想再用手写记录死亡记录了,它需要一个数据系统来简化管理。于是手下的小鬼火急火燎的找上了地狱最大的三家数据系统提供商HBA...

823
来自专栏主机笔记

测试:绝地求生吃鸡到底需不需要16G内存双通道

最近腾讯代理了绝地求生这款游戏,通过百度搜索发现其官网已经上线,但是只看到了一个硬件检测的应用,然后就果断下载了一个测测看,结果测试显示只能是低特效运行,最后看...

4096
来自专栏分布式关系数据库探索

分布式关系数据库探索 - NewSQL 演化过程

回味过去,展望未来,开始分布式数据库探索之旅,首先了解历史,本文大致梳理一下数据库发展过程,从1970年到2018年,数据库的发展过程,仅供参考,交流和学习,感...

1001

扫码关注云+社区