80岁图灵奖得主再度出山,打造基于数据库的云原生操作系统 DBOS
数据库领域一共出了四位图灵奖获得者,按照先后顺序分别是:
- 开创数据库品类的 Charles Bachman
- 发明数据库关系模型的 Edgar F. Codd
- 实现第一个关系型数据库系统 System R,引入 ACID 的 Jim Gray
- 以及本文的主人公 Michael Stonebraker,也是唯一健在的一位
Stonebraker 教授之前在伯克利,现在在 MIT。他主要的贡献来自于两方面,一方面是在数据库理论上,引入对象概念,如今知名的 PostgreSQL 数据库的前身就是他发起的 Ingres 项目。Postgres 既是 Post-Ingres,后来加上了 SQL 层,才变成了今天的 PostgreSQL。另一方面是在工业界的实践,教授是一名连续创业者。最早基于 Postgres 工作创立了 Illustra,卖给了当年的数据库巨头 Informix。后来又先后创立了 Vertica 以及 VoltDB。
本来以为教授该颐养天年了,没想到以 80 岁高龄,再度出山。这次老爷子还跨界了,把手伸到了操作系统领域,要把操作系统建在数据库上。通常的认知里,数据库是建在操作系统之上的,而教授则要乾坤反转。大概是下面这个架构。
来是一张更加具体的图。
是不是还是有点抽象,那就看下面这个例子,来自 IBM 古早的 AS/400 大型机。是的,这个架构在很早的 IBM 大型机里就有了。
上面这张图是文件目录,PEOPLE 是一个文本文件。QCSRC 也是一个文本文件,不过是代码文件。而 HELLOWORLD 则是通过 QCSRC 编译出的程序。这个看上去和我们现在熟悉的文件目录类似,但其实这是一张数据库的表,为什么这么说,我们看下面这张图。
我们打开了 QCSRC 的源代码文件,展示了 Hello world 的 C 代码。但是这个打开的方式,不是 open file.c。而用的是 SQL 语言 SELECT * FROM qcsrc。仔细看的话,这其实是一样表,每一行就是表的数据行。
因为是一张表,所以我们也可以用 SELECT * FROM qcsrc ORDER BY scrdta 打开,这时你会看到行重新排列了。
作为当年的卧龙凤雏,IBM 之外,微软也曾经动过这个念头。微软历史上 WinXP 大获成功,而之后发布的 Vista 不仅大大延期,发布后还差评一片。其实在 WinXP 和 Vista 之间还有一个被砍掉的操作系统,代号 longhorn。配合 longhorn 还准备开发一个叫做 WinFS (Windows Future Storage) 的全新存储系统。
WinFS 看名字就知道被寄托了很大的希望,它的愿景来自于比尔盖茨,要把 WinFS 构建在 SQL Server 上,让 Windows 也能做类似于 AS/400 那样的操作。当然随着 longhorn 的破产,WinFS 项目也就嘎然而止了。
DBOS 故名思义,基于 DB 的 OS,就是把数据库作为操作系统的底层,这样操作系统就获得了数据库的特性。比如事务性。像下面这个例子是确保一个客户下单流程的事务性,可以处理各种异常情况。
本来在应用层要妥善处理这样涉及多个外部系统的工作流,会非常复杂。也诞生了像 Temporal 这样专门解决这个问题的独角兽公司。
除了给操作系统原生的数据库能力之外,DBOS 的另一个目标是做一个云原生的操作系统。现在的操作系统都是面向单机的,然后在应用层用 Kubernetes 把这些单机的操作系统糊在一起。如果我们把分布式,调度直接做到操作系统里的话,就不需要 Kubernetes 了。而分布式,调度这些正是分布式数据库的拿手好戏。
DBOS 这个项目 2022 年就启动了,发起者中也有国人。考虑到 Stonebraker 教授的年龄,这也可能是他生涯最后一战。教授乃是性情中人,当年 NoSQL 风头正劲,大有要灭了关系型数据库的势头。教授实在看不下去,下场写了篇 what goes around comes around (因果报应),给大家好好上了堂数据库历史课。
这次 DBOS 的愿景和商业落地难度还要远超教授之前的 Vertica 和 VoltDB。但作为数据库领域当世第一战神,干就是了!
💡 更多资讯,请关注 Bytebase 公号:Bytebase

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
电商场景下 ES 搜索引擎的稳定性治理实践
继上文在完成了第一阶段 ES 搜索引擎的搭建后,已经能够实现对千万级别的商品索引的读写请求的支持。目前,单机房读流量在 500~1000 QPS 之间,写流量在 500 QPS 左右。 但随着业务的发展,问题也逐渐开始暴露,起源是在某次活动下线的时候,ES 集群某个机房 CPU 迅速被打满,读延迟上升,而其他机房却是正常的,之后仍然出现了多次 CPU 暴涨,多个机房的其中一个机房被打满或者同时打满的情形,然而读写流量波动却不大或者根本不及日常峰值。我们意识到此时出现的就是 ES 集群的性能问题,在第一阶段当系统依赖组件不可用时,为此系统拥有一定的容灾能力,暂时没有考虑业务使用姿势带来的风险,而 这种风险是更可怕的,源于它随机, 毫无规律,不可控制。 在此情况下,也许大家会考虑通过扩容来解决问题,但当前情况已经是在我们扩容后发生的问题了,所以很明显此时扩容已经解决不了问题了。程序员经常说的几句表达风险等级的话: 阶段一:不知道自己不知道(Unconscious incompetence) 阶段二:知道自己不知道(Conscious incompetence) 阶段三:知道自己知道(Co...
- 下一篇
MediaBox音视频终端SDK已适配鸿蒙星河版(HarmonyOS NEXT)
2024年1月,HarmonyOS NEXT 鸿蒙星河版系统开发者预览版开放申请,该系统将只能安装为鸿蒙开发的原生应用,而不再兼容安卓应用。对此,阿里云MediaBox音视频终端SDK产品已实现功能的鸿蒙化迁移和重构,全面适配鸿蒙系统HarmonyOS NEXT系统。 当前, 阿里云播放器SDK预览版已面向所有鸿蒙开发者免费发布,欢迎开发者参考《获取Demo》和《SDK集成》,下载使用并提出宝贵意见! 阿里云MediaBox音视频终端SDK能满足开发者构建典型视频业务场景的需求,如:直播电商、社交娱乐和在线教育等场景。开发者可通过MediaBox音视频终端SDK,充分利用HarmonyOS NEXT的特性开发鸿蒙原生应用,为用户提供高效稳定的视频直播和视频点播体验。 在MediaBox视频终端SDK适配HarmonyOS NEXT系统后,与Android版本SDK实现平滑切换,HarmonyOS NEXT系统与Android系统间的接口变化,由MediaBox音视频终端SDK适配层消化,SDK主要接口保持不变。MediaBox音视频SDK底层音视频引擎内核适配鸿蒙NDK,上层代码全面适...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8安装Docker,最新的服务器搭配容器使用
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7安装Docker,走上虚拟化容器引擎之路
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS8编译安装MySQL8.0.19