成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

重新定義數(shù)據(jù)庫的時刻,阿里云數(shù)據(jù)庫專家?guī)懔私釶OLARDB

smartlion / 1438人閱讀

摘要:演講嘉賓簡介蔡松露子嘉,阿里云云數(shù)據(jù)庫總架構(gòu)師,主要負責阿里云技術(shù)以及阿里云數(shù)據(jù)庫整體架構(gòu)等工作。也就是說以上的四點只是達到了云原生數(shù)據(jù)庫的門檻值,還并不代表是這一個云原生的數(shù)據(jù)庫。

摘要:POLARDB是阿里云ApsaraDB數(shù)據(jù)庫團隊研發(fā)的基于云計算架構(gòu)的下一代關(guān)系型數(shù)據(jù)庫,其最大的特色是計算節(jié)點與存儲節(jié)點分離,借助優(yōu)秀的RDMA網(wǎng)絡(luò)以及最新的塊存儲技術(shù)。POLARDB不但滿足了公有云計算環(huán)境下用戶業(yè)務(wù)快速彈性擴展的剛性需求,同時也滿足了互聯(lián)網(wǎng)環(huán)境下用戶對數(shù)據(jù)庫服務(wù)器高可用的需求。本文就帶領(lǐng)大家了解什么是“云原生數(shù)據(jù)庫”,云原生數(shù)據(jù)庫的標準是什么,如何定義以及為何如此定義?為大家介紹下一代云原生數(shù)據(jù)庫POLARDB的架構(gòu)、產(chǎn)品設(shè)計、未來工作等內(nèi)容。

以下內(nèi)容根據(jù)演講嘉賓視頻分享以及PPT整理而成,PPT下載鏈接。

演講嘉賓簡介:蔡松露(子嘉),阿里云云數(shù)據(jù)庫總架構(gòu)師,主要負責阿里云POLARDB、NoSQL技術(shù)以及阿里云數(shù)據(jù)庫整體架構(gòu)等工作。在搜索引擎、NoSQL數(shù)據(jù)庫、分布式系統(tǒng)、操作系統(tǒng)內(nèi)核等領(lǐng)域有深厚積累與豐富的經(jīng)驗。

本文主要內(nèi)容有:
一、什么是云原生數(shù)據(jù)庫
二、云原生數(shù)據(jù)庫POLARDB架構(gòu)實現(xiàn)
三、云原生數(shù)據(jù)庫POLARDB產(chǎn)品設(shè)計

一、什么是云原生數(shù)據(jù)庫

POLARDB是一個云原生數(shù)據(jù)庫,關(guān)于云原生,演講者團隊在ICDE上做了相關(guān)闡述。本文通過視頻整理,從架構(gòu)和產(chǎn)品設(shè)計方面介紹POLARDB的架構(gòu)和實現(xiàn)。

首先介紹實現(xiàn)云原生的門檻(PPT內(nèi)容如下圖所示),一個云原生的數(shù)據(jù)庫必須擁有出色的性能,有上百萬的QPS,規(guī)模很容易擴展到上百TB,同時在版本升級時盡量滿足零宕機,最重要的一點是百分百兼容開源生態(tài)。門檻的定義,我們可以通過下面例子理解,一輛車可能有很拉風的外觀,又有很快的速度,但是這輛車不能被直接稱為跑車,也有可能是山寨車。也就是說以上的四點只是達到了云原生數(shù)據(jù)庫的門檻值,還并不代表是這一個云原生的數(shù)據(jù)庫。

下面介紹實現(xiàn)云原生的標準,首先我們看下圖中所展示的,這些年數(shù)據(jù)庫的演變。從數(shù)據(jù)庫的規(guī)模來看,我們現(xiàn)如今處在一個數(shù)據(jù)爆炸的時代,從線性增長到如今指數(shù)級別的增長,數(shù)據(jù)庫領(lǐng)域的核心理論也在發(fā)生變化,分布式系統(tǒng)領(lǐng)域中的CAP理論是指導(dǎo)我們設(shè)計系統(tǒng)的原則和基石,但是這個理論在最近幾年也在發(fā)生改變,同時,最近也出現(xiàn)了很多的理論算法,例如paxos,raft等,如何應(yīng)用這些算法到數(shù)據(jù)庫架構(gòu)的設(shè)計中是一個問題。另外,客戶也在發(fā)生變化,以前的數(shù)據(jù)庫客戶來自于銀行,政府或者全世界前500強企業(yè),但現(xiàn)在的形式已經(jīng)發(fā)生了巨大的轉(zhuǎn)變,現(xiàn)在數(shù)據(jù)庫的主體變成了互聯(lián)網(wǎng)+,IOT等公司。此外,基礎(chǔ)設(shè)施也在發(fā)生變化,以前用的是IDC等,現(xiàn)在很多新興的業(yè)務(wù)都往云上遷移,而且在這個過程中一切都是在線的,包括用戶與數(shù)據(jù)。

