?

机器学习能革了数据库索引的命吗?

关系数据库帝国已经独孤求败几十年了!

机器学习能革了数据库索引的命吗?

自从1970年E.F.Codd 的《大型共享数据库的关系模型》论文横空出世,为关系型数据库奠定了坚实的理论基础,一众关系数据库System R,DB2 ,Oracle,MySQL,Postgres相继诞生,一举推翻了层次和网状数据库的统治。

在过去的几十年中, 对象数据库, NoSQL等相继挑战,但是依然无法撼动它的地位。

当然关系数据库也不是停滞不前,它也在进化,统一的SQL标准,强大的事务支持,更加聪明的查询优化器......

但是帝国也有一个巨大的硬伤,数据都保存在硬盘上,比起内存和CPU来,硬盘实在是太慢了。 如果说内存是火箭的话,硬盘就是驴车。

帝国想出了很多办法,但总是不能彻底解决问题,到目前为止,一个比较好的办法就是使用B+树。

比如有一张表User, 假设它只有两列(id, age),ID为主键Key。

机器学习能革了数据库索引的命吗?

图1

那么它的B+树存储结构为:

机器学习能革了数据库索引的命吗?

(图2:B+树中节点也保存在磁盘块中)

最后一层为有序的数据页,每个页包含指向下一个数据页的页号(也就是地址),这里假设一条记录占据一个数据页,那么第一条记录在1号数据页,第二条记录在2号数据页,依次类推。

这样以来,如果用户想获取ID = 4的记录,数据库只需要读取三次磁盘就可以找到记录所在的数据的页号(page)为4。

机器学习能革了数据库索引的命吗?

图3

机器学习大使

这一天, 帝国的早朝上来了一位神秘的客人,号称是机器学习王国的大使,他自称带来了一个咒语,能够根据一个数据库记录的索引列的值(比如主键Key=4),瞬间定位到记录的页号( page = 4),连那三次硬盘读写都不需要。

这绝对是个革命性的技术,国王非常感兴趣,下旨让大使详细讲述。

B+树大臣马上就感受到了威胁,如果真有这个咒语,自己官位不保,于是他赶紧阻止:“陛下,老夫有所耳闻,机器学习虽然风靡如意彩票pk10计划一期世界,但是也有很多招摇撞骗,不着边际的故事,这个大使,很有可能就是想推销几个鬼都看不懂的数学模型来骗钱!”

国王把没有说话,把目光射向大使。

机器学习大使脸微微一沉,心中想到,不把这个老头子搞定,也就无法说服国王, 既然你送上门来,我就拿你开刀吧。

他主意打定,胸有成竹,先给B+树大臣戴高帽挖个坑: “大人误会了,小人知道您在数据库王国是绝对的中流砥柱, 您采用多叉平衡树的方式,降低了索引层次,减少了硬盘I/O时间,并在叶子节点上维护一个根据key(索引列)排序的线性表(S),获得了范围查询的能力....”

B+树微微一笑,心想这小子是有备而来啊,懂得不少。

从key直接找到page

然而大使话锋一变:“但是,说白了,它就是一个通过key获取数据记录页面(page)一个映射关系!而这和机器学习中的回归要干的事情是一样的,都是通过一些特征预测目标值,比如通过每个人的年龄,收入等信息预测你的潜力值,只不过说在数据库这个场景下key是特征,page是目标值。”

B+树不屑道:“难道机器学习只要是映射就可以学吗?有点忽悠了吧!”

大使忍住这当面的嘲讽,平心静气地说:“您要知道,这个key和page之间是有关系的!而您正是忽略它两者可能存在的强关联!。”

说到这里,大使不知道从哪里变出一块小黑板,在上面画了图2,然后说:“比如说我现在有一堆数据,每条记录占一个数据页,他们的key和page之间的关系是这样的 ”

机器学习能革了数据库索引的命吗?

机器学习大使清了清嗓子:“对于机器学习模型,比如我用一个简单的线性回归算法,假定模型为page=a * key + b,而我们当前训练集,也就是这棵B+树中key与之对应page数据(1,1),(2,2)…(12,12),也就是说a,b必须得满足1=a+b,2=2a+b…12=12a+b这12个等式,就相当于我们小时候求解二元一次方程组一般,我们得到a = 1,b = 0, 于是乎我们得到了最终模型page = key!”

应对复杂情况

相关推荐
新闻聚焦
猜你喜欢
热门推荐
  • 微软AI面试题有多难?这里有一份样卷

      究竟什么样的AI人才能被微软这样的巨头聘用呢?今天,文摘君就淘来了几道微软AI 面试题,同时给出了最基本的解答......

    06-25????来源:澎湃新闻网

    分享
  • 全球最聪明的大脑怎么看AI?他们预测了

      2017年AI领域取得了诸多成果。2018年AI又将何去何从?以下是来自世界顶级研究人员和行业领军人物对2018年AI领域发展作......

    02-20????来源:虎嗅网

    分享
  • 2017JavaScript框架战报 - React分战场

      我们来看看与React有关的软件包的生态系统。当Facebook构建React时,就有许多来自开源社区的第三方软件包。为提供完......

    02-27????来源:湖北新闻网

    分享
  • 小白学数据:教你用Python实现简单监督学

      监督学习作为运用最广泛的机器学习方法,一直以来都是从数据挖掘信息的重要手段。即便是在无监督学习兴起的近......

    03-05????来源:今日头条

    分享
  • 现代编程语言Swift、Kotlin等十大有趣功能

      最近学习了一些现代编程语言,比如Reason,Swift,Kotlin和Dart。这些编程语言提供了许多新功能,本文主要分享了我认......

    04-29????来源:祁东新闻网

    分享
  • 领域场景分析的6W模型

      组成场景的要素常常被称之为6W模型,即描写场景的过程必须包含Who,What,Why,Where,When与hoW这六个要素。......

    04-30????来源:砍柴网

    分享
  • 开源应用服务器WildFly 12发新季度交付模式

      WildFly 12 Final版本现在已经可以下载了,WildFly是一款灵活的开源应用服务器,支持开发人员构建轻量级应用程序。支持......

    05-10????来源:青岛新闻网

    分享
  • 基于Spring Cloud的微服务落地

      微服务架构模式的核心在于如何识别服务的边界,设计出合理的微服务。但如果要将微服务架构运用到生产项目上,......

    06-04????来源:广西新闻网

    分享
  • 为什么阿里工程师纷纷在内网晒代码?

      前阵子,在阿里一个小黑屋里,5名对代码有着极致追求的工程师参与阿里代码领域最高荣誉“多隆奖”的最终角逐。......

    06-08????来源:四川新闻网

    分享
  • 超级大汇总!200多个最好的机器学习、

      我把这篇文章分为了四个部分:机器学习,自然语言处理,python和数学。在每个部分中我都列举了一些主题,但是因......

    09-25????来源:洛阳新闻网

    分享
返回列表
Ctrl+D?将本页面保存为书签,全面了解最新资讯,方便快捷。