一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

小心,美國(guó)人又要在基礎(chǔ)軟件上彎道超車(chē)了......

 芥子c1yw3tb42g 2024-12-15
來(lái)源經(jīng)授權(quán)轉(zhuǎn) 碼農(nóng)翻身(ID:coderising)

liuxin

01
被'惹惱'的數(shù)據(jù)庫(kù)巨佬

2021年,DataBricks的創(chuàng)始人和CTO,Spark的發(fā)明人馬泰·扎哈里亞在斯坦福做了一次演講。

圖片

在演講中,他提到了DataBricks遇到的一個(gè)煩人的問(wèn)題,DataBricks經(jīng)常需要在云上調(diào)度上百萬(wàn)個(gè)Spark任務(wù),并且跟蹤這些任務(wù)的狀態(tài)(等待、運(yùn)行、完成、失?。?。

這些任務(wù)非常小,用進(jìn)程/線(xiàn)程來(lái)管理并不合適,太重了,并且進(jìn)程線(xiàn)程的調(diào)度是單機(jī)的,DataBricks需要跨越多個(gè)計(jì)算機(jī)調(diào)度。

Databricks團(tuán)隊(duì)選擇Postgres作為任務(wù)調(diào)度和狀態(tài)跟蹤的數(shù)據(jù)庫(kù),盡管Postgres成熟穩(wěn)定,但是管理超大規(guī)模的分布式任務(wù),在短時(shí)間內(nèi)記錄一百萬(wàn)個(gè)任務(wù)的狀態(tài)變化,壓力太大了。

圖片

Matei Zaharia抱怨說(shuō):PostgreSQL太慢了!

這可“惹惱”了聽(tīng)演講的一位大佬邁克爾.斯通布雷克。

圖片

邁克爾.斯通布雷克可不是普通大佬,應(yīng)該是巨佬,數(shù)據(jù)庫(kù)領(lǐng)域只有4個(gè)人獲得了圖靈獎(jiǎng)。

(1)查爾斯 · 巴赫曼

數(shù)據(jù)庫(kù)領(lǐng)域的開(kāi)拓者,網(wǎng)狀數(shù)據(jù)庫(kù)的發(fā)明人,2017年去世

(2)埃德加 · 科德

關(guān)系數(shù)據(jù)庫(kù)的發(fā)明人,2003年去世

(3)詹姆斯 · 格雷

事務(wù)處理技術(shù)的奠基人,2007年出海后失蹤,2012年被宣布死亡

(4)邁克爾·斯通布雷克

沒(méi)錯(cuò),邁克爾.斯通布雷克是唯一還在世的數(shù)據(jù)庫(kù)巨佬。

邁克爾·斯通布雷克有多牛,看看下面兩幅圖就明白了。

首先他帶頭開(kāi)發(fā)了Ingres,成為很多數(shù)據(jù)庫(kù)的老祖宗:

圖片

更厲害的是,巨佬還帶出了一大批的人才,覆蓋了數(shù)據(jù)庫(kù)的各個(gè)領(lǐng)域,到處都是他的“徒子徒孫”。

圖片

(上面兩幅圖片來(lái)源于四川大學(xué)唐常杰教授的博客:https://blog.sciencenet.cn/blog-287179-887047.html  )

巨佬還創(chuàng)立了StreamBase,Vertica,Goby,VoltDB,SciDB等一系列創(chuàng)業(yè)公司,實(shí)在是太強(qiáng)悍了。

因此,馬泰·扎哈里亞說(shuō) PostgreSQL 性能很差,那感覺(jué)就像說(shuō)斯通布雷克的孩子有點(diǎn)傻一樣......

聽(tīng)了演講以后的斯通布雷克并沒(méi)有和馬泰·扎哈里亞爭(zhēng)吵,而是告訴他:我們可以做得更好,聯(lián)手吧!

其實(shí),馬泰·扎哈里亞的Spark遇到的問(wèn)題主要是:

不得不在 PostgreSQL 上添加奇怪的附加組件,維護(hù)操作系統(tǒng)之外的 Spark 集群的狀態(tài)

因?yàn)長(zhǎng)inux是個(gè)單機(jī)的操作系統(tǒng),但是如今的計(jì)算都是分布式的,所以必須有k8s這樣的軟件來(lái)管理應(yīng)·用數(shù)據(jù)、身份驗(yàn)證系統(tǒng)、消息傳遞、集群管理.....

Linux太老了,而Kubernetes 太復(fù)雜了!

現(xiàn)在,扎哈里亞和斯通布雷克要設(shè)計(jì)了一個(gè)數(shù)據(jù)庫(kù)來(lái)取代它們!

操作系統(tǒng)不是不行嗎,那就別在它的上面折騰數(shù)據(jù)庫(kù)了,干脆反過(guò)來(lái),在數(shù)據(jù)庫(kù)上搞一個(gè)操作系統(tǒng)!

02
兩個(gè)先烈

其實(shí),讓操作系統(tǒng)依賴(lài)數(shù)據(jù)庫(kù),這個(gè)概念并不新鮮。

IBM早在AS/400大型機(jī)(后來(lái)叫System i)上就搞過(guò),它的文件就是保存在數(shù)據(jù)庫(kù)表中的。

圖片

比如在AS/400上,有個(gè)叫做QCSRC的文件,內(nèi)容是一個(gè)HelloWorld的代碼。

圖片

QCSRC就是個(gè)一個(gè)表,這個(gè)表有三列:SRCSEQ,SCRDAT,SRCDTA。

其中SRCDTA中保存著HelloWorld的源代碼,一共六行。

圖片

如果按照SRCDTA這一列進(jìn)行排序: select * from qcsrc orderby  srcdta

就可以看到結(jié)果發(fā)生了變化,源代碼重新排列了:

圖片

早在2000年,微軟也提出過(guò)一個(gè)雄心勃勃的WinFS(Windows Future Storage)項(xiàng)目,試圖把將不同類(lèi)型的數(shù)據(jù)(文檔、聯(lián)系人、圖片、郵件等)進(jìn)行標(biāo)準(zhǔn)化管理。

圖片

WinFS的想法是將文件的元數(shù)據(jù)存儲(chǔ)在關(guān)系數(shù)據(jù)庫(kù)中,這樣文件可以通過(guò)復(fù)雜的查詢(xún)(類(lèi)似 SQL)快速定位。例如,一個(gè)圖片文件的元數(shù)據(jù)包括拍攝時(shí)間、地點(diǎn)、相機(jī)類(lèi)型等,可以通過(guò)這些元數(shù)據(jù)迅速進(jìn)行篩選和排序,找出某個(gè)時(shí)間的所有照片。

另外,通過(guò)數(shù)據(jù)庫(kù)的關(guān)系建模,WinFS 能夠直觀地管理文件之間的關(guān)聯(lián)。例如,聯(lián)系人可以直接鏈接到與其相關(guān)的郵件、圖片和事件。

盡管 WinFS 的概念很有前瞻性,但是將文件系統(tǒng)與數(shù)據(jù)庫(kù)深度整合技術(shù)難度高,特別是要保證性能和兼容性,WinFS進(jìn)展緩慢,最終與2006年取消。

03
DBOS

無(wú)論是AS/400還是WinFS,雖然使用了關(guān)系數(shù)據(jù)庫(kù),但它們還都是操作系統(tǒng)的一部分。

扎哈里亞和斯通布雷克則完全把數(shù)據(jù)庫(kù)挪到了操作系統(tǒng)的下層,操作系統(tǒng)是基于數(shù)據(jù)庫(kù)構(gòu)建的。

其基本思想是,在微內(nèi)核中運(yùn)行一個(gè)多節(jié)點(diǎn)多核、事務(wù)性、高可用的分布式數(shù)據(jù)庫(kù),然后在數(shù)據(jù)庫(kù)之上實(shí)現(xiàn)調(diào)度、消息傳遞、文件系統(tǒng)和其他操作系統(tǒng)服務(wù)。

圖片

第一層是微內(nèi)核,主要實(shí)現(xiàn)內(nèi)存管理,中斷處理,驅(qū)動(dòng)等。

第二層是一個(gè)高性能的、多節(jié)點(diǎn)的分布式數(shù)據(jù)庫(kù)

第三層,在DBMS上構(gòu)建高級(jí)OS服務(wù),分布式文件系統(tǒng)、集群調(diào)度程序和分布式進(jìn)程間通信 (IPC) 子系統(tǒng)

第四層是用戶(hù)程序,例如Spark。

第1,2,3層加起來(lái)被成為DBOS(Database-Oriented Operating System),就是“面向數(shù)據(jù)庫(kù)的操作系統(tǒng)”。 

據(jù)說(shuō)當(dāng)時(shí)有人想把它叫做DataSphere OS,或者HyperDataOS,但是斯通布雷克堅(jiān)持采用了簡(jiǎn)單直白的“DBOS”,因?yàn)椤爸卑椎拿肿钅芪俗⒁?,就像UNIX和SQL那樣”。