下圖很好地展示了如今的數(shù)據(jù)爆炸形勢。下圖出自互聯(lián)網(wǎng)女皇米克爾的互聯(lián)網(wǎng)形勢報告,通過報告,下圖將互聯(lián)網(wǎng)大概分為三個時代,第一是PC互聯(lián)網(wǎng)時代,數(shù)據(jù)主要由PC產(chǎn)生;第二是移動互聯(lián)網(wǎng)時代,數(shù)據(jù)產(chǎn)生自衣食住行,社交,工作等多個方面;第三是物聯(lián)網(wǎng)時代,數(shù)據(jù)由傳感器和終端設(shè)備產(chǎn)生,數(shù)據(jù)量從以前的線性增長變成了指數(shù)級別的增長。數(shù)據(jù)爆炸使得處理數(shù)據(jù)的成本越來越大,怎么采集數(shù)據(jù),怎么存儲數(shù)據(jù),怎么搬運分析數(shù)據(jù),都變得愈加復(fù)雜。操作數(shù)據(jù)的復(fù)雜性直接帶來的后果就是,數(shù)據(jù)很難再被利用。但是,在這個新時代,數(shù)據(jù)像是石油,價值非常之大。

下圖解釋了CAP理論是怎么變化的。CAP中C代表一致性,A代表可用性,P代表分區(qū)容忍性,CAP的核心在于指出了當網(wǎng)絡(luò)分區(qū)發(fā)生時,一致性和可用性是無法被完美地保證,無法同時被滿足。C和A不是0和1的關(guān)系,而是99%和1%的關(guān)系,也就是說C和A不是互斥關(guān)系,它們是可以無限逼近的。在有些場景下,P問題和A問題可以建模成相同的問題,谷歌大神Jeff Dean有篇論文中對這個問題做了很好的闡述,他認為在某些場景下,P問題本質(zhì)上就是A問題。P產(chǎn)生可能有兩種情況,第一種,可能是網(wǎng)卡宕機了導(dǎo)致機器發(fā)生了網(wǎng)絡(luò)分區(qū),也可能是交換機掛掉導(dǎo)致一堆機器也掛了。網(wǎng)卡掛掉了,看上去像機器在系統(tǒng)中消失了,但本質(zhì)上和宕機沒有區(qū)別,因為宕機看上去也是機器突然消失了,所以在這種情況下,P問題就是A問題。第二種,機器的硬件不穩(wěn)定,比如磁盤很卡導(dǎo)致響應(yīng)請求很慢,這時候取決于怎么建模, P或A問題都可以解釋。Paxos的核心在于每做一個決定時,多數(shù)派同意就行,可以容忍少數(shù)派不同意,所以Paxos對網(wǎng)絡(luò)分區(qū)是有容忍性的,如果三個副本中的一個副本寫的比較慢或者出現(xiàn)了問題,在Paxos下不會影響其他兩個副本,仍然會正確返回結(jié)果。當發(fā)生大規(guī)模的宕機時,如果系統(tǒng)中使用Paxos利用拓撲容忍單個交換機掛掉的情況。如果多個交換機掛掉,甚至出現(xiàn)了3-4個網(wǎng)絡(luò)分區(qū),作為一個數(shù)據(jù)庫,追求的是百分百的C,其次才是A。但是,時間上,多個交換機全部掛掉的幾率非常小,相反,幾臺機器出問題的概率非常大,所以應(yīng)該著重于解決常見問題,之后使得C和A無限逼近。

下面介紹客戶發(fā)生的變化,如下圖所示??蛻魧?shù)據(jù)庫的需求正不斷演變,首先客戶希望數(shù)據(jù)庫更靈活,尤其對一些創(chuàng)業(yè)公司來說,機會是非常重要的,例如,當出現(xiàn)熱點新聞,或者舉辦雙十一的活動,公司很不希望數(shù)據(jù)庫成為效率的瓶頸。此外,客戶希望降低使用數(shù)據(jù)庫的成本,也希望數(shù)據(jù)庫更高效,能夠花更少的錢買到更多的能力。同時,客戶希望數(shù)據(jù)庫更敏捷,假設(shè)一個公司在舉辦雙十一活動時,系統(tǒng)掛1個小時或1分鐘是完全不同的概念,也就是說客戶希望在有故障發(fā)生時,數(shù)據(jù)庫是靈活的,自治的,能快速從從故障中恢復(fù)過來??偨Y(jié)一下,現(xiàn)階段,客戶對數(shù)據(jù)庫的要求是,彈性,低成本,高性能,業(yè)務(wù)永續(xù)性。

