阿里李飛飛:云原生分布式數(shù)據(jù)庫面臨哪些機(jī)遇與挑戰(zhàn)?

朱宗鵬/左延鵲
隨著互聯(lián)網(wǎng)技術(shù)的蓬勃發(fā)展,尤其是以谷歌為代表的互聯(lián)網(wǎng)公司,產(chǎn)生了大量的數(shù)據(jù)。谷歌做搜索推薦引擎,最核心的是不斷的爬取全世界所有的網(wǎng)頁,動(dòng)態(tài)地對(duì)這些網(wǎng)頁之間的關(guān)聯(lián)關(guān)系進(jìn)行分析、處理。

2345截圖20200908083720.png

背景與趨勢(shì)

2345截圖20200908083720.png

云計(jì)算加速數(shù)據(jù)庫系統(tǒng)演進(jìn)

首先我們看一下云計(jì)算的發(fā)展給數(shù)據(jù)庫系統(tǒng)帶來了哪些變化?數(shù)據(jù)庫系統(tǒng)是計(jì)算機(jī)領(lǐng)域三大基礎(chǔ)軟件系統(tǒng)之一,操作系統(tǒng)、編譯系統(tǒng)、數(shù)據(jù)庫系統(tǒng)。上世紀(jì)80年代初,數(shù)據(jù)庫系統(tǒng)開始走上了歷史舞臺(tái),早期的關(guān)系型數(shù)據(jù)庫以甲骨文為代表,取得了巨大的商業(yè)成功。后來出現(xiàn)了開源的關(guān)系型數(shù)據(jù)庫,比如MySQL、Postgres等。到90年代,隨著關(guān)系型數(shù)據(jù)庫的廣泛應(yīng)用,產(chǎn)生了大量的數(shù)據(jù),分析這些結(jié)構(gòu)化的數(shù)據(jù)對(duì)分析型的數(shù)據(jù)庫系統(tǒng)提出了很高的要求。這就是為什么在90年代涌現(xiàn)出了一批分析型數(shù)據(jù)庫系統(tǒng)。世紀(jì)更迭,2000年到2010年左右的這段時(shí)間是大數(shù)據(jù)技術(shù)走上歷史舞臺(tái)的時(shí)代。

2345截圖20200908083720.png

數(shù)據(jù)倉(cāng)庫加速?gòu)腂igData向Cloud-Native+FastData演進(jìn)

大數(shù)據(jù)技術(shù)之所以會(huì)誕生,其原因可以總結(jié)為兩個(gè)方面:

●大數(shù)據(jù)的產(chǎn)生。隨著互聯(lián)網(wǎng)技術(shù)的蓬勃發(fā)展,尤其是以谷歌為代表的互聯(lián)網(wǎng)公司,產(chǎn)生了大量的數(shù)據(jù)。谷歌做搜索推薦引擎,最核心的是不斷的爬取全世界所有的網(wǎng)頁,動(dòng)態(tài)地對(duì)這些網(wǎng)頁之間的關(guān)聯(lián)關(guān)系進(jìn)行分析、處理。

●獲取、處理、分析數(shù)據(jù)的方式不一樣。比如說銀行最簡(jiǎn)單的交易、轉(zhuǎn)賬,對(duì)隔離、一致性、持久性都有非常嚴(yán)格的要求。大數(shù)據(jù)就不一樣,做搜索引擎,少爬一個(gè)網(wǎng)頁,或者計(jì)算的時(shí)候沒有把這個(gè)網(wǎng)頁的影響算進(jìn)去,對(duì)最終的搜索結(jié)果會(huì)有一點(diǎn)影響,但不是特別重要。所以,這種應(yīng)用場(chǎng)景和傳統(tǒng)的聯(lián)機(jī)交易關(guān)系型數(shù)據(jù)庫里面的強(qiáng)要求是完全不同的。