DBOS有兩個(gè)鮮明的特點(diǎn):

1.所有應(yīng)用程序和操作系統(tǒng)的狀態(tài)都存儲(chǔ)在分布式數(shù)據(jù)庫(kù)的表中

2.僅通過(guò)數(shù)據(jù)庫(kù)事務(wù)來(lái)訪(fǎng)問(wèn)狀態(tài)

這么做有什么好處?

首先,集群調(diào)度程序可以將有關(guān)任務(wù)和工作程序的信息存儲(chǔ)在數(shù)據(jù)庫(kù)表中,百萬(wàn)級(jí)別的任務(wù)狀態(tài)跟蹤對(duì)數(shù)據(jù)庫(kù)來(lái)說(shuō)就是小事兒一樁。

因?yàn)閿?shù)據(jù)庫(kù)支持事務(wù)(ACID),可以保證對(duì)任務(wù)狀態(tài)的并發(fā)訪(fǎng)問(wèn)。在發(fā)生故障時(shí),DBOS也能保證一致性和持久性,可以輕松從中斷處繼續(xù)運(yùn)行。

其次,使用強(qiáng)大的數(shù)據(jù)庫(kù)日志功能,可以追蹤對(duì)應(yīng)用程序狀態(tài)的訪(fǎng)問(wèn),簡(jiǎn)化應(yīng)用程序的分析、監(jiān)控、調(diào)試和保護(hù)。

