小心,美国人又要在基础软件上弯道超车了......

开发 架构
尽管 WinFS 的概念很有前瞻性,但是将文件系统与数据库深度整合技术难度高,特别是要保证性能和兼容性,WinFS进展缓慢,最终与2006年取消。

1.被"惹恼"的数据库巨佬

2021年,DataBricks的创始人和CTO,Spark的发明人马泰·扎哈里亚在斯坦福做了一次演讲。

图片图片

在演讲中,他提到了DataBricks遇到的一个烦人的问题,DataBricks经常需要在云上调度上百万个Spark任务,并且跟踪这些任务的状态(等待、运行、完成、失败)。

这些任务非常小,用进程/线程来管理并不合适,太重了,并且进程线程的调度是单机的,DataBricks需要跨越多个计算机调度。

Databricks团队选择Postgres作为任务调度和状态跟踪的数据库,尽管Postgres成熟稳定,但是管理超大规模的分布式任务,在短时间内记录一百万个任务的状态变化,压力太大了。

Matei Zaharia抱怨说:PostgreSQL太慢了!

这可“惹恼”了听演讲的一位大佬迈克尔.斯通布雷克。

图片图片

迈克尔.斯通布雷克可不是普通大佬,应该是巨佬,数据库领域只有4个人获得了图灵奖。

(1)查尔斯 • 巴赫曼

数据库领域的开拓者,网状数据库的发明人,2017年去世

(2)埃德加 • 科德

关系数据库的发明人,2003年去世

(3)詹姆斯 • 格雷

事务处理技术的奠基人,2007年出海后失踪,2012年被宣布死亡

(4)迈克尔·斯通布雷克

没错,迈克尔.斯通布雷克是唯一还在世的数据库巨佬。

迈克尔·斯通布雷克有多牛,看看下面两幅图就明白了。

首先他带头开发了Ingres,成为很多数据库的老祖宗:

图片图片

更厉害的是,巨佬还带出了一大批的人才,覆盖了数据库的各个领域,到处都是他的“徒子徒孙”。

图片图片

(上面两幅图片来源于四川大学唐常杰教授的博客:https://blog.sciencenet.cn/blog-287179-887047.html  )

巨佬还创立了StreamBase,Vertica,Goby,VoltDB,SciDB等一系列创业公司,实在是太强悍了。

因此,马泰·扎哈里亚说 PostgreSQL 性能很差,那感觉就像说斯通布雷克的孩子有点傻一样......

听了演讲以后的斯通布雷克并没有和马泰·扎哈里亚争吵,而是告诉他:我们可以做得更好,联手吧!

其实,马泰·扎哈里亚的Spark遇到的问题主要是:

不得不在 PostgreSQL 上添加奇怪的附加组件,维护操作系统之外的 Spark 集群的状态

因为Linux是个单机的操作系统,但是如今的计算都是分布式的,所以必须有k8s这样的软件来管理应·用数据、身份验证系统、消息传递、集群管理.....

Linux太老了,而Kubernetes 太复杂了!

现在,扎哈里亚和斯通布雷克要设计了一个数据库来取代它们!

操作系统不是不行吗,那就别在它的上面折腾数据库了,干脆反过来,在数据库上搞一个操作系统!

2.两个先烈

其实,让操作系统依赖数据库,这个概念并不新鲜。

IBM早在AS/400大型机(后来叫System i)上就搞过,它的文件就是保存在数据库表中的。

图片图片

比如在AS/400上,有个叫做QCSRC的文件,内容是一个HelloWorld的代码。

图片图片

QCSRC就是个一个表,这个表有三列:SRCSEQ,SCRDAT,SRCDTA。

其中SRCDTA中保存着HelloWorld的源代码,一共六行。

图片图片

如果按照SRCDTA这一列进行排序: select * from qcsrc orderby  srcdta

就可以看到结果发生了变化,源代码重新排列了:

图片图片

早在2000年,微软也提出过一个雄心勃勃的WinFS(Windows Future Storage)项目,试图把将不同类型的数据(文档、联系人、图片、邮件等)进行标准化管理。

WinFS的想法是将文件的元数据存储在关系数据库中,这样文件可以通过复杂的查询(类似 SQL)快速定位。例如,一个图片文件的元数据包括拍摄时间、地点、相机类型等,可以通过这些元数据迅速进行筛选和排序,找出某个时间的所有照片。

另外,通过数据库的关系建模,WinFS 能够直观地管理文件之间的关联。例如,联系人可以直接链接到与其相关的邮件、图片和事件。

尽管 WinFS 的概念很有前瞻性,但是将文件系统与数据库深度整合技术难度高,特别是要保证性能和兼容性,WinFS进展缓慢,最终与2006年取消。

3.DBOS

无论是AS/400还是WinFS,虽然使用了关系数据库,但它们还都是操作系统的一部分。

扎哈里亚和斯通布雷克则完全把数据库挪到了操作系统的下层,操作系统是基于数据库构建的。

其基本思想是,在微内核中运行一个多节点多核、事务性、高可用的分布式数据库,然后在数据库之上实现调度、消息传递、文件系统和其他操作系统服务。

责任编辑:武晓燕 来源: 码农翻身
相关推荐

2021-08-09 23:53:50

排序中国

2022-04-20 11:14:05

人工智能军事化科技革命

2011-11-21 09:45:58

网上美国

2021-01-10 23:48:49

5G美国网络

2012-08-30 10:51:42

云计算Citrix

2021-03-03 21:05:45

搜索引擎Google社交媒体

2014-07-10 09:05:50

HamptonCree

2013-12-13 10:53:48

2017-05-10 15:21:54

联想超融合

2009-10-10 09:24:32

行为瞄准behavioral 被追踪

2019-07-03 17:11:22

技术研发指标

2021-09-15 19:11:05

2015-03-31 14:39:38

2015-01-05 10:04:25

2012-02-14 13:41:37

Lumia诺基亚

2011-11-04 10:39:31

AOL拨号上网

2012-05-11 10:10:22

Linux移动市场

2017-03-15 09:50:51

2015-05-27 15:43:36

DockerIBMPowerSystem
点赞
收藏

51CTO技术栈公众号