這時(shí)候大數(shù)據(jù)系統(tǒng)就出現(xiàn)了,谷歌發(fā)表了耳熟能詳?shù)姆植际轿募到y(tǒng)、分布式表格存儲(chǔ)、MapReduce三大論文,這奠定了今天大數(shù)據(jù)的整個(gè)技術(shù)生態(tài)圈的基石。從2010年往后,我們又看到另外一個(gè)趨勢(shì),就是云計(jì)算的熱度在這個(gè)時(shí)候逐漸升溫,對(duì)我們的數(shù)據(jù)處理系統(tǒng)產(chǎn)生了一個(gè)非常大的影響。我們看到云原生技術(shù)在數(shù)據(jù)處理系統(tǒng)深入的應(yīng)用,我們看到傳統(tǒng)的關(guān)系型數(shù)據(jù)庫和傳統(tǒng)大數(shù)據(jù)生態(tài)正在快速發(fā)生融合。

每個(gè)人都在講云計(jì)算,如何深入理解云計(jì)算這個(gè)概念呢?今天整個(gè)計(jì)算機(jī)領(lǐng)域的技術(shù)架構(gòu)是基于60年代誕生的馮諾依曼架構(gòu)的,其最核心的是兩個(gè)部分,計(jì)算和存儲(chǔ),計(jì)算和存儲(chǔ)是緊耦合在一起的。從馮諾依曼架構(gòu)一直到云計(jì)算出現(xiàn)之前,所有的計(jì)算體系都是基于這樣的架構(gòu)來實(shí)現(xiàn)的。比如一臺(tái)服務(wù)器如果CPU資源不夠了,要做高并發(fā)處理,需要再加一臺(tái)服務(wù)器??赡軆?nèi)存原本已經(jīng)夠用了,但是為了擴(kuò)容計(jì)算資源帶來了一定存儲(chǔ)空間的浪費(fèi)。在對(duì)IT資源做預(yù)算的時(shí)候,就需要按照今年接下來的業(yè)務(wù)的高峰的峰值評(píng)估系統(tǒng)容量,不然系統(tǒng)無法支撐業(yè)務(wù),但是這樣預(yù)算成本是浪費(fèi)的。

這時(shí)候云計(jì)算出現(xiàn)了,云計(jì)算的本質(zhì)就是利用分布式技術(shù)將資源高效池化,而對(duì)應(yīng)用做到透明的集中式部署。

把云計(jì)算、數(shù)據(jù)庫、以及大數(shù)據(jù)發(fā)展結(jié)合起來看,數(shù)據(jù)系統(tǒng)本質(zhì)上就是對(duì)數(shù)據(jù)從生產(chǎn)、處理、消費(fèi)、存儲(chǔ)的一個(gè)全鏈路的過程??梢钥吹綐I(yè)界發(fā)展的趨勢(shì),資源的池化,以云原生、分布式的技術(shù)為基礎(chǔ),打造下一代的數(shù)據(jù)處理系統(tǒng)。我們之所以能夠支撐雙11,也是因?yàn)槲覀冊(cè)诓粩嗟膶?shí)踐基于這些理念的一些思考。

2345截圖20200908083720.png

數(shù)據(jù)庫挑戰(zhàn)(雙11)

第一張圖是我們歷年雙11的零點(diǎn)交易峰值的曲線,最新的2020年雙11的零點(diǎn)的峰值是58萬筆/秒。每一筆交易還會(huì)有一個(gè)拆單的動(dòng)作,到數(shù)據(jù)庫系統(tǒng)就是每秒幾百萬TPS。第二張圖是我們系統(tǒng)零點(diǎn)負(fù)載的瞬間變化曲線??梢钥吹皆谝幻腌姇r(shí)間內(nèi)系統(tǒng)負(fù)載瞬間爆發(fā)了145倍。

如果我們不是利用這種云原生的技術(shù),只是簡(jiǎn)單依賴傳統(tǒng)技術(shù),是無法滿足這種高并發(fā)、彈性、高可用的要求的。

