焦旭
“你好,我是阿里云數(shù)據(jù)庫(kù)團(tuán)隊(duì)負(fù)責(zé)人,我叫鳴嵩(曹偉)?!背醮我?jiàn)面的印象,讓筆者覺(jué)得鳴嵩并不像一個(gè)IT男,形象陽(yáng)光、精神抖擻、嘴角帶著一點(diǎn)點(diǎn)微笑。就在筆者還在回味《復(fù)聯(lián)3》中小蜘蛛和奇異博士有關(guān)“花名”的梗時(shí),鳴嵩讓我有了新的認(rèn)識(shí)。
采訪(fǎng)過(guò)程中,鳴嵩的語(yǔ)速一直很快,語(yǔ)言簡(jiǎn)練,思維清晰,不斷出現(xiàn)的術(shù)語(yǔ)和數(shù)據(jù)說(shuō)明了他的專(zhuān)業(yè)性,喜歡列舉實(shí)例。整個(gè)人總是帶著一股濃郁的自信。好像,每一個(gè)阿里人都是那么的自信。
那些在一線(xiàn)才知道的
一位工作在云數(shù)據(jù)庫(kù)一線(xiàn)的開(kāi)發(fā)和運(yùn)維人員,在云棲社區(qū)做了以下分享:
“我在4天前,手工做了一個(gè)備份,數(shù)據(jù)庫(kù)比較大,3T,你們說(shuō)差不多要70個(gè)小時(shí)備份,這個(gè)…有沒(méi)有什么辦法加快一點(diǎn),我老板還著急要數(shù)據(jù)呢”
“你好,我們公司有個(gè)數(shù)據(jù)庫(kù),想遷到阿里云RDS上,對(duì)RDS的產(chǎn)品品質(zhì)我們很滿(mǎn)意,只是我們的數(shù)據(jù)庫(kù)有10T,請(qǐng)問(wèn)一下,支持這么大的實(shí)例么?”
“你好,我用了你們的MySQL數(shù)據(jù)庫(kù),最近幾天在做活動(dòng),主庫(kù)壓力比較大,只讀實(shí)例就延遲了,現(xiàn)在看過(guò)去貌似很難跟上,有什么辦法么?”
這些抱怨也好,吐槽也罷,都來(lái)自云數(shù)據(jù)庫(kù)用戶(hù)的真實(shí)案例,總結(jié)起來(lái),傳統(tǒng)的云數(shù)據(jù)庫(kù)由于自身架構(gòu)原因,會(huì)遇到很多問(wèn)題:
讀寫(xiě)實(shí)例和只讀實(shí)例各自擁有一份獨(dú)立的數(shù)據(jù),用戶(hù)購(gòu)買(mǎi)只讀實(shí)例,不僅需要付出計(jì)算的成本,也需要付出存儲(chǔ)資源的成本;新建一個(gè)只讀實(shí)例需要重新拷貝數(shù)據(jù),考慮到網(wǎng)絡(luò)限流,速度不會(huì)很快;傳統(tǒng)備份技術(shù),由于涉及到拷貝數(shù)據(jù),并上傳遠(yuǎn)程存儲(chǔ),速度因此也受網(wǎng)絡(luò)影響等等。
隨著數(shù)據(jù)庫(kù)數(shù)據(jù)量的增大,各行各業(yè)對(duì)云數(shù)據(jù)庫(kù)業(yè)務(wù)的需求增加,這些問(wèn)題就會(huì)不斷加劇。鳴嵩說(shuō):“這些困擾大家已久的問(wèn)題, PolarDB都可以從本質(zhì)上解決,而不是想個(gè)trick繞過(guò)去?!?/p>
核心優(yōu)勢(shì)有5個(gè)
PolarDB是阿里云數(shù)據(jù)庫(kù)團(tuán)隊(duì)過(guò)去3年間自主研發(fā)的一個(gè)企業(yè)級(jí)數(shù)據(jù)庫(kù)。鳴嵩總結(jié)了其5大核心優(yōu)勢(shì)。
第一,兼容性。PolarDB兼容了當(dāng)下最主流的、開(kāi)發(fā)者最喜歡用的MySQL和PostgreSQL兩種數(shù)據(jù)庫(kù)生態(tài),這意味著MySQL和PostgreSQL的老用戶(hù),在一行代碼不用改的前提下,可以把業(yè)務(wù)從原來(lái)的開(kāi)源數(shù)據(jù)庫(kù)遷移到阿里云的企業(yè)數(shù)據(jù)庫(kù)平臺(tái)上。
鳴嵩說(shuō):“從第一天起,我們做任何東西,不接受99%的兼容,我們只有100%的兼容。這是不會(huì)妥協(xié)的?!?/p>
第二,性能好。對(duì)比MySQL有6倍性能提升及相對(duì)于商業(yè)數(shù)據(jù)庫(kù)實(shí)現(xiàn)大幅度降低成本。拿Sysbench跑Benchmark做測(cè)試,開(kāi)源的原生數(shù)據(jù)庫(kù)性能是每秒3.5萬(wàn)的TPS,PolarDB的性能可以達(dá)到22萬(wàn),有6倍的提升,但是價(jià)格不變。
第三,容量大。傳統(tǒng)的數(shù)據(jù)庫(kù)會(huì)受限于物理機(jī)能的磁盤(pán)大小,數(shù)據(jù)增長(zhǎng)后面臨著要么擴(kuò)容,要么定期遷移,這種方案不僅開(kāi)發(fā)成本高,還會(huì)造成業(yè)務(wù)中斷。PolarDB則支持單庫(kù)容量擴(kuò)展至上百TB以及計(jì)算引擎能力及存儲(chǔ)能力的秒級(jí)擴(kuò)展能力。
第四,技術(shù)更新?lián)Q代。云數(shù)據(jù)庫(kù)的發(fā)展趨勢(shì)出現(xiàn)了一種更好的模式,Serverless按使用量付費(fèi)??雌饋?lái)只是計(jì)費(fèi)模型的一種變化,事實(shí)上對(duì)技術(shù)本身有很大挑戰(zhàn)。Serverless意味著彈性擴(kuò)展、調(diào)度能力、資源隔離需要做得更加精細(xì),使得能夠支持這種計(jì)費(fèi)模式。
鳴嵩直言:“PolarDB的目標(biāo)就是從過(guò)去云計(jì)算的1.0時(shí)代走向云計(jì)算的2.0時(shí)代。數(shù)據(jù)庫(kù)從經(jīng)典時(shí)代走向Serverless時(shí)代?!?/p>
第五,一寫(xiě)多讀。鳴嵩以淘寶為例,介紹道:“電商業(yè)務(wù),讀的壓力要比寫(xiě)的壓力大很多,傳統(tǒng)的‘一主多從模式存在空間浪費(fèi)和擴(kuò)容時(shí)間長(zhǎng)的弊病?!?/p>
PolarDB讓“一主多從”共享統(tǒng)一一個(gè)數(shù)據(jù)副本,同一個(gè)實(shí)例的所有節(jié)點(diǎn)(包括讀寫(xiě)節(jié)點(diǎn)和只讀節(jié)點(diǎn))都實(shí)現(xiàn)訪(fǎng)問(wèn)存儲(chǔ)節(jié)點(diǎn)上的同一份數(shù)據(jù),使得數(shù)據(jù)備份耗時(shí)實(shí)現(xiàn)秒級(jí)響應(yīng),實(shí)現(xiàn)了無(wú)縫擴(kuò)展,不管數(shù)據(jù)量有多大,幾分鐘內(nèi)即可實(shí)現(xiàn)只讀副本擴(kuò)容,以及數(shù)據(jù)的全量備份。
何謂國(guó)之重器
據(jù)了解,PolarDB發(fā)布以來(lái),在公有云上已經(jīng)累計(jì)了超過(guò)600家用戶(hù),涵蓋金融、電商、游戲、IoT等各行各業(yè)。
在被問(wèn)及為何阿里云在已經(jīng)擁有關(guān)系型數(shù)據(jù)庫(kù)的情況下,仍舊開(kāi)發(fā)出PolarDB時(shí),鳴嵩表示:“企業(yè)級(jí)數(shù)據(jù)庫(kù)一定是國(guó)之重器。”
鳴嵩介紹道,企業(yè)級(jí)數(shù)據(jù)庫(kù),往往要求零宕機(jī),7×24小時(shí)的可服務(wù)性,數(shù)據(jù)絕對(duì)不能丟。這是對(duì)數(shù)據(jù)庫(kù)技術(shù)更苛刻的要求,同時(shí)還需要高安全性和無(wú)限擴(kuò)展能力?!癙olarDB的目標(biāo)就是將來(lái)能在有關(guān)國(guó)計(jì)民生的行業(yè)、金融產(chǎn)業(yè)或者政府核心業(yè)務(wù)中用上國(guó)產(chǎn)自研的數(shù)據(jù)庫(kù)。我認(rèn)為,這是我們這一代做數(shù)據(jù)庫(kù)技術(shù)人的使命。”
此外,鳴嵩還指出一種技術(shù)趨勢(shì)。過(guò)去十年,大量互聯(lián)網(wǎng)企業(yè)為了解決業(yè)務(wù)發(fā)展數(shù)據(jù)膨脹的問(wèn)題,都在使用一類(lèi)基于Share Nothing架構(gòu)做水平擴(kuò)展的數(shù)據(jù)庫(kù),演化出了很多NoSQL和NewSQL產(chǎn)品,但這類(lèi)產(chǎn)品都有對(duì)使用場(chǎng)景的假設(shè)和限制。而ORACLE、DB2、Aurora、PolarDB這些企業(yè)級(jí)的通用數(shù)據(jù)庫(kù),都在使用Share Everything共享存儲(chǔ)技術(shù)。鳴嵩判斷,在未來(lái)的5年之內(nèi),隨著云時(shí)代的到來(lái),隨著企業(yè)級(jí)云數(shù)據(jù)庫(kù)的興起,Share Everything基于共享存儲(chǔ)架構(gòu)的數(shù)據(jù)庫(kù)會(huì)成為新的熱點(diǎn)。
性能源于對(duì)硬件的訴求
為了追求性能的不斷提升,技術(shù)人員對(duì)于硬件的訴求也在不斷提高。鳴嵩介紹了PolarDB所采用的領(lǐng)先的硬件技術(shù):包括使用3DXpoint存儲(chǔ)介質(zhì)的Optane存儲(chǔ)、NVMe SSD和RoCE RDMA網(wǎng)絡(luò)。同時(shí)面向新硬件架構(gòu)實(shí)現(xiàn)軟硬一體優(yōu)化:從數(shù)據(jù)庫(kù)、文件系統(tǒng)到網(wǎng)絡(luò)通訊協(xié)議、分布式存儲(chǔ)系統(tǒng)和設(shè)備驅(qū)動(dòng),實(shí)現(xiàn)縱貫軟件棧各層次的整個(gè)IO鏈條的深度優(yōu)化。
談及Optane存儲(chǔ)卡,鳴嵩毫無(wú)吝嗇地給了一個(gè)贊,他表示:“3D XPoint介質(zhì)比NAND顆粒提供了更好的I/O延遲和I/O QoS穩(wěn)定性,因此在數(shù)據(jù)庫(kù)整體QoS上我們?cè)?5%延遲的指標(biāo)上提升了76%的性能。我個(gè)人認(rèn)為這也是非常有工匠精神的一個(gè)介質(zhì)、一個(gè)產(chǎn)品。如果說(shuō)SSD把HDD延遲降低了一個(gè)數(shù)量級(jí),3D XPoint又把SSD降低了一個(gè)數(shù)量級(jí)”
鳴嵩認(rèn)為,Optane很可能會(huì)打破傳統(tǒng)的Memory金字塔體系,過(guò)去的模型是CPU、內(nèi)存、SSD的三角形結(jié)構(gòu),內(nèi)存是很快的但是比較小,掉電會(huì)丟;SSD是很大,延遲比較高,吞吐有限,但是掉電數(shù)據(jù)不會(huì)丟。而Optane在這個(gè)體系中加入了一層Apache Pass或稱(chēng)之為NVDIMM(非易失性隨機(jī)訪(fǎng)問(wèn)存儲(chǔ)器)。新的體系變成了CPU、內(nèi)存、NVDIMM和SSD,新加入的結(jié)構(gòu),性能和內(nèi)存很接近,而且空間可以很大,掉電不會(huì)丟。
最后鳴嵩表示,Apache Pass未來(lái)很大程度上會(huì)改變數(shù)據(jù)庫(kù)軟件,也意味著數(shù)據(jù)庫(kù)的性能可以再向上提高一個(gè)檔次。