0
本文作者: 王剛 | 2021-01-10 15:17 |
本文作者:李飛飛,阿里巴巴集團(tuán)副總裁、高級(jí)研究員,阿里云智能數(shù)據(jù)庫(kù)事業(yè)部總負(fù)責(zé)人
上世紀(jì)80年代初,數(shù)據(jù)庫(kù)系統(tǒng)逐步走上信息技術(shù)舞臺(tái)的中央;2000年開(kāi)始,大數(shù)據(jù)技術(shù)興起;再到2010年后,云計(jì)算熱度持續(xù)升溫;技術(shù)的進(jìn)程走到了今天這個(gè)奇妙的節(jié)點(diǎn),看向未來(lái)有幾個(gè)趨勢(shì)可能會(huì)發(fā)生。
僅以此文,分享一些淺見(jiàn)和實(shí)踐。
三段交叉的技術(shù)史
過(guò)去40年,數(shù)據(jù)庫(kù)系統(tǒng)、大數(shù)據(jù)和云計(jì)算三項(xiàng)技術(shù)交替興起。
首先是數(shù)據(jù)庫(kù)系統(tǒng),成型于上個(gè)世紀(jì)80年代,是計(jì)算機(jī)領(lǐng)域三大基礎(chǔ)軟件系統(tǒng)之一。早期的關(guān)系型數(shù)據(jù)庫(kù)以甲骨文數(shù)據(jù)庫(kù)為代表,取得了巨大的商業(yè)成功。后來(lái)出現(xiàn)了MySQL、PostgreSQL等開(kāi)源的關(guān)系型數(shù)據(jù)庫(kù)。
90年代,隨著關(guān)系型數(shù)據(jù)庫(kù)的廣泛應(yīng)用,產(chǎn)生了大量的數(shù)據(jù),分析這些結(jié)構(gòu)化的數(shù)據(jù)對(duì)分析型的數(shù)據(jù)庫(kù)系統(tǒng)提出了很高的要求,因而在90年代涌現(xiàn)出了一批分析型數(shù)據(jù)庫(kù)系統(tǒng)。
世紀(jì)更迭,2000年到2010年,大數(shù)據(jù)技術(shù)走上歷史舞臺(tái)的時(shí)代。大數(shù)據(jù)技術(shù)誕生的原因有以下兩方面:
一是大數(shù)據(jù)的產(chǎn)生。隨著以谷歌為代表的互聯(lián)網(wǎng)公司的發(fā)展,產(chǎn)生了大量數(shù)據(jù)。
二是獲取、處理、分析數(shù)據(jù)的方式不一樣。比如說(shuō)銀行最簡(jiǎn)單的交易、轉(zhuǎn)賬,對(duì)隔離、一致性、持久性有非常嚴(yán)格的要求,大數(shù)據(jù)不一樣,單一數(shù)據(jù)對(duì)最終結(jié)果沒(méi)有特別影響,這種應(yīng)用場(chǎng)景和傳統(tǒng)的聯(lián)機(jī)交易關(guān)系型數(shù)據(jù)庫(kù)完全不同。
于是,大數(shù)據(jù)系統(tǒng)應(yīng)運(yùn)而生。谷歌發(fā)表了耳熟能詳?shù)姆植际轿募到y(tǒng)、分布式表格存儲(chǔ)、MapReduce三大論文,奠定了今天大數(shù)據(jù)的整個(gè)技術(shù)生態(tài)圈的基石。
2010年后,另一個(gè)趨勢(shì)是云計(jì)算的熱度逐漸升溫。云計(jì)算的本質(zhì)就是利用分布式技術(shù)將資源高效池化,而對(duì)應(yīng)用做到透明的集中式部署。
把云計(jì)算、數(shù)據(jù)庫(kù)以及大數(shù)據(jù)發(fā)展結(jié)合起來(lái)看,數(shù)據(jù)系統(tǒng)本質(zhì)上就是對(duì)數(shù)據(jù)從生產(chǎn)到處理、消費(fèi)、存儲(chǔ)的一個(gè)全鏈路的過(guò)程。
云計(jì)算對(duì)數(shù)據(jù)處理系統(tǒng)產(chǎn)生了非常大的影響:
第一, 云原生技術(shù)在數(shù)據(jù)處理系統(tǒng)深入的應(yīng)用;
第二, 傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)和傳統(tǒng)大數(shù)據(jù)生態(tài)正在快速發(fā)生融合。
業(yè)界發(fā)展的趨勢(shì),是資源的池化、資源解耦,以云原生、分布式的技術(shù)為基礎(chǔ),打造下一代的數(shù)據(jù)處理系統(tǒng)。舉例來(lái)說(shuō),阿里云數(shù)據(jù)庫(kù)之所以能夠支撐雙11,也是在不斷實(shí)踐基于這些理念的思考。
以雙11為例,第一張圖是歷年雙11的零點(diǎn)交易峰值的曲線,最新的2020年雙11的零點(diǎn)峰值是58萬(wàn)筆/秒。每一筆交易還會(huì)有一個(gè)拆單的動(dòng)作,到數(shù)據(jù)庫(kù)系統(tǒng)就是每秒幾百萬(wàn)TPS。
第二張圖是系統(tǒng)零點(diǎn)負(fù)載的瞬間變化曲線,一秒鐘時(shí)間內(nèi)系統(tǒng)負(fù)載瞬間爆發(fā)了145倍。如果不是利用云原生的技術(shù),簡(jiǎn)單依賴傳統(tǒng)技術(shù)根本無(wú)法滿足這種高并發(fā)、彈性、高可用的要求。
幾個(gè)重要趨勢(shì)
從架構(gòu)的角度來(lái)看,數(shù)據(jù)庫(kù)系統(tǒng)的變化如下圖所示:
左邊是傳統(tǒng)的馮諾依曼架構(gòu),右邊是分布式架構(gòu),中間是云原生的架構(gòu),背后大量利用了分布式技術(shù)。這種資源池化帶來(lái)的彈性、高可用的能力顯而易見(jiàn)。
這是今天三種不同的架構(gòu),有以下幾個(gè)趨勢(shì):
大數(shù)據(jù)和數(shù)據(jù)庫(kù)一體化
云原生和分布式技術(shù)結(jié)合
智能化
多模數(shù)據(jù)處理
軟硬件一體化:例如,利用高速網(wǎng)絡(luò)等來(lái)提升數(shù)據(jù)處理系統(tǒng)的性能和效率
安全可信:例如,如何確保數(shù)據(jù)不可更改
結(jié)合阿里云數(shù)據(jù)庫(kù)的核心技術(shù),把以上背景、趨勢(shì)實(shí)例化:
1 云原生關(guān)系型數(shù)據(jù)庫(kù)PolarDB
每個(gè)數(shù)據(jù)塊分成三個(gè)物理節(jié)點(diǎn),不用關(guān)心分布式帶來(lái)的挑戰(zhàn)。比如分庫(kù)分表、分布式的查詢,對(duì)應(yīng)用完全透明,讀寫(xiě)一份數(shù)據(jù),做到了分布式技術(shù)透明化、集中式部署。
PolarDB的存儲(chǔ)與計(jì)算架構(gòu)分離,能在分鐘級(jí)別部署一個(gè)新的計(jì)算節(jié)點(diǎn),或者擴(kuò)容存儲(chǔ)節(jié)點(diǎn)。同時(shí),在性能上做了大量的優(yōu)化,非常好地兼容了生態(tài),比如100%兼容MySQL和PostgreSQL,高度兼容Oracle。
其性價(jià)比在商業(yè)數(shù)據(jù)庫(kù)中有非常大的競(jìng)爭(zhēng)優(yōu)勢(shì),在實(shí)際的客戶案例里,利用PolarDB Oracle兼容版替換現(xiàn)有的Oracle,在性能一樣的前提下,整體成本不到原來(lái)的三分之一。
除了云原生的架構(gòu),也有分布式架構(gòu)版的PolarDB-X。在每個(gè)分區(qū)里面做這種三節(jié)點(diǎn)的架構(gòu),同時(shí),三節(jié)點(diǎn)利用協(xié)議做數(shù)據(jù)的一致性保障,而且三節(jié)點(diǎn)可以做到同城跨AZ部署。
2 一體化設(shè)計(jì)是下一代數(shù)據(jù)分析系統(tǒng)的核心理念
下一代的系統(tǒng)是將云原生技術(shù)和分布式技術(shù)合二為一:上面是分布式,而下面是云原生的方式實(shí)現(xiàn)。每個(gè)分區(qū)都可以享受云原生帶來(lái)彈性、高可用的能力,同時(shí),上面有分布式帶來(lái)的水平拓展的能力,解決高并發(fā)可能帶來(lái)的瓶頸問(wèn)題。
3 云原生數(shù)據(jù)倉(cāng)庫(kù)AnalyticDB
云原生的數(shù)據(jù)倉(cāng)庫(kù)本質(zhì)上也是云原生的架構(gòu),存儲(chǔ)池化、計(jì)算池化、存儲(chǔ)計(jì)算分離,同時(shí)實(shí)現(xiàn)海量存儲(chǔ)彈性、輕量化部署。
利用這些技術(shù)實(shí)現(xiàn)數(shù)據(jù)處理和計(jì)算分析的離在線一體化、數(shù)據(jù)庫(kù)與大數(shù)據(jù)一體化。如同現(xiàn)實(shí)生活中的倉(cāng)庫(kù),所有物品要分門(mén)別類(lèi)放好。所以,數(shù)據(jù)倉(cāng)庫(kù)比較適合已經(jīng)范式化的數(shù)據(jù)格式、業(yè)務(wù)類(lèi)型比較固定的場(chǎng)景,性價(jià)比非常高。
這是我們?cè)谠圃鷶?shù)倉(cāng)方面做的一些工作,我們也利用這套架構(gòu)研發(fā)了AnalyticDB(ADB),支持了淘寶天貓對(duì)實(shí)時(shí)交易數(shù)據(jù)進(jìn)行在線交互式分析和計(jì)算的需求,同時(shí)支持復(fù)雜的離線ETL與在線分析的融合。
4 數(shù)據(jù)湖
數(shù)據(jù)湖,“湖底”的數(shù)據(jù)參差不齊,“湖面”卻是平的。不同于數(shù)據(jù)倉(cāng)庫(kù),數(shù)據(jù)湖的存儲(chǔ)是多源異構(gòu)的,只需要有一個(gè)統(tǒng)一的界面對(duì)這些數(shù)據(jù)進(jìn)行分析、處理。
我們打造了一個(gè)云原生的Serverless數(shù)據(jù)湖解決方案DLA——基于對(duì)象存儲(chǔ),對(duì)多源異構(gòu)的數(shù)據(jù)存儲(chǔ)進(jìn)行統(tǒng)一的計(jì)算和分析,利用云原生的Serverless技術(shù),可以用非常低的成本實(shí)現(xiàn)彈性高可用的能力,并且滿足安全性的要求。
5 多模、智能化和安全可信
在管控這一層實(shí)現(xiàn)異常檢測(cè)、安全診斷,通過(guò)K8S這套編排技術(shù),把多源異構(gòu)的資源管理起來(lái),打造智能化的運(yùn)維管控平臺(tái)。
我們做了全加密的數(shù)據(jù)庫(kù),數(shù)據(jù)進(jìn)入內(nèi)核以后不需要解密。利用安全硬件技術(shù)做了全加密的流程和保護(hù),實(shí)現(xiàn)了不解密也能進(jìn)行數(shù)據(jù)加工和處理。
數(shù)據(jù)業(yè)務(wù)的多樣化帶來(lái)了除了結(jié)構(gòu)化數(shù)據(jù)之外的多模數(shù)據(jù),例如文本、時(shí)序、圖片、圖數(shù)據(jù)等非結(jié)構(gòu)化數(shù)據(jù)。針對(duì)多模數(shù)據(jù),我們?cè)O(shè)計(jì)研發(fā)了基于云原生架構(gòu)的多模數(shù)據(jù)庫(kù)Lindorm以及云原生內(nèi)存數(shù)據(jù)庫(kù)Tair來(lái)支持多模數(shù)據(jù)處理。
最后是生態(tài)工具,從傳輸、備份到管理。傳輸采用DTS,做端到端數(shù)據(jù)的同步,用DBS數(shù)據(jù)備份做多云多端的邏輯備份、物理備份,DMS做企業(yè)級(jí)的開(kāi)發(fā)建模流程,ADAM做針對(duì)基于傳統(tǒng)數(shù)據(jù)庫(kù)和數(shù)據(jù)倉(cāng)庫(kù)開(kāi)發(fā)的應(yīng)用評(píng)估和遷移。
今年疫情期間,各行各業(yè)有一個(gè)非常大的變化——傳統(tǒng)的離線業(yè)務(wù)和在線業(yè)務(wù)在快速融合,線上線下的邊界越來(lái)越模糊。這帶來(lái)的挑戰(zhàn)是,業(yè)務(wù)波峰波谷的變化越來(lái)越劇烈。這是疫情帶來(lái)的必然變化,數(shù)字化的轉(zhuǎn)型也是一個(gè)必然發(fā)生的事實(shí)。
這種背景下,阿里云原生數(shù)據(jù)庫(kù)PolarDB、云原生數(shù)據(jù)倉(cāng)庫(kù)AnalyticDB,不僅支持了雙11,更在疫情期間服務(wù)了各行各業(yè),尤其是在線教育、游戲等傳統(tǒng)的線上線下邊界越來(lái)越模糊的行業(yè)。
(雷鋒網(wǎng)雷鋒網(wǎng)雷鋒網(wǎng))
相關(guān)文章:
對(duì)話阿里達(dá)摩院李飛飛:3次涅槃,阿里數(shù)據(jù)庫(kù)的自研路
雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見(jiàn)轉(zhuǎn)載須知。