我們阿里云利用這些技術(shù)在全球的數(shù)據(jù)庫市場(chǎng)也取得了一些成績(jī)。如今在云數(shù)據(jù)庫這個(gè)市場(chǎng)營(yíng)收份額是亞太第一,世界第三。剛發(fā)布的2019年到2020年的市場(chǎng)調(diào)查結(jié)果表明,我們已經(jīng)進(jìn)入了領(lǐng)導(dǎo)者象限,這也是中國(guó)的基礎(chǔ)軟件領(lǐng)域第一次進(jìn)入領(lǐng)導(dǎo)者象限。最右邊是市場(chǎng)份額,也是第一次在線下+線上的模式里面超過了甲骨文。

2345截圖20200908083720.png

全球云數(shù)據(jù)庫市場(chǎng)格局

看一下業(yè)界的趨勢(shì)。甲骨文是大家都知道傳統(tǒng)的數(shù)據(jù)庫廠商,它把傳統(tǒng)的基于IOE架構(gòu)快速向云化發(fā)展,也是基于云原生的技術(shù)。Snowflake這家軟件公司近幾年發(fā)展迅猛,本質(zhì)上也是做了資源池化、存儲(chǔ)池化、存儲(chǔ)計(jì)算分離。它把一些傳統(tǒng)的數(shù)據(jù)庫能力和傳統(tǒng)大數(shù)據(jù)的能力融合在一起,而底下資源池化。此外,還支持多云部署。這是Snowflake成功的幾個(gè)關(guān)鍵的因素。

2345截圖20200908083720.png

數(shù)據(jù)庫發(fā)展趨勢(shì)(云原生企業(yè)級(jí)一體化、數(shù)據(jù)庫大數(shù)據(jù)一體化)

從架構(gòu)的角度來講,數(shù)據(jù)庫系統(tǒng)有哪些變化?最左邊就是傳統(tǒng)的馮諾依曼架構(gòu)。最右邊是分布式架構(gòu)。中間就是我們講的云原生的架構(gòu),背后大量的利用了分布式技術(shù)。這種資源池化帶來的彈性、高可用的能力是顯而易見的。

2345截圖20200908083720.png

數(shù)據(jù)庫系統(tǒng)架構(gòu)演進(jìn)

這是今天三種不同的架構(gòu),我們認(rèn)為有這么幾個(gè)趨勢(shì):

●大數(shù)據(jù)和數(shù)據(jù)庫一體化的趨勢(shì)

●云原生和分布式技術(shù)結(jié)合的趨勢(shì)

●智能化的趨勢(shì)

●軟硬件一體化,比如利用高速網(wǎng)絡(luò)等來提升數(shù)據(jù)處理系統(tǒng)的性能和效率

●安全可信,如何確保數(shù)據(jù)不可更改

這是下一代數(shù)據(jù)庫的幾個(gè)核心技術(shù):

2345截圖20200908083720.png

下一代企業(yè)級(jí)數(shù)據(jù)庫關(guān)鍵技術(shù)

核心技術(shù)及產(chǎn)品

企業(yè)級(jí)云原生分布式數(shù)據(jù)庫

下面結(jié)合我們的核心技術(shù)把這些背景、趨勢(shì)實(shí)例化。

云原生關(guān)系型數(shù)據(jù)庫PolarDB

第一個(gè)是云原生關(guān)系型數(shù)據(jù)庫PolarDB。

2345截圖20200908083720.png

云原生關(guān)系型數(shù)據(jù)庫PolarDB

每個(gè)數(shù)據(jù)塊也是分成三個(gè)物理節(jié)點(diǎn),雖然下面大量使用分布式技術(shù),但是不用關(guān)心分布式帶來的挑戰(zhàn),比如說分庫分表、分布式的查詢,因?yàn)閷?duì)應(yīng)用是完全透明的,讀寫的是一份數(shù)據(jù),做到了集中式部署。另外存儲(chǔ)計(jì)算分離,在分鐘級(jí)別部署一個(gè)新的計(jì)算節(jié)點(diǎn),或者擴(kuò)容存儲(chǔ)節(jié)點(diǎn)。同時(shí)在性能上做了大量的優(yōu)化,非常好的兼容了生態(tài),比如說100%兼容PG,高度兼容甲骨文。性價(jià)比在商業(yè)數(shù)據(jù)庫中有非常好的競(jìng)爭(zhēng)優(yōu)勢(shì),在實(shí)際的客戶案例里面,利用PolarDB甲骨文兼容版替換掉現(xiàn)有的甲骨文,在性能一樣的前提下,整體成本不到原來的三分之一。

