暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

谷歌说,善有善报,恶有恶报?看看图灵奖得主如何解读数据库

原创 火龙呼呼猫 2024-10-10
175

    “善有善报,恶有恶报”,这并不是文章的原标题。原标题是《What Goes Around Comes Around... And Around...》。

    关于原标题应该怎么理解,我咨询了一下谷歌翻译,这句话被翻译成了“善有善报,恶有恶报……”。

    不知翻译的是否达意,不如先看看文章内容再说吧。

    

    进入内容之前,还是得先了解一下两位作者(作者信息摘自维基百科,熟悉他们的读者可跳过)


Michael Stonebraker

    美国计算机科学家,研究领域为数据库。通过一系列学术原型以及初步的商业化,Stonebraker在关系数据库方面的研究结果对现今市场上的产品有很深的影响。同他也是以下数据库公司的创始人:Ingres,Illustra,Cohera,StreamBase Systems,Vertica,以及VoltDB。

    目前,Stonebraker是MIT的兼职教授,所参与的项目包括:Aurora,C-Store,H-Store,Morpheus,以及SciDB系统等。2015年3月25日,Stonebraker获得图灵奖。

    

Andrew Pavlo

    卡内基梅隆大学计算机科学副教授。他从事数据库管理系统方面的研究,尤其对“主存系统、自动驾驶/自主架构、事务处理系统和大规模数据分析”感兴趣。



步入正题。。。

    文章开头先回忆了一下2005年的文章,名叫《What Goes Around Comes Around》,作者之一也是Stonebraker。那篇文章认为关系型模型会占据主导地位,那些曾经拒绝关系模型的所谓的NoSQL,其含义也从“不要SQL” 变成了“不只是SQL”。当然关系模型也在进化,其实现方式也在演进。

    接下来,作者开始分析自2005年之后,近20年来的一些业界重要事件。文章很长,下面尽量用精炼的语言转述吧。对某部分特别感兴趣想看原文的可以参考文后链接。

(如不加特别说明,下面都是在转述作者文章内容)


--------

一、数据模型和查询语言方面

1、Map Reduce已死。这玩意缺陷太多,不死才怪。

2、KV存储这东东,其实就是DBMS的一个功能。

3、文档数据库。也就是那些号称NoSQL的,最后身体老实地接受了SQL,还把No重新解释为Not Only。然后不得不添加了事务的支持。SQL优化器效率可能是早期NoSQL拒绝SQL的原因,然而SQL优化器也在进化。

4、列族数据库。缺点和楼上差不多。

5、文本搜索引擎。或者说全文检索,DBMS都帮你建好模型了,大部分数据库都支持全文检索。不基于DBMS的还没有事务模型支持。

6、数组数据库。这玩意确实有难度,不过应用市场也很垂直。另外新的SQL标准支持了多维数组。

7、向量数据库,也是近期比较热的东西。向量主要的问题是搜索方式的不同,是基于相似性的搜索,所以关键技术在索引上面。但是一种新的索引只是叫做一种特性,不能叫一个新架构。所以很多传统的关系型数据库很快就添加了向量支持。估计这个和NoSQL一样,开始时是拒绝的,最后身体是诚实的,最终不再需要专用的向量数据库。

8、图数据库。图的查询也比较特殊,主要是最短路径等等,把图用表来模拟是挑战,还需要扩展以图为中心的API。但最终专用的图数据库没有大市场。


二、系统架构方面

1、列存。数仓市场基本被他们占了。

2、云数据库。引导了存算分离,共享存储的架构是主流。(笔者注:这个比较有意思。云数据库早期掀了IOE架构的桌子,比如阿里就是从去IOE开始的,MySQL+服务器本地盘一度盛行;但是最终的逻辑还是回到了存算分离上面,因为这样更有利于弹性部署。不过现在仍有一些数据库大集群,还不能够很Q弹,因为盘/服务器/DBMS几个仍是绑定在一起的,导致也就是集群看上去很大而已。)

3、数据湖/数据湖仓。应该会走向对象存储。

4、NewSQL系统。用的还是没那么多,不过倒是造就了一批分布式数据库新秀。NoSQL们最后也开始被迫支持事务了。

5、硬件加速。OLQP研究的比较多,但绕不开通用还是专用硬件的问题,纯软的DBMS很难搞定定制硬件的。云数据库倒是有可能做成这件事。(笔者注:我觉得一体机也是有可能的,毕竟一体机是软硬议题的方式提供服务的)。

6、区块链。也就比特币用用。


三、总结陈词

为什么二十年前说过的话,自己今天又要说一遍。

1、DBMS靠营销,不论Oracle、MySQL、还是Mongo。前面营销获得关注,后面紧忙着改问题。(笔者:各位Oracle的老专家们,这是真的吗)

2、要小心不具备DBMS工程经验的团队,开发出的新系统。

3、数据库开箱即用(out-of-box)的体验很重要。(笔者:各方面的体验都很重要。对于使用者来说,稳定运行>高性能>易用性。当然了Stonebraker估计已经假定了前面两个是搞定的。而对于开源数据库,资料完备性和学习梯度也同样重要。)

4、Again,要相信支持SQL的数据库是更好的选择。

5、AI方面。对数据库影响巨大,但是搞自然语言查询,先放放吧。用LLM做决策,谨慎一点吧。关于自动调优数据库方面,AI最多就是个辅助驾驶。


四、结论

1、还会不断有人说,关系模型和SQL满足不了要求的,搞出一些新东西来,但他们撼动不了关系模型的地位。这些研究成果最终也会被SQL所吸收。

2、DBMS已经有了很多成熟组件了,新项目却去重新造轮子。数据库内部应该制定类似POSIX的标准,加速内部互操作。


最后,二十年后,作者之一没准再写一个后续文章。


---------------

转述完毕。


中文链接如下,其中有英文原文链接。

https://mp.weixin.qq.com/s/spmTUZwld-5gUwRyviQjPw


最后,我猜标题的“What Goes Around Comes Around... And Around...”,谷歌的翻译也没有完全达意。我觉得作者是不是想说,若“后人哀之而不鉴之,亦使后人而复哀后人也”吧。


20年后,此文作者应该已经年满百岁,希望那时还能看到他的续作。


所以大家怎么看待这个文章提到的观点呢。

文章转载自火龙呼呼猫,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论