在新時代,數(shù)據(jù)是實時在線產(chǎn)生,收集,清洗,存儲,分析的(即Everything is Online),再實時的應(yīng)用到算法訓(xùn)練模型上。在中國,大概有70%的新興公司都遇到了數(shù)據(jù)化的挑戰(zhàn),數(shù)據(jù)化的挑戰(zhàn)也影響到了客戶的業(yè)務(wù)。如下圖中列出了遇到的一些挑戰(zhàn),主要有高成本,能力不足(沒有專業(yè)的工程師,無法實現(xiàn)數(shù)據(jù)的備份,數(shù)據(jù)挖掘等功能),數(shù)據(jù)孤島化(數(shù)據(jù)散落在各個IDC或自建的機房中,沒有被很好的利用),數(shù)據(jù)規(guī)模很大(難以存儲,搬運,分析,利用)。

以上提到的挑戰(zhàn)促使我們設(shè)計云原生的數(shù)據(jù)庫,根據(jù)總結(jié)的挑戰(zhàn),得出了設(shè)計云原生數(shù)據(jù)庫的標準,如下圖所示。首先,云原生數(shù)據(jù)庫必須是HTAP的,是一整套解決方案,不僅滿足TP的需求也滿足AP的需求,使得TP和AP不需要遠程同步,再做數(shù)據(jù)的轉(zhuǎn)換,數(shù)據(jù)之間沒有延遲,同時,能用一份存儲同時完成TP和AP,明顯降低了用戶的存儲成本;另外,云原生數(shù)據(jù)庫應(yīng)是serverless的,可以將存儲進行分級,將成本降到最低,并且在serverless下的升降配非常簡單;最后,云原生數(shù)據(jù)庫必須是智能化的,能提供一些SQL優(yōu)化,索引等,能實時監(jiān)控診斷,也能提供管理系統(tǒng)方便成本控制。

下面將詳細介紹做HTAP的原因,如下圖所示。首先,HTAP對于分析來說,不存在任何延遲,對于實時性要求較高的業(yè)務(wù)是非常重要的,比如說實時反欺詐,過海關(guān)時需要調(diào)查的信息。同時,在架構(gòu)中不需要同步,共用一份存儲后,成本也會降低,不需要額外復(fù)制副本。AP和TP在計算層是被分開的,物理上完全隔離,可以在不同的維度擴展AP和TP,當AP的需求多,TP需求少時,可以擴展AP的結(jié)點,反之,擴展TP的結(jié)點,同時,AP也對TP不會造成干擾。

下面介紹實現(xiàn)Serverless的原因,如下圖所示。原因主要在于兩個方面,一個是成本,客戶只為使用或存儲付費,而且客戶可以根據(jù)自己的業(yè)務(wù)模型定制不同的存儲級別,比如說冷存儲或熱存儲。這使得用戶的消費呈現(xiàn)階梯性,不會出現(xiàn)很大的躍遷。用戶在剛辦網(wǎng)站,流量還很少時,這時候可以采用serverless架構(gòu),在存儲層使用冷存儲,雖然延遲可能會大一些,但這是最經(jīng)濟的做法。隨著業(yè)務(wù)的擴大,也可以在計算層繼續(xù)使用Serverless架構(gòu),在存儲層將冷存儲換成熱存儲,業(yè)務(wù)再次擴大時,可以在計算層加一些結(jié)點,這樣很大的提高了靈活性。

下面介紹提供智能化的原因,如下圖所示。很多創(chuàng)業(yè)公司一開始支出較少,各方面的人才配置并不會齊全,云原生數(shù)據(jù)庫的智能化能夠告訴這些創(chuàng)業(yè)公司,該如何應(yīng)對遇到的一些問題。同時,系統(tǒng)需要告訴用戶此時此刻全鏈路的狀況,存在哪些問題,如何解決。有了這些功能之后,能幫助用戶從小白成為數(shù)據(jù)庫專家,分布式系統(tǒng)專家,財務(wù)安全專家。

二、云原生數(shù)據(jù)庫POLARDB架構(gòu)實現(xiàn)

