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

DBOS:未来的技术-数据库与操作系统的双向奔赴

天下观查 2024-01-08
225

如果你接触过PostgreSQL以及数据仓库系统,那么你一定要知道这样一位牛人:Michael Stonebraker迈克尔·斯通布雷克。

Michael Stonebraker:迈克尔·斯通布雷克。在加州大学伯克利分校开发了两个系统——IngresPostgres,前者衍生出SybaseMicrosoft SQL ServerNonStop SQLInformix等与Oracle同时期众多数据库产品;后者目前已经成为开发人员最喜欢的数据库产品,与MySQL一起成为两个最知名的开源数据库,衍生了GreenplumVertica,以及国内众多产品,包括华为的opengauss
因对关系数据库管理系统(RDBMS)和数据仓库(DWH)的创建、改进和推广贡献,获2014年图灵奖。


当国内厂商还在以“诋毁友商产品、为友商造谣传播八卦”作为竞争力的时候,年过80Michael Stonebraker依然活跃在数据库技术的最前沿。

都知道DBMS是一种用来管理数据的软件系统,安装在操作系统之上,但是你是否想过,未来有一种操作系统是以DBMS为核心进行统一数据管理的呢?

本文以Michael Stonebraker 2020年的一篇论文:DBOS: A Proposal for a Data-Centric Operating System为基础,探讨未来的一种以数据库为核心的操作系统技术路线,以及可能有哪些先进能力。

Michael Stonebraker 2021年末还有一篇论文DBOS: A DBMS-oriented Operating System,对DBOS的设计有了更进一步的说明。

两篇内容的原文都放在本文末尾,供大家参考。

1

当前OS现状


当前的操作系统已经非常臃肿,难以快速应对需求变化,更无法创新,难以扩展和提升安全性,主要原因是缺乏一个单一、集中的操作系统状态数据模型

例如,Linux 内核包含数十个不同的数据结构,用于管理操作系统状态的不同部分,包括进程表、调度程序、页面缓存、网络数据包队列、命名空间、文件系统和许多权限表...

这种设计意味着,任何功能增加都产生巨大成本。如,为了提高 Linux 内核在多核上的可扩展性,十多年来一直在努力改进一个组件的可扩展性,但至今仍未完成。同样的还有很多先进、必要的功能,例如防止恶意篡改、安全模型等,也都是用了数年时间无法完成,目前还停留在学术原型阶段。

2

DBOS新架构建设规范


DBOS,在设计操作系统时明确将数据与计算分离,并将操作系统中的所有状态集中到一个统一的数据库中。进程表、调度器状态、流量表、权限表等都成为数据库表,从而使系统能够统一查询、管理这些状态。

例如OS组件在多核上查询某一状态,无需重新设计数十种数据结构,只需扩展对DBMS常用表操作即可实现。

同样,新的调试或安全功能只需针对表数据模型实施一次,而不需要对每个OS组件进行单独的集成工作。

最后,使OS状态显式隔离还能实现OS功能的彻底改变,如支持零停机更新、分布式扩展、丰富的监控和新的安全模型。

2.1 规范性建议



Unix 的开发理念是 "一切都是文件",这一口号应更新为 "一切皆表",所有操作系统状态都应存储在 DBMS 的表中,并为密集表、稀疏表和超稀疏表的查询和AI操作提供高性能声明式语义支持。

例如,应该有一个任务表,其中包含系统已知的每个任务的状态;一个流表,其中包含正在进行的网络流;一组表,用于表示文件系统等。

所有对操作系统状态更改都应通过 DBMS 事务进行,应尽可能利用 DBMS 执行所有功能,所有系统数据都应驻留在 DBMS 中,例如文件,应作为 blob 和表来支持。

通过如上设计,对DBMS进行简单查询就能够方便的完成以下工作,提高决策支持能力:

- 选择下一个要运行的任务

- 发现并行计算中的落伍者

- 查找负载过重(过轻)的资源

- 发现各种资源的使用情况

- 预测实时系统中的瓶颈问题

2.2 方案效益



1、性能优化

操作系统的内核子系统经常要进行大量的重构,通过改变用于管理各种状态的数据结构来提高性能。DBOS中,仅需要在 DBMS 中更改索引或运算符实现。此外,DBMS 方法还能进一步提高目前系统架构无法实现的性能,比如基于成本的优化算法或自适应查询中期重新优化。

2、安全性

DBMS 访问控制工具(如基于视图、属性和角色的 ACL)可以优雅地实施 SELinuxAppArmor 和其他操作系统安全模块中的许多安全策略。此外,安全检查代码就可以编译到常规操作运行的查询中,而不是单独隔离在一个模块中增加操作开销 。

3、虚拟化和容器化

过去十年付出了巨大的工程努力,让操作系统单个实例能够承载多个应用程序,每个应用程序都能获得独立的系统环境抽象。而在 DBOS 中,虚拟化和容器化可以通过 DBMS 视图优雅地实现:每个容器的 DBMS 查询只能访问限制该容器 ID 对象的视图,而根用户可以访问所有对象。

4、地域分布性

云供应商的服务节点是地理分布的,事务复制是云计算所需的一项服务。地理上分散的 DBMS 可以轻松提供这种服务。这符合 "为了简单起见,任何功能只需实现一次 "的原则。尤其通过DBMS管理复杂文件时,可为文件系统管理减少大量代码成本。

当前的 DBMS 采用多种创新技术,速度比过去的 DBMS 快了很多,每秒可处理数千万个简单事务。而文件读/写就是这样的简单事务;实现更复杂的文件搜索也变得轻而易举。例如,查找过去 24 小时内访问过的特定目录下大小超过 1GByte 的所有文件,只需一个简单 SQL 查询即可。

最终的结果是,功能增加了,代码量减少了,性能大概率也会更有竞争力。

5、更好的调度

数据库管理系统中会有任务和资源表,记录内核、芯片、节点和数据中心上运行的任务以及可用资源。查找大型并行计算任务中的异常值只需要一个 SQL解决,能够通过更方便的方式分析大型系统的性能问题,建立更完善的计算调度任务,防止并行计算短板效应。

6,、强化状态管理

DBOS可以直接将应用程序状态分为两部分。第一部分是瞬时的,可以存储在 DBMS 外部的数据结构中。第二部分是持久的,必须以事务方式存储在 DBMS 中。当应用故障时,只需将应用转移到一个新实例即可。该实例从 DBMS 中读取持久状态,然后恢复计算。这种故障切换架构由 Tandem Computers 20 世纪 80 年代率先提出。

 DBOS还具有以下功能特性和方案优势



数据通信能力提升。

操作系统之间的数据通信可以很容易地表示为DBMS之间的数据联通操作。无论是拉动式(pull-based)系统,还是推式(push-based)通信,都能更容易地扩展成多个发送方和接收方;简化了程序设计,允许程序员轻松实现非阻塞发送程序,结合RDMA 和内核旁路等技术,可以实现一个数量级的性能提升。

隐私数据保护。

简洁的 DBMS 设计有助于在 DBMS 内部查找和删除用户个人信息数据。而面对数据在不同应用系统中传输时,DBMS能够更方便的跟踪记录这些数据的传输链路。

数据防篡改。

DBOS中任何数据的操作都将被记录,这将支持解决数据溯源、数据防篡改等问题,只需要对应的日志处理程序。

通过ML实现真正通用。

任何操作系统在支撑不同业务时都要经过个性化参数优化,但DBOS系统数据全部记录在DBMS中,通过ML技术完全可以实现自动优化与自适应,无需用户进行定制化参数调试,做成真正的“通用”型OS

复杂硬件管理。

传统操作系统是为了解决数十年前的简单硬件环境设计的,但是增加了大量的新业务需求以后,面对当前大规模并发硬件(数百核CPUGPUTPUSSDSCM...)时显得力不从心。而DBMS系统在处理复杂数据时更具备优势。


论文下载

DBOS:A DBMS-oriented Operating System

链接:https://pan.baidu.com/s/1RpuFpsiXMF-Y7GAYdCEErA

提取码:yyds


DBOS:_A Proposal for a Data-Centric Operating System

链接:https://pan.baidu.com/s/1UJvH0UbLtZJuWKkSL9uUAA

提取码:yyds



推荐阅读
诚邀投票!我心中的【分布式DB信创名录】 
信创名录公布 | 其中分布式数据库名单要明年4-5月发布 
创名录 | 上榜企业分析-东方金信-“行走的国资推土机” 
信创名录 | 上榜企业分析-虚谷伟业-股权干净的纯粹 
信创  | 警惕!!!这些厂商要开始整活了
达梦上市 | 复杂的股权架构!
达梦上市 | 募资23亿都花在哪?
达梦上市 | 高管与研发薪资如何? 
数据库技术趋势 | 未来,即不是集中式,也不是分布式 
信创学习:海光、兆芯的x86授权是从哪来的? 
贵阳银行全栈核心系统顺利上线,到底损害了谁的利益?
自媒体时代吃瓜是自由,但传瓜请慎重!
震碎三观:一个记者竟然奉行“没有做不了的新闻” 




如果有感兴趣的话题欢迎留言,
如果你也有想说一说的观点,可以扫码(shenfeng-gc)投稿+交个朋友


 帮忙点赞、在看、分享” 

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

评论