●兼容生態(tài)

100%兼容MySQL 5.6,5.7 and 8.0

100%兼容PostgreSQL 11

高度兼容Oracle

●存儲(chǔ)計(jì)算分離

5分鐘添加只讀實(shí)例

15分鐘Scale Up

●智能負(fù)載均衡

透明讀寫分離

自定義應(yīng)用訪問路徑

●分布式共享存儲(chǔ)

100TB存儲(chǔ)空間

分鐘備份數(shù)TB數(shù)據(jù)

●用戶態(tài)I/O stack+NVM+RDMA

最高6倍社區(qū)開源MySQL性能,100萬QPS/秒

●基于Redo log復(fù)制

備庫/只讀實(shí)例數(shù)據(jù)同步毫秒級(jí)延時(shí)

云原生分布式數(shù)據(jù)庫PolarDB-X

除了云原生的架構(gòu),也有分布式架構(gòu)版的PolarDB。在每個(gè)分區(qū)里面做這種三節(jié)點(diǎn)的架構(gòu),同時(shí)三節(jié)點(diǎn)是利用協(xié)議去做數(shù)據(jù)的一致性保障,而且三節(jié)點(diǎn)可以做到同城跨AZ部署。

2345截圖20200908083720.png

云原生分布式數(shù)據(jù)庫PolarDB-X

新一代云原生分布式數(shù)據(jù)庫系統(tǒng)

下一代的系統(tǒng)是將云原生技術(shù)和分布式技術(shù)合二為一,上面是分布式,而下面是云原生的方式實(shí)現(xiàn),帶來的好處就是每個(gè)分區(qū)享受到了云原生帶來彈性、高可用的能力,同時(shí)上面有分布式帶來的水平拓展的能力,解決高并發(fā)可能帶來的瓶頸問題。

2345截圖20200908083720.png

新一代云原生分布式數(shù)據(jù)庫系統(tǒng)

云原生數(shù)據(jù)倉(cāng)庫與數(shù)據(jù)湖

再看看數(shù)據(jù)庫領(lǐng)域發(fā)生的一些其他的變化,比如說數(shù)據(jù)倉(cāng)庫。

2345截圖20200908083720.png

一體化設(shè)計(jì)成為下一代數(shù)據(jù)分析系統(tǒng)的核心理念

云原生數(shù)據(jù)倉(cāng)庫

云原生的數(shù)據(jù)倉(cāng)庫本質(zhì)上也是云原生的架構(gòu),存儲(chǔ)池化、計(jì)算池化、存儲(chǔ)計(jì)算分離。同時(shí)實(shí)現(xiàn)海量存儲(chǔ)彈性,輕量化部署。就像現(xiàn)實(shí)生活中的倉(cāng)庫,所有物品都要分門別類放好,所以數(shù)據(jù)倉(cāng)庫是比較適合已經(jīng)范式化的數(shù)據(jù)格式、業(yè)務(wù)類型比較固定的場(chǎng)景,性價(jià)比非常高。這是我們?cè)谠圃鷶?shù)倉(cāng)方面做得一些工作,我們也利用這套架構(gòu)支持了淘寶天貓對(duì)實(shí)時(shí)交易數(shù)據(jù)進(jìn)行在線交互式分析和計(jì)算的需求。

2345截圖20200908083720.png

云原生數(shù)據(jù)倉(cāng)庫

2345截圖20200908083720.png

AnalyticDB云原生數(shù)據(jù)倉(cāng)庫

數(shù)據(jù)湖

