如今,越來越多的組織正在將他們的下一代數(shù)據(jù)庫體系結(jié)構(gòu)轉(zhuǎn)移到解決方案而不是服務(wù)器上,并且接受開源數(shù)據(jù)庫技術(shù)的價值。
2017年對于數(shù)據(jù)庫技術(shù)市場來說是關(guān)鍵的一年,在此期間經(jīng)歷了幾個大規(guī)模的模式轉(zhuǎn)變,并且沒有跡象表明很快就會停止。企業(yè)正在逐步擺脫傳統(tǒng)的單一數(shù)據(jù)庫架構(gòu),數(shù)十年來,這些數(shù)據(jù)庫架構(gòu)經(jīng)過多代的應(yīng)用,以換取更優(yōu)化的、靈活的、自我管理的云數(shù)據(jù)平臺戰(zhàn)略。
隨著對規(guī)模、安全性、性能、高可用性,以及可能最重要的成本和操作優(yōu)化的需求不斷增加,人們可以確定為下一代數(shù)據(jù)庫架構(gòu)的“2.0版本”提供動力的三個重要驅(qū)動因素:
(1)客戶正變得以云計算為中心。
(2)客戶越來越依賴平臺即服務(wù)的數(shù)據(jù)庫解決方案。
(3)客戶正在采用開源數(shù)據(jù)庫引擎。
想要驗證企業(yè)自己的IT數(shù)據(jù)庫戰(zhàn)略是否與數(shù)據(jù)庫市場的總體發(fā)展方向保持一致?企業(yè)所要做的就是確保自己采用這些原則。以下更詳細(xì)地探討它們的含義。
以云計算為中心的數(shù)據(jù)庫時代
早在2014年,當(dāng)重新調(diào)整微軟公司的整個軟件和服務(wù)戰(zhàn)略時,首席執(zhí)行官Satya Nadella提出了“移動優(yōu)先,云計算優(yōu)先”的口號。Nadella一直在表達(dá)微軟在移動,云服務(wù)和解決方案領(lǐng)域所付出的努力,而整個企業(yè)市場似乎都熱衷于接受類似的優(yōu)先事項。
例如,根據(jù)麥肯錫公司的主題為“IT即服務(wù)云”和“企業(yè)云基礎(chǔ)架構(gòu)調(diào)查”,云計算作為工作負(fù)載主要環(huán)境的企業(yè)采用率預(yù)計將從2015年的10%上升到2018年的51%。麥肯錫公司還指出,企業(yè)可能會選擇超大規(guī)模的云解決方案提供商提供的服務(wù),例如亞馬遜、谷歌、微軟。
即使是非常傳統(tǒng)的公司,他們投資擁有數(shù)十年的數(shù)據(jù)中心業(yè)務(wù)經(jīng)驗的大型IT組織,都會發(fā)現(xiàn)需要接受以云計算為中心的IT戰(zhàn)略的優(yōu)勢。
但是,僅僅打著“云計算”旗號讓企業(yè)采用是不夠的,甚至可能會讓人混淆不清。企業(yè)是否計劃將現(xiàn)有服務(wù)器從本地數(shù)據(jù)中心提升或轉(zhuǎn)移到云端,或者更進(jìn)一步,開始為企業(yè)的數(shù)據(jù)庫采用原生云計算解決方案?
雖然“提升和轉(zhuǎn)移”(IaaS)策略可以幫助減少企業(yè)的IT管理開銷,并大幅提高運營的靈活性和可用性,但是對于許多“云優(yōu)先”組織來說,這只是淺嘗輒止,并沒有完全深入地采用云解決方案和服務(wù)。
從思考服務(wù)器到思考服務(wù)
根據(jù)調(diào)研機(jī)構(gòu)Gartner公司的“2017年P(guān)aaS關(guān)鍵趨勢”調(diào)查報告,企業(yè)客戶正在采用平臺即服務(wù)(PaaS)來實施越來越多的戰(zhàn)略舉措,越來越多的客戶認(rèn)為PaaS將成為平臺交付的主要形式。
其原因很簡單:PaaS數(shù)據(jù)庫技術(shù)是自我管理和自我操作的。這些解決方案大大降低了維護(hù)數(shù)據(jù)庫體系結(jié)構(gòu)的運營開銷,使企業(yè)可以將IT人員(尤其是數(shù)據(jù)庫管理員)的時間和精力投入到以應(yīng)用程序為中心的活動中,從而推動業(yè)務(wù)成功,而不是保護(hù)過于復(fù)雜的數(shù)據(jù)庫基礎(chǔ)架構(gòu)。
數(shù)據(jù)庫軟件和云計算供應(yīng)商正將大量的研發(fā)力量投入到PaaS數(shù)據(jù)庫解決方案中,這正成為云計算領(lǐng)域廠商(亞馬遜、微軟、谷歌以及Oracle))最重要的差異化因素之一。
早在2014年,亞馬遜公司就宣布推出一款完全可管理的關(guān)系數(shù)據(jù)庫引擎Aurora,它將高端商業(yè)數(shù)據(jù)庫的速度和可用性與開源數(shù)據(jù)庫的簡單性和成本效益相結(jié)合。此外,也許更重要的是,Aurora是AWS公司的原生PaaS數(shù)據(jù)庫解決方案。自推出以來,Aurora得到了很多應(yīng)用和思想共享。在亞馬遜2017年度re:Invent展會期間,亞馬遜公司將其云數(shù)據(jù)庫產(chǎn)品進(jìn)一步推向市場,并宣布Aurora Serverless是一個完全可管理的“抽象”數(shù)據(jù)庫,而在這個數(shù)據(jù)庫中,用戶需要為所使用的數(shù)據(jù)庫資源付費。
很顯然,亞馬遜公司在云解決方案中的創(chuàng)新和顛覆,PaaS數(shù)據(jù)庫產(chǎn)品在整個行業(yè)范圍內(nèi)掀起了浪潮。Oracle公司是傳統(tǒng)高端企業(yè)關(guān)系數(shù)據(jù)庫軟件市場的領(lǐng)導(dǎo)者之一,也是一家在研發(fā)方面投入了數(shù)十年時間研發(fā)創(chuàng)建全球最強(qiáng)大、最優(yōu)化的可配置和可調(diào)的關(guān)系數(shù)據(jù)庫之一的公司,該公司在OpenWorld2017年度大會推出自己的“自我驅(qū)動”數(shù)據(jù)庫產(chǎn)品。Oracle公司首席技術(shù)官Larry Ellison描述了自治數(shù)據(jù)庫云的愿景的一部分,Oracle公司關(guān)注自驅(qū)動、自擴(kuò)展、自修復(fù)數(shù)據(jù)庫解決方案,試圖消除與調(diào)整、修補(bǔ)、更新和維護(hù)Oracle數(shù)據(jù)庫相關(guān)的人力成本。
不僅僅亞馬遜和Oracle公司推出了數(shù)據(jù)庫產(chǎn)品,微軟公司也推出了Azure SQL DB,這是一個完全托管的關(guān)系型云數(shù)據(jù)庫服務(wù),并嘗試自動調(diào)整數(shù)據(jù)庫以改進(jìn)性能和保護(hù)。Azure SQL DB是微軟公司的PaaS產(chǎn)品,結(jié)合了微軟云平臺SQL Server和Azure的高端性能和功能。
開源數(shù)據(jù)庫引擎的興起
商業(yè)數(shù)據(jù)庫引擎(Oracle,SQL Server和DB2等)在它們所提供的功能和性能的廣度上是至高無上的。事實上,這是其許可價格高的傳統(tǒng)理由。但是,開源數(shù)據(jù)庫管理系統(tǒng)已經(jīng)成熟,成為專有商業(yè)數(shù)據(jù)庫引擎極其可行的替代方案。特別是近年來,隨著PostgreSQL和MySQL的進(jìn)步。對于許多使用情況來說,這些開源數(shù)據(jù)庫可能會與商業(yè)數(shù)據(jù)庫市場的行業(yè)巨頭的產(chǎn)品正面交鋒。
對于那些一直關(guān)注數(shù)據(jù)庫行業(yè)狀況的業(yè)界人士來說,采用開源數(shù)據(jù)庫引擎的熱潮不應(yīng)該讓人吃驚。Gartner公司的一個主題為“2015年開源RDBMs狀況”的報告早在2015年就預(yù)測開放源代碼的數(shù)據(jù)庫將被用戶廣泛接受:“到2018年,70%以上的新的內(nèi)部應(yīng)用程序?qū)⒃贠SDBMS上開發(fā),現(xiàn)有商用RDBMS實例中的50%將被轉(zhuǎn)換為正在進(jìn)行中。”
更重要的是,如果用戶將開源數(shù)據(jù)庫部署到云中,那么開源關(guān)系數(shù)據(jù)庫的最大缺點也許就是它們?nèi)狈δ承└叨斯δ?與其專有的數(shù)據(jù)相比)。
例如,Oracle公司和微軟公司都提供了直接構(gòu)建到其數(shù)據(jù)庫產(chǎn)品中的異步消息傳遞/排隊機(jī)制。Oracle公司稱之為高級隊列,微軟公司稱之為服務(wù)代理。PostgreSQL或MySQL本身不提供類似的功能。在開始使用開源數(shù)據(jù)庫技術(shù)之前,企業(yè)需要思考這個潛在的問題。
采用云計算
通過利用主要云平臺提供的功能,并將這些功能作為開源數(shù)據(jù)庫架構(gòu)的一部分進(jìn)行集成,企業(yè)可以更輕松地實現(xiàn)與商業(yè)數(shù)據(jù)庫的功能對等。
例如,如果企業(yè)使用Amazon Aurora MySQL,則還可以使用亞馬遜簡單隊列服務(wù)(它是用于微服務(wù)和分布式系統(tǒng)的完全托管的消息隊列)和Amazon Lambda(允許用戶運行無代理程序代碼)作為替代方法的組合針對Oracle AQ和SQL Server Service Broker。使用Amazon SQS + Lambda,用戶可以直接從Amazon Aurora MySQL對消息進(jìn)行排隊,就好像數(shù)據(jù)庫具有內(nèi)置隊列服務(wù)一樣。
同樣,如果用戶需要定期執(zhí)行復(fù)雜的數(shù)據(jù)轉(zhuǎn)換,則在微軟Azure中運行MySQL數(shù)據(jù)庫將允許用戶使用Azure數(shù)據(jù)工廠,從而通過云端PaaS解決方案減少源數(shù)據(jù)庫引擎中的缺失功能。這些云服務(wù)以及許多其他云服務(wù)可以與PaaS開源數(shù)據(jù)庫引擎集成,并作為完整解決方案體系結(jié)構(gòu)的一部分。
總而言之,現(xiàn)代關(guān)系型數(shù)據(jù)庫的整個概念正在從單一的體系結(jié)構(gòu)轉(zhuǎn)向數(shù)量龐大而功能強(qiáng)大的數(shù)據(jù)庫服務(wù)器,這些數(shù)據(jù)庫服務(wù)器內(nèi)置了大量的功能,以敏捷的PaaS和利用云平臺作為服務(wù)的開源模型解決方案和技術(shù)。
這是一個明確的范式轉(zhuǎn)變,可能會為今后十年的數(shù)據(jù)庫技術(shù)發(fā)展奠定基礎(chǔ)。