DBOS還有多種安全優(yōu)勢(shì),包括“攻擊面更小、漏洞更少”,從嚴(yán)重的錯(cuò)誤或攻擊中恢復(fù)可能很簡(jiǎn)單,只需將數(shù)據(jù)庫(kù)回滾到以前的狀態(tài)即可。

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

舉個(gè)簡(jiǎn)單的例子,DBOS支持工作流,假設(shè)你有這么一個(gè)需求:需要發(fā)送一封確認(rèn)郵件,等待一段時(shí)間,然后再發(fā)一封提醒郵件:

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

通過(guò)使用工作流,DBOS可以保證即使休眠時(shí)間長(zhǎng)達(dá)數(shù)周或數(shù)月,即使程序崩潰或重啟多次,提醒電子郵件也始終會(huì)按時(shí)發(fā)送(并且確認(rèn)電子郵件永遠(yuǎn)不會(huì)重新發(fā)送)。

這就是數(shù)據(jù)庫(kù)把所有狀態(tài)都管理起來(lái)的威力,它就極大地簡(jiǎn)化了程序員的工作。

04
總結(jié)

2001年,Oracle CEO 拉里·埃里森說(shuō)過(guò):中間件是一個(gè)愚蠢的想法,一切都應(yīng)該交給數(shù)據(jù)庫(kù)來(lái)管理。