下文從架構(gòu),產(chǎn)品設(shè)計與未來工作介紹POLARDB。下圖展現(xiàn)了POLARDB的整體架構(gòu),藍色的線代表數(shù)據(jù)流,紅色的線為控制流??刂屏髦饕撠烶OLARDB生命周期的管理,數(shù)據(jù)流展現(xiàn)數(shù)據(jù)在整個系統(tǒng)中流轉(zhuǎn)的情況。在設(shè)計POLARDB時遵循以下四個原則,第一為存儲計算分離,全用戶態(tài),零拷貝。在架構(gòu)的存儲層使用三副本,采用變種raft算法,允許亂序的提交確認和應(yīng)用,亂序也會引入一些問題。在設(shè)計POLARDB時,大量采用新硬件,例如RDMA,3D XPOINT等。

下面介紹進行存儲計算分離的原因,如下圖所示,上面一層為計算層,下面一層為存儲層,兩層使用RDMA連接。在計算層有一個主結(jié)點負責讀寫請求,還有一些備結(jié)點,只負責接收讀請求。存儲計算分離的好處在于對一體化架構(gòu)的數(shù)據(jù)庫進行水平切分,相當于切成了兩層,對于這兩層以前必須使用相同的硬件,現(xiàn)在可以根據(jù)這兩層不同的特點定制不同的硬件策略。例如,在計算層更關(guān)注CPU和內(nèi)存,在存儲層更關(guān)注I/O響應(yīng)時間和I/O成本,所以分離之后,針對這兩層做出的硬件差別是很大的,這種差別又會帶來新的紅利,這些紅利又可以釋放給用戶,這就是有時候技術(shù)優(yōu)秀,成本還低的原因。在計算層,計算不持有數(shù)據(jù),很方便進行遷移,在存儲層,從原來大一統(tǒng)的架構(gòu)中拆分出來,可以針對存儲(分布式文件系統(tǒng))有自己的復(fù)制策略,高可用的策略。相較于以前大一統(tǒng)的架構(gòu)設(shè)計,如果對存儲做一些策略會干擾到計算,對計算做策略可能干擾到存儲。存儲分離出來后,很方便進行池化,池化的好處在于沒有碎片,也不會有不均衡的情況出現(xiàn)。如果有不均衡,存儲層可以自己進行遷移。存儲計算分離也能方便實現(xiàn)serverless。

下圖展示了全用戶態(tài)的設(shè)計,有用戶態(tài)的文件系統(tǒng),有Libpfs(分布式文件系統(tǒng)),有本地類似于網(wǎng)關(guān)的polarswitch,有用戶態(tài)的IO棧,用戶態(tài)的網(wǎng)絡(luò)。POLARDB性能的提升很大一部分來自于全用戶態(tài)和對新硬件的利用。消除進程切換,以及內(nèi)存拷貝帶來的收益非常大。

下圖是對文件系統(tǒng)的詳細解釋,文件系統(tǒng)的特點是使用POSIX API,對DB層的侵入較小。同時,它是一個靜態(tài)庫,直接鏈接到數(shù)據(jù)庫進程中。分布式系統(tǒng)的元數(shù)據(jù)是通過PAXOS進行同步的,帶來的好處是,多臺機器看到的是同一個目錄,當用戶去操作目錄時,PAXOS可以在底部做一個串行,所以不會存在數(shù)據(jù)沖突的問題。在每個計算層的節(jié)點上,都會有對元數(shù)據(jù)的緩存,目的是做訪問加速。

下圖展示了ParallelRaft算法,亂序會讓寫入加速,帶來接近翻倍的性能提升。

架構(gòu)也用到了大量的新硬件,如下圖所示,包括RDMA,3D XPOINT,演講者團隊正在研究的Open-Channel SSD。雖然SSD已經(jīng)工業(yè)化很多年了,主流的存儲都是SSD,但是目前對SSD的應(yīng)用還存在很多問題。因為SSD的軟件和硬件并不是非常匹配,導(dǎo)致我們對SSD的使用存在浪費,浪費一方面來自性能以及壽命。Open-Channel SSD方式對IO性能和壽命的影響最終反映到成本上,都比以前有了很大的提升。

下圖展現(xiàn)了POLARDB和MySQL的對比結(jié)果,讀性能相較于MySQL提高了5-6倍,寫性能提高了3倍左右。同時,性能也在不斷提升。

三、云原生數(shù)據(jù)庫POLARDB產(chǎn)品設(shè)計

