爆料華為云Cloud Native分布式數(shù)據(jù)庫和高性能數(shù)據(jù)庫技術(shù)內(nèi)幕
伴隨著云時(shí)代的發(fā)展,數(shù)據(jù)庫的故事仍然在繼續(xù)。無論是商業(yè)版 Oracle 還是開源社區(qū)版MySQL,數(shù)據(jù)庫技術(shù)從煙囪式發(fā)展到聯(lián)邦式,再演進(jìn)到分布式,上云方式也從 DIY(Do It Yourself)上云、服務(wù)化上云到云原生設(shè)計(jì)。他們?cè)絹碓奖粡V泛關(guān)注,并以燎原之勢影響著現(xiàn)代企業(yè)的方方面面。那么,數(shù)據(jù)庫到底有哪些技術(shù)原理及內(nèi)幕呢?
眾所周知,在云計(jì)算的背景下,企業(yè) IT 業(yè)務(wù)正走向跨地區(qū)、全球化部署,IT 應(yīng)用軟件逐漸云化、分布式化。數(shù)據(jù)庫作為承載企業(yè)業(yè)務(wù)和應(yīng)用的關(guān)鍵,其基于云場景架構(gòu)設(shè)計(jì),具備跨地區(qū)分布式部署的能力要求也日益凸顯。
如前文所述,數(shù)據(jù)庫技術(shù)的演進(jìn),是從煙囪式、到聯(lián)邦式、再到分布式的一個(gè)過程。
數(shù)據(jù)庫技術(shù)演化
煙囪式數(shù)據(jù)庫普遍采取主備從多副本部署架構(gòu),通過 Proxy 統(tǒng)一響應(yīng) APP 的讀寫請(qǐng)求,主要適用于訪問流量較穩(wěn)定,壓力不大的單數(shù)據(jù)庫系統(tǒng),支撐單業(yè)務(wù)系統(tǒng)。它的主要挑戰(zhàn)在于可用性和擴(kuò)展性方面。可用性取決于具體方案,一般不具備 Region 容災(zāi)能力,擴(kuò)展性受限于從庫擴(kuò)展節(jié)點(diǎn)數(shù)和***實(shí)例性能。
聯(lián)邦式數(shù)據(jù)庫將數(shù)據(jù)分片部署到各個(gè)數(shù)據(jù)節(jié)點(diǎn)上,通過數(shù)據(jù)庫中間件統(tǒng)一響應(yīng) APP 的讀寫請(qǐng)求,主要適用于松耦合、異構(gòu)的多數(shù)據(jù)庫系統(tǒng),用于集成垂直構(gòu)建的多個(gè)業(yè)務(wù)系統(tǒng)場景。其主要挑戰(zhàn)是可用性、擴(kuò)展性和功能方面。可用性受限于數(shù)據(jù)分片也就是 Sharding 方案,擴(kuò)展性需要人工操作分庫擴(kuò)容,風(fēng)險(xiǎn)大、需停機(jī),功能方面無跨庫事務(wù)和聯(lián)結(jié),不支持復(fù)雜SQL查詢。
分布式數(shù)據(jù)庫的 SQL 層、執(zhí)行層、存儲(chǔ)層分層解耦、獨(dú)立擴(kuò)展,主要適用于面向云分布式場景,要求***擴(kuò)展性、高可用性的數(shù)據(jù)庫系統(tǒng),支撐跨地區(qū)的大規(guī)模業(yè)務(wù)系統(tǒng)。由于部署方面需要有足夠的跨地區(qū)數(shù)據(jù)中心機(jī)房和計(jì)算、存儲(chǔ)、網(wǎng)絡(luò)等資源,管理方面需要有跨地區(qū)數(shù)據(jù)中心的數(shù)據(jù)庫系統(tǒng)的管控能力,所以主要挑戰(zhàn)在于部署和管理方面。
值得一提的是,數(shù)據(jù)庫技術(shù)的演進(jìn),與新時(shí)代下的企業(yè)應(yīng)用場景變化有很大關(guān)系。當(dāng)前,全球企業(yè)應(yīng)用上云比例當(dāng)前在50%左右,而兩年后將提升到60%左右。企業(yè)應(yīng)用的加速上云,推動(dòng)了數(shù)據(jù)庫加速向云遷移。傳統(tǒng)數(shù)據(jù)庫管理系統(tǒng) DBMS 快速向云遷移,轉(zhuǎn)化成為數(shù)據(jù)庫云服務(wù) DBaaS 的形式繼續(xù)支持企業(yè)應(yīng)用。
早前,企業(yè)上云的模式主要是DIY,即用戶需要自行購買云服務(wù)器,自行安裝、部署、維護(hù)和升級(jí)數(shù)據(jù)庫。優(yōu)點(diǎn)是部分利用了云化基礎(chǔ)設(shè)施服務(wù)的便利性和可靠性,缺點(diǎn)是運(yùn)維開銷跟傳統(tǒng)云下方式不變,使用商業(yè)數(shù)據(jù)庫依然要支付昂貴的license授權(quán)費(fèi)用,數(shù)據(jù)庫規(guī)格變更和升級(jí)困難,備份和容災(zāi)恢復(fù)復(fù)雜,很難實(shí)施。
后來演變?yōu)榉?wù)化模式,用戶只需購買數(shù)據(jù)庫云服務(wù),直接使用,無需購買云服務(wù)器,無需安裝、部署、維護(hù)和升級(jí)數(shù)據(jù)庫。服務(wù)化模式的優(yōu)點(diǎn)是應(yīng)用無需修改,數(shù)據(jù)庫即開即用,按需付費(fèi),彈性擴(kuò)容,按需升級(jí),具有跨AZ和跨Region的可靠性保障,缺點(diǎn)是用戶使用習(xí)慣需要稍微改變下。
到云原生設(shè)計(jì)模式時(shí)代,用戶將選擇全新的基于云架構(gòu)設(shè)計(jì)的分布式數(shù)據(jù)庫服務(wù)。其優(yōu)點(diǎn)是數(shù)據(jù)庫即開即用,按需付費(fèi),可以超大規(guī)模部署,超強(qiáng)的彈性擴(kuò)容,按需升級(jí),具有跨AZ和跨Region的可靠性保障,缺點(diǎn)是應(yīng)用有跨地區(qū)重構(gòu)的代價(jià)和學(xué)習(xí)成本,需要用戶有一定的軟件設(shè)計(jì)和實(shí)現(xiàn)能力。
數(shù)據(jù)庫上云模式
不難看出,企業(yè)想不通過外力實(shí)現(xiàn)數(shù)據(jù)庫上云,有很長的路要走。然而在市場千變?nèi)f化、機(jī)遇稍縱即逝的今天,留給企業(yè)的時(shí)間又有多少呢?
時(shí)值第九屆中國數(shù)據(jù)庫技術(shù)大會(huì)開啟在即,華為云數(shù)據(jù)庫***架構(gòu)師 Calvin Sun 將出席本次大會(huì),并帶來《華為 Cloud Native 分布式數(shù)據(jù)庫技術(shù)》和《 MySQL 云數(shù)據(jù)庫的性能優(yōu)化和發(fā)展趨勢》兩場主題演講。
Calvin Sun于2017年加入華為加拿大多倫多研究所,曾在多個(gè)數(shù)據(jù)庫會(huì)議上做專題演講,有20多年數(shù)據(jù)庫內(nèi)核開發(fā)經(jīng)驗(yàn)。他曾擔(dān)任過Oracle 云服務(wù)團(tuán)隊(duì)MySQL云服務(wù)高級(jí)顧問;是Twitter MySQL內(nèi)核團(tuán)隊(duì)的負(fù)責(zé)人;也曾擔(dān)任 Oracle InnoDB開發(fā)團(tuán)隊(duì)負(fù)責(zé)人,期間帶領(lǐng)團(tuán)隊(duì)負(fù)責(zé)了InnoDB MySQL 5.5和5.6版本的開發(fā)。更早的時(shí)候,他還擔(dān)任MySQL存儲(chǔ)引擎開發(fā)團(tuán)隊(duì)的負(fù)責(zé)人。
在這次講座中,Calvin 將介紹華為 Cloud Native 分布式數(shù)據(jù)庫高可靠、高性能、易擴(kuò)展等金融級(jí)的關(guān)鍵特性,并重點(diǎn)剖析其技術(shù)原理,深入揭開其背后的技術(shù)內(nèi)幕。此外還將帶領(lǐng)大家回顧 MySQL 關(guān)鍵性能特征,介紹 MySQL 云服務(wù)的現(xiàn)狀,以及華為云為提高云上 MySQL的性能所做的工作,討論進(jìn)一步改進(jìn) MySQL 在云上性能的挑戰(zhàn)和機(jī)遇。
--------------------------------------我是分割線-----------------------------------------
數(shù)領(lǐng)先機(jī),智贏未來。2018年5月10-12日第九屆中國數(shù)據(jù)庫技術(shù)大會(huì),華為云數(shù)據(jù)庫在北京國際會(huì)議中心等你來。
華為云數(shù)據(jù)庫產(chǎn)品全景
點(diǎn)擊閱讀原文,了解更多華為云數(shù)據(jù)庫相關(guān)信息!