根據(jù)維基百科對(duì)開源項(xiàng)目的描述,“如今有18萬(wàn)多個(gè)可用的開源項(xiàng)目和1400多個(gè)獨(dú)特的許可證,決定如何在‘封閉源代碼’企業(yè)中管理開源項(xiàng)目的復(fù)雜性已經(jīng)大幅增加?!?/p>

對(duì)于給定的項(xiàng)目,開源技術(shù)堆??赡苡袩o(wú)數(shù)種組合。然而,這些應(yīng)用程序產(chǎn)生的PB級(jí)數(shù)據(jù)最終會(huì)匯聚在一個(gè)位置:數(shù)據(jù)庫(kù)。尤其是用于優(yōu)化和訪問(wèn)數(shù)據(jù)的開源數(shù)據(jù)庫(kù)、工具和中間件。
因此,如果企業(yè)選擇要構(gòu)建的項(xiàng)目,那么開源數(shù)據(jù)庫(kù)程序是一個(gè)不錯(cuò)的選擇。
那么,是什么推動(dòng)了從專有的、供應(yīng)商驅(qū)動(dòng)的創(chuàng)新向開源數(shù)據(jù)管理模型的轉(zhuǎn)變?本文將概述驅(qū)動(dòng)開源數(shù)據(jù)庫(kù)程序未來(lái)發(fā)展的主要趨勢(shì),并重點(diǎn)介紹一些可以幫助企業(yè)引領(lǐng)潮流的示例項(xiàng)目。
云計(jì)算和SaaS
開源代碼存儲(chǔ)庫(kù)和云計(jì)算技術(shù)已經(jīng)顛覆了技術(shù)創(chuàng)新?!皵?shù)據(jù)是新石油”與“軟件正在吞噬世界”這兩種觀點(diǎn)相互沖突和碰撞,從而促進(jìn)SaaS行業(yè)的發(fā)展,這一切都發(fā)生在云端。開發(fā)人員可以擴(kuò)展服務(wù)以滿足他們的需求,定制應(yīng)用程序,并從任何地方在任何具有互聯(lián)網(wǎng)連接的設(shè)備上采用云服務(wù)。對(duì)于用戶來(lái)說(shuō),SaaS軟件已經(jīng)“開箱即用”地開發(fā)出來(lái),并自動(dòng)與數(shù)據(jù)庫(kù)配套,期望在軟件中執(zhí)行的任何操作或查詢都將在桌面或移動(dòng)設(shè)備上獲得即時(shí)響應(yīng)。
從某種意義上說(shuō),這一切對(duì)用戶來(lái)說(shuō)就像魔術(shù)一樣神奇,但對(duì)開發(fā)人員來(lái)說(shuō),開發(fā)新的計(jì)算模型和代碼以使其保持運(yùn)行是一項(xiàng)日常挑戰(zhàn)。開源社區(qū)因此成為推動(dòng)這一創(chuàng)新的引擎。
在這種相對(duì)較新的計(jì)算模式下,開發(fā)人員可以將開發(fā)的應(yīng)用程序快速推向市場(chǎng),而無(wú)需在基礎(chǔ)設(shè)施成本和維護(hù)方面進(jìn)行大量投資。這在20年前是不可能實(shí)現(xiàn)的,這幾乎將每家企業(yè)都變成了軟件驅(qū)動(dòng)的公司。隨著云計(jì)算與開源數(shù)據(jù)庫(kù)相結(jié)合,使開發(fā)人員能夠使用亞馬遜和谷歌公司提供的創(chuàng)新存儲(chǔ)和訪問(wèn)技術(shù),而供應(yīng)商可能難以做到。在2021年9月公布的最新季度報(bào)告中,Oracle公司的專有數(shù)據(jù)庫(kù)許可收入比去年下降了8%,但其云計(jì)算業(yè)務(wù)增長(zhǎng)了40%。
以傳統(tǒng)銀行的專有數(shù)據(jù)庫(kù)和代碼為例,他們突然發(fā)現(xiàn)正在與像Chime這樣的挑戰(zhàn)者銀行在用戶群體和市場(chǎng)上競(jìng)爭(zhēng)。Chime銀行僅存在于云端(它們沒(méi)有分支機(jī)構(gòu)),并以移動(dòng)優(yōu)先銀行SaaS應(yīng)用的形式出現(xiàn)。Chime銀行使用云優(yōu)先的開源戰(zhàn)略建立了一家市值10億美元的公司,因此,采用云計(jì)算服務(wù)是傳統(tǒng)銀行爭(zhēng)相效仿的一個(gè)戰(zhàn)略。
混合云
混合云是開源數(shù)據(jù)庫(kù)大放異彩的地方。顧名思義,混合云使用內(nèi)部部署、私有云和第三方云服務(wù)的組合,并在這些平臺(tái)之間進(jìn)行編排。常見的應(yīng)用程序在這些平臺(tái)中運(yùn)行。這種配置最近得到了發(fā)展,以支持企業(yè)將某些工作負(fù)載保留在內(nèi)部部署設(shè)施的需求,同時(shí)享受云計(jì)算所提供的好處。
開源允許企業(yè)擁有一套通用的工具,即使數(shù)據(jù)庫(kù)不同,也可以適應(yīng)所有環(huán)境的用例,例如災(zāi)難和恢復(fù)以及平衡工作負(fù)載。
大數(shù)據(jù)
快速增長(zhǎng)的數(shù)據(jù)量和復(fù)雜性是由于移動(dòng)流量、云計(jì)算流量以及包括物聯(lián)網(wǎng)和人工智能在內(nèi)的新技術(shù)的擴(kuò)散。根據(jù)Research And Marke公司的2020年數(shù)據(jù)使用報(bào)告,全球每天產(chǎn)生超過(guò)2.5萬(wàn)億字節(jié)的數(shù)據(jù)。而企業(yè)需要在數(shù)據(jù)存儲(chǔ)和檢索方面不斷創(chuàng)新以跟上步伐。開源正是數(shù)據(jù)科學(xué)創(chuàng)新的一條最佳途徑,同時(shí)也是硬件優(yōu)化和編碼效率的一條最佳途徑。
數(shù)據(jù)是開源數(shù)據(jù)庫(kù)項(xiàng)目將繼續(xù)成為最受歡迎(僅次于操作系統(tǒng))的最關(guān)鍵原因。它不斷累積,像物聯(lián)網(wǎng)和社交媒體這樣的新應(yīng)用每天都會(huì)產(chǎn)生大量的信息,而且是以高容量、高速和高度可變的格式產(chǎn)生的。
企業(yè)需要采用一些方法來(lái)大規(guī)模分析這些數(shù)據(jù)。這就是開源數(shù)據(jù)庫(kù)優(yōu)于傳統(tǒng)數(shù)據(jù)庫(kù)的地方。盡管近年來(lái)開源和社區(qū)開發(fā)項(xiàng)目的動(dòng)態(tài)發(fā)生了變化,但對(duì)于99%的應(yīng)用程序來(lái)說(shuō),社區(qū)開發(fā)仍然是促進(jìn)數(shù)據(jù)訪問(wèn)創(chuàng)新的最佳方式。
與數(shù)據(jù)庫(kù)無(wú)關(guān)的工具和中間件
新的現(xiàn)實(shí)是一個(gè)技術(shù)領(lǐng)域,企業(yè)對(duì)數(shù)據(jù)庫(kù)服務(wù)采用更加分布式的方法。需要探索來(lái)自不同數(shù)據(jù)庫(kù)供應(yīng)商的多個(gè)數(shù)據(jù)庫(kù)實(shí)例,以創(chuàng)建可以托管在內(nèi)部部署、云平臺(tái)或兩者的混合,但通過(guò)一組標(biāo)準(zhǔn)工具和中間件來(lái)訪問(wèn)數(shù)據(jù)進(jìn)行簡(jiǎn)化。
無(wú)論數(shù)據(jù)庫(kù)是SQL還是NoSQL,現(xiàn)代關(guān)系數(shù)據(jù)庫(kù)在表、行和列中都有一個(gè)共同點(diǎn)。這種數(shù)據(jù)結(jié)構(gòu)允許出現(xiàn)新的訪問(wèn)工具,將分布在混合基礎(chǔ)設(shè)施中的數(shù)據(jù)統(tǒng)一起來(lái)。例如,ShardingSphere等開源解決方案具有與SQL無(wú)關(guān)的工具,可以跨分布式數(shù)據(jù)存儲(chǔ)查詢和檢索數(shù)據(jù)。
而現(xiàn)在出現(xiàn)的趨勢(shì)是,客戶不想再被微軟公司或IBM公司這樣的大型供應(yīng)商鎖定。
源代碼訪問(wèn)
在30年前,供應(yīng)商鎖定被認(rèn)為是一件好事。如果出現(xiàn)問(wèn)題,用戶可以獲得他們的供應(yīng)商的支持,這些供應(yīng)商的工程師團(tuán)隊(duì)將不斷為其應(yīng)用程序進(jìn)行修補(bǔ)和更新。企業(yè)還為許可證、技術(shù)支持和升級(jí)軟件的高額年費(fèi)支付了巨額費(fèi)用。例如基于Oracle平臺(tái)的一個(gè)應(yīng)用程序的生命周期成本可能高達(dá)數(shù)百萬(wàn)美元,其功能僅用于數(shù)據(jù)庫(kù)軟件和維護(hù),并不包括開發(fā)。
在敏捷開發(fā)代碼的時(shí)代,供應(yīng)商鎖定不再是一件好事。開源的關(guān)鍵是源代碼部分。通過(guò)訪問(wèn)共同策劃的源代碼,開發(fā)人員可以根據(jù)自己的需求和優(yōu)先級(jí),而不是軟件供應(yīng)商的需求和優(yōu)先級(jí)進(jìn)行更改。
開源社區(qū)
對(duì)于源代碼的訪問(wèn)不僅對(duì)開發(fā)人員或企業(yè)有價(jià)值,它對(duì)開源社區(qū)成員的整個(gè)生態(tài)系統(tǒng)都很有價(jià)值。這是一個(gè)良性循環(huán),采用開源軟件的人越多,開發(fā)的項(xiàng)目就越多。
就像一篇優(yōu)秀的博客文章或推文通過(guò)病毒式傳播一樣,優(yōu)秀的開源軟件也可以利用這種網(wǎng)絡(luò)效應(yīng)。開源社區(qū)是這種病毒式傳播的來(lái)源。全球數(shù)十個(gè)貢獻(xiàn)者社區(qū)和數(shù)千名開發(fā)人員為從頭開始構(gòu)建的分布式系統(tǒng)的數(shù)據(jù)庫(kù)項(xiàng)目迭代開源代碼。
如果由一個(gè)多元化的社區(qū)進(jìn)行開發(fā),這種方法會(huì)產(chǎn)生比專門的開發(fā)團(tuán)隊(duì)破解專有系統(tǒng)中的漏洞更穩(wěn)定的軟件。前瞻性開源數(shù)據(jù)庫(kù)社區(qū)的例子包括Apache ShardingSphere、CockroachDB、Yugabite和ClickHouse。例如,ShardingSphere僅在亞洲就有450多個(gè)開源代碼庫(kù)的貢獻(xiàn)者,并且正在全球迅速傳播。在未來(lái)幾年,隨著企業(yè)對(duì)不斷增長(zhǎng)的數(shù)據(jù)流的訪問(wèn)、速度和控制要求越來(lái)越高,數(shù)據(jù)庫(kù)軟件的貢獻(xiàn)和采用肯定會(huì)顯著增長(zhǎng)。
例如支持開源數(shù)據(jù)庫(kù)項(xiàng)目的Momentum,開源貢獻(xiàn)者社區(qū)解決了Momentum多個(gè)版本的主要缺陷,創(chuàng)建了庫(kù)、存儲(chǔ)庫(kù)、文檔,甚至YouTube視頻來(lái)為新的貢獻(xiàn)者提供激勵(lì)。O'ReillyMedia公司和IBM公司在2020年對(duì)3,400名開發(fā)人員和技術(shù)經(jīng)理進(jìn)行了調(diào)查。調(diào)查報(bào)告表明:
- 94%的受訪者認(rèn)為開源軟件等于或優(yōu)于專有軟件。
- 70%的受訪者更喜歡采用開源云計(jì)算提供商提供的軟件。
- 65%的受訪者認(rèn)為,參與開源項(xiàng)目會(huì)帶來(lái)更好的職業(yè)機(jī)會(huì)。
虛擬軟件目錄
開源應(yīng)用程序很容易找到。如果在谷歌搜索引擎上搜索“開源數(shù)據(jù)備份和恢復(fù)”這樣的應(yīng)用程序,那么搜索結(jié)果顯示,至少有17種免費(fèi)開源備份解決方案,甚至更多。
截至2020年1月,GitHub報(bào)告擁有4000多萬(wàn)用戶和190多萬(wàn)個(gè)存儲(chǔ)庫(kù)(包括2800萬(wàn)個(gè)公共存儲(chǔ)庫(kù))。用戶可以通過(guò)多種方式搜索GitHub,例如,GitHub支持某些字段的高級(jí)搜索,如存儲(chǔ)庫(kù)標(biāo)題、描述和自述文件。如果想找到一些很好的存儲(chǔ)庫(kù)來(lái)學(xué)習(xí)數(shù)據(jù)庫(kù)的東西,可以像這樣搜索:in:name數(shù)據(jù)庫(kù)。
與專有產(chǎn)品套件相比,用戶更有可能在開源軟件領(lǐng)域找到可隨時(shí)修改的相關(guān)解決方案。
首席信息官和安全性
根據(jù)調(diào)查,三分之二以上的首席信息官擔(dān)心被云計(jì)算提供商鎖定。因此,這已成為開源數(shù)據(jù)庫(kù)得以應(yīng)用的另一個(gè)主要驅(qū)動(dòng)力。
在勒索軟件時(shí)代,數(shù)據(jù)安全是有關(guān)企業(yè)生存的大事。開源技術(shù)使企業(yè)能夠完全控制其安全需求,其方法是提供對(duì)源代碼和配置的完全訪問(wèn)權(quán)限,從而以自己喜歡的方式擴(kuò)展軟件。
而很多人擔(dān)心開源的安全性。很多企業(yè)的快速采用似乎正在解答有關(guān)開源的爭(zhēng)論。而事實(shí)上,沒(méi)有一家企業(yè)會(huì)不會(huì)受到開源數(shù)據(jù)庫(kù)的影響。
新興例子
隨著元宇宙等新技術(shù)的發(fā)展,人們將體驗(yàn)到一系列新興技術(shù),這些技術(shù)將成為開源數(shù)據(jù)庫(kù)程序的首選。
例如,Apache Shardingsphere提供的新興開源生態(tài)系統(tǒng)及其與技術(shù)無(wú)關(guān)的分布式數(shù)據(jù)庫(kù)即插即用模塊,為作為貢獻(xiàn)者或企業(yè)的開發(fā)人員提供了易用性和采用性。
Kubernetes(谷歌的云容器編排技術(shù))是開源數(shù)據(jù)庫(kù)部署的另一個(gè)關(guān)鍵API,程序員可以從中受益。
在未來(lái)5年,開源發(fā)展將由需求驅(qū)動(dòng)。行業(yè)發(fā)展趨勢(shì)表明,開源將不再是一種選擇,而將成為一種標(biāo)準(zhǔn)。因此,企業(yè)需要積極接受以保持相關(guān)性。
原文連接:The Future Trends Driving Open-Source Database Programs,作者:Yacine Si Tayeb

