另外一個(gè)概念叫數(shù)據(jù)湖。湖面很平,湖底其實(shí)是參差不齊的,所以不同于數(shù)據(jù)倉(cāng)庫,數(shù)據(jù)湖的存儲(chǔ)是多源異構(gòu)的,只需要有一個(gè)統(tǒng)一的界面對(duì)這個(gè)數(shù)據(jù)進(jìn)行分析、處理。我們打造一個(gè)云原生的數(shù)據(jù)湖解決方案,基于對(duì)象存儲(chǔ),對(duì)多源異構(gòu)的數(shù)據(jù)存儲(chǔ)進(jìn)行統(tǒng)一的分析,非常低成本的實(shí)現(xiàn)彈性高可用的能力,并且滿足安全性的要求。我們集團(tuán)各個(gè)業(yè)務(wù)之間,可能需要訪問一份數(shù)據(jù),但是計(jì)算要進(jìn)行隔離。云上很多用戶有這種需求,可以用云原生的數(shù)據(jù)湖的產(chǎn)品和解決方案去滿足這種彈性、高可用的場(chǎng)景。

2345截圖20200908083720.png

DLA云原生數(shù)據(jù)湖分析(Serverless,統(tǒng)一元數(shù)據(jù)+開放存儲(chǔ)與分析計(jì)算)

智能化、安全可信與生態(tài)工具

智能化

我們?cè)诠芸剡@一層去實(shí)現(xiàn)異常檢測(cè)、安全診斷,我們通過K8S這套編排技術(shù),把多源異構(gòu)的資源管理起來,打造智能化的運(yùn)維管控平臺(tái)。

2345截圖20200908083720.png

云原生+智能化數(shù)據(jù)庫管控平臺(tái)

安全可信

我們做了全加密的數(shù)據(jù)庫,數(shù)據(jù)進(jìn)入內(nèi)核以后不需要解密。今天的安全體系里面還有一個(gè)關(guān)鍵的薄弱點(diǎn),就是數(shù)據(jù)進(jìn)入大數(shù)據(jù)系統(tǒng)進(jìn)行計(jì)算分析的時(shí)候必須進(jìn)行解密。我們利用安全硬件技術(shù)做了全加密的流程和保護(hù),實(shí)現(xiàn)了不解密也能進(jìn)行數(shù)據(jù)加工和處理。

2345截圖20200908083720.png

全加密云數(shù)據(jù)庫——ApsaraDB RDS Encrypted

數(shù)據(jù)庫生態(tài)工具

從傳輸、備份到管理,傳輸采用DTS,做端到端數(shù)據(jù)的同步,用DBS數(shù)據(jù)備份做多云多端的邏輯備份、物理備份,DMS做企業(yè)級(jí)的開發(fā)建模的流程。這一整套搭建起了阿里巴巴在雙11的核心鏈路,比如各個(gè)單元之間的數(shù)據(jù)同步,核心數(shù)據(jù)的容災(zāi)備份,用DBS做數(shù)據(jù)的開發(fā)、管理,通過DMS做保障,這就是雙11背后的數(shù)據(jù)庫系統(tǒng)技術(shù)實(shí)踐。

2345截圖20200908083720.png

多云多端+混合云:數(shù)據(jù)高速公路,遷移、管理、備份、建倉(cāng)

最佳實(shí)踐

今年的疫情期間看到各行各業(yè)的一個(gè)非常大的變化,傳統(tǒng)的離線業(yè)務(wù)和在線業(yè)務(wù)有一個(gè)快速融合,線上線下的邊界越來越模糊。這帶來的挑戰(zhàn)是,業(yè)務(wù)的波峰波谷的變化越來越劇烈。這是疫情帶來必然的變化。數(shù)字化的轉(zhuǎn)型是一個(gè)必然存在的事實(shí)。這種背景下,我們?cè)圃鷶?shù)據(jù)庫、云原生數(shù)據(jù)倉(cāng),支持了不僅是雙11,還有疫情期間各行各業(yè)尤其是在線教育、游戲等這些傳統(tǒng)的線上線下邊界變得越來越模糊的行業(yè)。

2345截圖20200908083720.png

阿里云數(shù)據(jù)庫技術(shù)對(duì)抗新冠疫情

THEEND

最新評(píng)論(評(píng)論僅代表用戶觀點(diǎn))

更多
暫無評(píng)論