接下來介紹一些產(chǎn)品設(shè)計的特點,主要從五個維度設(shè)計產(chǎn)品,如下圖所示,首先是性能,應(yīng)該很方便地就能擴展到上百萬QPS,而且RT很低;存儲可以很方便的擴展到100TB,也很方便的縮回來;彈性上,版本升級時,盡量做到零宕機,在存儲層,計算層可以方便進行scale-up以及scale-out;目前100%能兼容MySQL5.6;在可用性方面,承諾99.95%的可用性,99.999%的可靠性。在數(shù)據(jù)安全方面,演講者團隊會做定時的snapshot,并實時上傳到OSS,提供物理備份和邏輯備份。在可用性上,主結(jié)點和readonly結(jié)點可以很方便的進行角色切換。

產(chǎn)品設(shè)計上是讀寫分離的,如下圖所示,有一個結(jié)點是主結(jié)點接收讀寫請求,可以很方便地進行scale-up,其他結(jié)點都是只讀結(jié)點,只讀結(jié)點可以很方便的進行scale-out。讀能力和只讀結(jié)點的數(shù)量呈線性正比。

可擴展性方面,如下圖所示,可以在計算層做scale-out和scale-up,從用戶看來存儲層是在做scale-up,但因為底層是分布式文件系統(tǒng),當存儲水位比較高時可以很方便的加入新的存儲結(jié)點,所以本質(zhì)上是scale-out。

在數(shù)據(jù)遷移方面,如下圖所示,假設(shè)你是一個RDS的用戶,通過備份到OSS,在POLARDB的實例里加載OSS上的備份的數(shù)據(jù)新生成POLARDB的實例,也可以通過DTS進行數(shù)據(jù)實時的遷移。在未來還可以提供一種方式,將POLARDB做成slave,直接掛到RDS的結(jié)點上,把數(shù)據(jù)實時的同步。如果用戶使用的是第三方商用的數(shù)據(jù)庫,因為DTS支持的數(shù)據(jù)庫類型非常多,所以建議使用DTS。

在數(shù)據(jù)可靠性上,如下圖所示,目前在官網(wǎng)上購買到的版本是在一個AZ里面的三副本。

未來工作中,在DB引擎層未來會提供多寫的能力,而且數(shù)據(jù)庫引擎層會引入新的組件例如CacheFusion,最大提升計算層的性能。未來會支持更多的數(shù)據(jù)庫類型,在存儲層會應(yīng)用更多新的硬件,對某些IO進行加速,會用Open-Channel SSD對性能進一步提升,成本進一步降低。在掃描時,做計算下推,使回到計算層的數(shù)據(jù)盡量少。演講者希望現(xiàn)有的分布式文件系統(tǒng)和數(shù)據(jù)庫聯(lián)系的更緊密,能感知InnoDB的語義。

原文鏈接

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/17751.html

相關(guān)文章

  • 重新定義數(shù)據(jù)庫時刻,阿里數(shù)據(jù)庫專家帶你了解POLARDB

    摘要:演講嘉賓簡介蔡松露子嘉,阿里云云數(shù)據(jù)庫總架構(gòu)師,主要負責阿里云技術(shù)以及阿里云數(shù)據(jù)庫整體架構(gòu)等工作。也就是說以上的四點只是達到了云原生數(shù)據(jù)庫的門檻值,還并不代表是這一個云原生的數(shù)據(jù)庫。 摘要:POLARDB是阿里云ApsaraDB數(shù)據(jù)庫團隊研發(fā)的基于云計算架構(gòu)的下一代關(guān)系型數(shù)據(jù)庫,其最大的特色是計算節(jié)點與存儲節(jié)點分離,借助優(yōu)秀的RDMA網(wǎng)絡(luò)以及最新的塊存儲技術(shù)。POLARDB不但滿足了公...

    alin 評論0 收藏0
  • 阿里發(fā)布新一代數(shù)據(jù)庫產(chǎn)品POLARDB

    摘要:月日,阿里云發(fā)布全新一代云數(shù)據(jù)庫產(chǎn)品,采用第三代分布式共享存儲架構(gòu),實現(xiàn)計算節(jié)點和存儲節(jié)點分離,使計算引擎和存儲引擎均擁有快速擴展能力。而在云數(shù)據(jù)庫廠商中,阿里云則實現(xiàn)了性能的倍,成為世界級的云數(shù)據(jù)庫引導(dǎo)者。9月21日,阿里云發(fā)布全新一代云數(shù)據(jù)庫產(chǎn)品POLARDB,采用第三代分布式共享存儲架構(gòu),實現(xiàn)計算節(jié)點和存儲節(jié)點分離,使計算引擎和存儲引擎均擁有快速擴展能力。它是首個國產(chǎn)的通用高性能自研數(shù)...

    JaysonWang 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<