20多年過(guò)去了,DBOS真的把這些活兒交給數(shù)據(jù)庫(kù)來(lái)干了。

但是很明顯,DBOS不是Windows,Linux這樣的單機(jī)操作系統(tǒng),更不是讓普通消費(fèi)者來(lái)使用的。

DBOS面向的是云計(jì)算,它也許是未來(lái)的云計(jì)算的操作系統(tǒng)。

中國(guó)人老是喜歡說(shuō)彎道超車(chē),如果DBOS真的搞成了,那才是真正的彎道超車(chē),美國(guó)人的創(chuàng)新能力確實(shí)是強(qiáng),不承認(rèn)不行。還有一個(gè)對(duì)國(guó)內(nèi)某些廠(chǎng)商非常不利的消息,不像PostgreSQL,DBOS不是完全開(kāi)源的,它們沒(méi)法“自研”,然后再?gòu)澋莱?chē)了。

參考資料:

https://www./watch?v=CDSgJE5mPJM   AS/400的例子
https:///meet-dbos-a-database-alternative-to-kubernetes/
https://www./2024/03/12/the-cloud-outgrows-linux-and-sparks-a-new-operating-system/
https:///data-infrastructure/postgresql-and-databricks-founders-join-forces-for-dbos-to-create-a-new-type-of-operating-system/
https://www./article/2336467/dbos-cloud-overturns-database-on-os-conventions-for-speed.html
https://dbos-project./blog/intro-blog.html 

全文完,覺(jué)得不錯(cuò)的話(huà)點(diǎn)個(gè)或者在看吧!

本文作者劉欣,著有暢銷(xiāo)書(shū)《碼農(nóng)翻身》,《半小時(shí)漫畫(huà)計(jì)算機(jī)》,前IBM架構(gòu)師,領(lǐng)導(dǎo)過(guò)多個(gè)企業(yè)應(yīng)用架構(gòu)設(shè)計(jì)和開(kāi)發(fā)工作;洞察技術(shù)本質(zhì),擅長(zhǎng)用故事去講解復(fù)雜技術(shù)。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多

    国产在线视频好看不卡| 亚洲欧美日韩国产综合在线| 国产毛片不卡视频在线| 欧美精品中文字幕亚洲| 老鸭窝精彩从这里蔓延| 免费观看一区二区三区黄片| 精品偷拍一区二区三区| 日本人妻熟女一区二区三区| 欧美精品女同一区二区| 99久久精品午夜一区| 人妻精品一区二区三区视频免精 | 久久99精品日韩人妻| 久一视频这里只有精品| 色婷婷视频国产一区视频| 亚洲视频一级二级三级| 免费在线播放不卡视频| 91在线爽的少妇嗷嗷叫| 国产成人精品在线播放| 日本在线不卡高清欧美| 欧美日韩中黄片免费看| 九九热精品视频在线观看| 欧美成人免费视频午夜色| 国产又粗又长又大高潮视频| 少妇视频一区二区三区| 国产香蕉国产精品偷在线观看| 久久久精品区二区三区| 91天堂免费在线观看| 欧美日韩国产免费看黄片| 国产偷拍精品在线视频| 亚洲欧美日韩国产成人| 亚洲欧洲一区二区综合精品| 日本精品中文字幕人妻| 欧美胖熟妇一区二区三区| 国产精品不卡一区二区三区四区| 欧洲日本亚洲一区二区| 黄色激情视频中文字幕| 91久久国产福利自产拍| 欧美日韩中黄片免费看| 国产日韩熟女中文字幕| 午夜精品福利视频观看| 久久精品欧美一区二区三不卡|