欧美成人精品手机在线观看_69视频国产_动漫精品第一页_日韩中文字幕网 - 日本欧美一区二区

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

小心,美國人又要在數據庫上彎道超車了:DBOS-在數據庫上建立操作系統

admin
2024年12月14日 8:36 本文熱度 424

一、被"惹惱"的數據庫巨佬


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 太復雜了!


現在,扎哈里亞和斯通布雷克要設計了一個數據庫來取代它們!


操作系統不是不行嗎,那就別在它的上面折騰數據庫了,干脆反過來,在數據庫上搞一個操作系統!


二、兩個先烈


其實,讓操作系統依賴數據庫,這個概念并不新鮮。


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年取消。


三、DBOS


無論是AS/400還是WinFS,雖然使用了關系數據庫,但它們還都是操作系統的一部分。


扎哈里亞和斯通布雷克則完全把數據庫挪到了操作系統的下層,操作系統是基于數據庫構建的。


其基本思想是,在微內核中運行一個多節點多核、事務性、高可用的分布式數據庫,然后在數據庫之上實現調度、消息傳遞、文件系統和其他操作系統服務。


圖片


第一層是微內核,主要實現內存管理,中斷處理,驅動等。


第二層是一個高性能的、多節點的分布式數據庫


第三層,在DBMS上構建高級OS服務,分布式文件系統、集群調度程序和分布式進程間通信 (IPC) 子系統


第四層是用戶程序,例如Spark。


第1,2,3層加起來被成為DBOS(Database-Oriented Operating System),就是“面向數據庫的操作系統”。 


據說當時有人想把它叫做DataSphere OS,或者HyperDataOS,但是斯通布雷克堅持采用了簡單直白的“DBOS”,因為“直白的名字最能吸引人注意,就像UNIX和SQL那樣”。


DBOS有兩個鮮明的特點:


1.所有應用程序和操作系統的狀態都存儲在分布式數據庫的表中


2.僅通過數據庫事務來訪問狀態


這么做有什么好處?


首先,集群調度程序可以將有關任務和工作程序的信息存儲在數據庫表中,百萬級別的任務狀態跟蹤對數據庫來說就是小事兒一樁。


因為數據庫支持事務(ACID),可以保證對任務狀態的并發訪問。在發生故障時,DBOS也能保證一致性和持久性,可以輕松從中斷處繼續運行。


其次,使用強大的數據庫日志功能,可以追蹤對應用程序狀態的訪問,簡化應用程序的分析、監控、調試和保護。


DBOS還有多種安全優勢,包括“攻擊面更小、漏洞更少”,從嚴重的錯誤或攻擊中恢復可能很簡單,只需將數據庫回滾到以前的狀態即可。


斯通布雷克認為,有了DBOS,“生活就簡單多了,你可以省去 Linux、Kubernetes 和其他一些必需品。”


舉個簡單的例子,DBOS支持工作流,假設你有這么一個需求:需要發送一封確認郵件,等待一段時間,然后再發一封提醒郵件:

@DBOS.workflow()def reminder_workflow(email: str, time_to_sleep: int):send_confirmation_email(email)DBOS.sleep(time_to_sleep)send_reminder_email(email)

通過使用工作流,DBOS可以保證即使休眠時間長達數周或數月,即使程序崩潰或重啟多次,提醒電子郵件也始終會按時發送(并且確認電子郵件永遠不會重新發送)。


這就是數據庫把所有狀態都管理起來的威力,它就極大地簡化了程序員的工作。


四、總結


2001年,Oracle CEO 拉里·埃里森說過:中間件是一個愚蠢的想法,一切都應該交給數據庫來管理。


20多年過去了,DBOS真的把這些活兒交給數據庫來干了。


但是很明顯,DBOS不是Windows,Linux這樣的單機操作系統,更不是讓普通消費者來使用的。


DBOS面向的是云計算,它也許是未來的云計算的操作系統。


中國人老是喜歡說彎道超車,如果DBOS真的搞成了,那才是真正的彎道超車,美國人的創新能力確實是強,不承認不行。還有一個對國內某些廠商非常不利的消息,不像PostgreSQL,DBOS不是完全開源的,它們沒法“自研”,然后再彎道超車了。



>>>>

參考資料

  • https://www.youtube.com/watch?v=CDSgJE5mPJM   AS/400的例子

  • https://thenewstack.io/meet-dbos-a-database-alternative-to-kubernetes/

  • https://www.nextplatform.com/2024/03/12/the-cloud-outgrows-linux-and-sparks-a-new-operating-system/

  • https://venturebeat.com/data-infrastructure/postgresql-and-databricks-founders-join-forces-for-dbos-to-create-a-new-type-of-operating-system/

  • https://www.infoworld.com/article/2336467/dbos-cloud-overturns-database-on-os-conventions-for-speed.html

  • https://dbos-project.github.io/blog/intro-blog.html


本文作者

劉欣著有暢銷書《碼農翻身》《半小時漫畫計算機》,前IBM架構師,領導過多個企業應用架構設計和開發工作;洞察技術本質,擅長用故事去講解復雜技術。


該文章在 2024/12/14 9:47:56 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved