最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

DTCC 2023專家解讀丨GaussDB技術(shù)解讀系列之HTAP方向的探索與發(fā)展

2023-08-23 09:52 作者:Gauss松鼠會(huì)  | 我要投稿

8月16日,以“數(shù)智賦能 共筑未來(lái)”為主題的第14屆中國(guó)數(shù)據(jù)庫(kù)技術(shù)大會(huì)(DTCC 2023)在北京舉行,華為云數(shù)據(jù)庫(kù)技術(shù)專家張樹杰分享了《GaussDB在HTAP上的探索與發(fā)展》主題演講,介紹了華為云GaussDB在HTAP方向的思考與最新成果。

以下為演講實(shí)錄:

什么是HTAP?

大家好!今天很高興和大家分享《GaussDB在HTAP上的探索和發(fā)展》。

首先,我們看一下TP和AP的特點(diǎn)。TP一般是做交易型的業(yè)務(wù),它的數(shù)據(jù)量通常來(lái)說(shuō)比較小,在GB~TB的范圍內(nèi),它要求低時(shí)延、高吞吐,同時(shí)對(duì)高可用、故障恢復(fù)要求較高。AP一般用于對(duì)歷史數(shù)據(jù)做分析,根據(jù)數(shù)據(jù)分析的結(jié)論為企業(yè)的商業(yè)決策提供一些支撐,因此AP對(duì)時(shí)延和吞吐的要求沒(méi)有那么高,主要面對(duì)數(shù)據(jù)量大、查詢偏復(fù)雜的場(chǎng)景。

早期數(shù)據(jù)庫(kù)對(duì)TP、AP區(qū)分沒(méi)有那么明顯,所有業(yè)務(wù)都放在同一個(gè)數(shù)據(jù)庫(kù)上。隨著時(shí)間的發(fā)展,數(shù)據(jù)量越來(lái)越大,人們傾向于把TP放在數(shù)據(jù)庫(kù)層面上,AP由數(shù)據(jù)倉(cāng)庫(kù)解決,中間通過(guò)ETL工具把TP的數(shù)據(jù)傳輸?shù)紸P數(shù)倉(cāng)上。這種模式興起和盛行于20世紀(jì)90年代并持續(xù)到現(xiàn)在,我們一直還在使用著TP、AP混合的架構(gòu)。

隨著CPU算力、內(nèi)存容量、磁盤IO效率發(fā)生變化,一些老的軟件體系結(jié)構(gòu)隨著新硬件、新算法的發(fā)展都在發(fā)生改變。所以在2010年左右,業(yè)內(nèi)開始考慮把TP和AP同時(shí)融合到同一個(gè)數(shù)據(jù)庫(kù)里,通過(guò)這種方式提升數(shù)據(jù)庫(kù)處理數(shù)據(jù)的能力。

關(guān)于HTAP,目前還沒(méi)有一個(gè)明確的定義,即使有一些公司或者個(gè)人給出了定義,但實(shí)際上也不是特別精確。我們總結(jié)了HTAP有兩個(gè)關(guān)鍵特點(diǎn):

一個(gè)是采用In-Memory的架構(gòu)。我們可以看到,無(wú)論是老牌的數(shù)據(jù)庫(kù)廠商,還是新興的數(shù)據(jù)庫(kù)廠商,都不約而同采用In-Memory的架構(gòu)來(lái)實(shí)現(xiàn)HTAP。

另外一個(gè)是實(shí)時(shí)。我們當(dāng)前的架構(gòu)主要是,交易型的業(yè)務(wù)在行存的數(shù)據(jù)庫(kù)上,分析型的業(yè)務(wù)在列存的數(shù)倉(cāng)上,中間通過(guò)ETL工具傳輸數(shù)據(jù)。這個(gè)架構(gòu)的問(wèn)題是,它的數(shù)據(jù)新鮮度不夠好,比如說(shuō)先前在互聯(lián)網(wǎng)應(yīng)用方面,我們經(jīng)常做一些個(gè)性化的用戶推薦,在給用戶推薦感興趣的商品時(shí),會(huì)在登錄時(shí)對(duì)它進(jìn)行一個(gè)用戶畫像,根據(jù)用戶畫像的結(jié)果推薦產(chǎn)品,這是一種實(shí)時(shí)分析的能力。另外就是防詐騙系統(tǒng),需要實(shí)時(shí)的響應(yīng),實(shí)時(shí)分析這筆交易是否為詐騙交易。這種實(shí)時(shí)性的特點(diǎn),對(duì)HTAP方案提出了新的要求。我們當(dāng)前的HTAP架構(gòu)主要應(yīng)對(duì)實(shí)時(shí)AP分析的能力,實(shí)時(shí)AP對(duì)性能上有一些影響,它隨著數(shù)據(jù)新鮮度,也就是實(shí)時(shí)性要求變高,數(shù)據(jù)庫(kù)的性能會(huì)有一些下降。

HTAP架構(gòu)模式有哪些?

我們?cè)谠O(shè)計(jì)HTAP架構(gòu)時(shí)要考慮更多的維度,比如說(shuō)硬件、資源隔離,從這些維度考慮,HTAP的架構(gòu)會(huì)多種多樣,加上應(yīng)對(duì)的用戶場(chǎng)景不同,會(huì)催化出不同的HTAP架構(gòu)模式。我們對(duì)當(dāng)前主流的HTAP架構(gòu)進(jìn)行了以下分類:

1. IN-Memory Store模式

這種模式在同一個(gè)集群內(nèi)對(duì)行存引擎做了增強(qiáng),用空間換時(shí)間,在內(nèi)存里保存一份列存數(shù)據(jù),我們可以把他看成是一個(gè)列存索引,這種架構(gòu)下的數(shù)據(jù)新鮮度比較好,行存和列存的數(shù)據(jù)完全同步,在行存和列存中間,會(huì)有一個(gè)Delta表記錄增刪改操作帶來(lái)的增量數(shù)據(jù),后臺(tái)有進(jìn)程定期將Delta表里的數(shù)據(jù)Merge到列存引擎。但是這種架構(gòu)的擴(kuò)展性一般,資源的隔離性不佳,能夠支撐的列存的數(shù)據(jù)量也是有限度的,因此這種架構(gòu)適用于TP為主,實(shí)時(shí)AP為輔的業(yè)務(wù)模型。

2. 主備架構(gòu)模式

這種模式下主機(jī)上是行存模式,應(yīng)對(duì)TP業(yè)務(wù)負(fù)載,在只讀的備機(jī)上是列存模式,應(yīng)對(duì)AP的業(yè)務(wù)負(fù)載,主備之間通過(guò)物理復(fù)制或邏輯復(fù)制的方式實(shí)現(xiàn)數(shù)據(jù)同步。這種方式的擴(kuò)展性、資源隔離性都比較好,但是數(shù)據(jù)的新鮮度取決于主備之間的數(shù)據(jù)傳輸模式,如果采用同步復(fù)制,則主備的數(shù)據(jù)新鮮度較好,但是對(duì)主機(jī)的事務(wù)吞吐量會(huì)有所影響;如果采用異步復(fù)制模式,則主備的數(shù)據(jù)新鮮度取決于數(shù)據(jù)的延遲。

3. IN-Memory Computing模式

這種模式將列式內(nèi)存引擎和數(shù)據(jù)庫(kù)對(duì)接,由數(shù)據(jù)庫(kù)負(fù)責(zé)TP業(yè)務(wù),列式內(nèi)存引擎負(fù)責(zé)AP業(yè)務(wù)。由于其部署在云上,因此有很好的計(jì)算彈性,數(shù)據(jù)庫(kù)和列式內(nèi)存引擎之間通過(guò)邏輯復(fù)制同步數(shù)據(jù),數(shù)據(jù)的延遲小于100ms,能夠較好的兼顧數(shù)據(jù)新鮮度和性能之間的平衡。

4.?主列存+增量行存模式

通過(guò)主列存+增量行存的方式既能夠較好的支撐TP業(yè)務(wù),也能夠應(yīng)對(duì)AP業(yè)務(wù),在TP/AP性能上做了一些均衡。其中增量行存可以看做是delta表,應(yīng)對(duì)TP中的增刪改操作,保證增刪改操作的性能和TP系統(tǒng)基本一致,同時(shí)通過(guò)主列存引擎對(duì)AP業(yè)務(wù)進(jìn)行加速,當(dāng)然在做AP業(yè)務(wù)時(shí),會(huì)同時(shí)訪問(wèn)增量數(shù)據(jù)和列存數(shù)據(jù),達(dá)成數(shù)據(jù)的一致性。

我們有了這么多模式之后,可以思考兩個(gè)問(wèn)題。一個(gè)是到底什么樣的架構(gòu)才是真正的HTAP架構(gòu)?我個(gè)人的觀點(diǎn)是沒(méi)有適合的定義,因?yàn)樵诓煌臉I(yè)務(wù)場(chǎng)景下,TP和AP的占比不一樣,包括周邊各種環(huán)境,各種因素都不同,每個(gè)用戶的選擇也會(huì)不一樣。包括我們?cè)贖TAP研發(fā)過(guò)程中接觸到很多用戶,每個(gè)用戶都提出很多要求,像Orcale這種架構(gòu)更適合重TP、輕AP的場(chǎng)景,而HANA這種架構(gòu)更多是做偏AP分析型的應(yīng)用。如果我們以TP、AP業(yè)務(wù)占比做一個(gè)橫軸的話,每個(gè)架構(gòu)在上面都有一個(gè)獨(dú)立的坐標(biāo)點(diǎn)。

另外一個(gè)問(wèn)題,我們當(dāng)前這些HTAP的主流架構(gòu)能不能取代以前的那種TP+ETL+AP的架構(gòu)?從目前看,如果我們把HTAP定義為實(shí)時(shí)TP+實(shí)時(shí)AP,實(shí)際上是不能取代的,因?yàn)門P+ETL+AP這種架構(gòu),AP的數(shù)據(jù)量遠(yuǎn)遠(yuǎn)大于當(dāng)前HTAP的主流架構(gòu)所能支撐的AP數(shù)據(jù)量。

GaussDB對(duì)HTAP的思考

在GaussDB HTAP開發(fā)過(guò)程中,我們總結(jié)了以下實(shí)現(xiàn)HTAP架構(gòu)需要關(guān)注的核心技術(shù):

第一,透明路由。它之所以成為關(guān)鍵的原因是因?yàn)樵黾恿丝蛻舻囊子眯?,提升了HTAP產(chǎn)品的商用價(jià)值。這里面有兩個(gè)觀點(diǎn),一個(gè)是如果HTAP基于行存和冗余列存這種方式,需要判斷哪些數(shù)據(jù)被冗余到列存里面來(lái),因此提供一種自動(dòng)化的方法根據(jù)業(yè)務(wù)特點(diǎn)來(lái)選擇加載列存數(shù)據(jù),并對(duì)用戶透明就非常有意義。另外,TP業(yè)務(wù)要路由到行存引擎,AP業(yè)務(wù)路由到列存引擎,目前大部分架構(gòu)還需要通過(guò)Hint的方式來(lái)實(shí)現(xiàn)業(yè)務(wù)分流,如果借助優(yōu)化器的代價(jià)系統(tǒng)、以及當(dāng)前的AI4DB技術(shù),能夠更大程度的提供業(yè)務(wù)分流的準(zhǔn)確性,從而對(duì)用戶透明,提高系統(tǒng)的易用性。

第二,性能提升。我們把TP和AP融合起來(lái)比較困難的關(guān)鍵原因,主要是因?yàn)锳P查詢的復(fù)雜度比較高。如果是一個(gè)純TP數(shù)據(jù)庫(kù),一些常規(guī)執(zhí)行優(yōu)化技術(shù),比如說(shuō)并行、編譯執(zhí)行、向量化執(zhí)行,TP上雖然也有,但實(shí)際上很難有大的作為,因?yàn)門P要求的是低時(shí)延、高吞吐,這種情況下這些技術(shù)都有自己的啟動(dòng)代價(jià),這些啟動(dòng)代價(jià)會(huì)對(duì)TP的性能產(chǎn)生很大的影響。在TP上,如果我們把HTAP里面的AP融入進(jìn)來(lái),這些技術(shù)就能大有可為,我們?cè)谶@些技術(shù)的基礎(chǔ)上對(duì)復(fù)雜查詢進(jìn)行加速,可以很好地支撐我們現(xiàn)在的性能,支撐我們的HTAP。

第三,數(shù)據(jù)新鮮度。我們多次討論實(shí)時(shí)性的問(wèn)題,不同的數(shù)據(jù)新鮮度最后帶來(lái)的就是我們不同的架構(gòu),有In-Memory的,有主備的,也有基于增量表技術(shù)的,都會(huì)帶來(lái)不同的數(shù)據(jù)新鮮度。在這種數(shù)據(jù)新鮮度下,我們?cè)趺幢WC數(shù)據(jù)新鮮度高,而且性能又好。在這些方面我們需要更多的思考,來(lái)保證我們HTAP架構(gòu)能夠具備更多應(yīng)對(duì)用戶的能力。

第四,資源隔離。我們看到有的架構(gòu),比如說(shuō)用戶對(duì)TP性能要求比較高,要求你在引入實(shí)時(shí)AP的同時(shí),不能影響TP的能力和性能。也有用戶提出對(duì)整體的能力要求,對(duì)硬件沒(méi)有什么訴求,如果有需要可以增加硬件。不同的用戶有不同的要求,我們?cè)诿鎸?duì)這樣的用戶時(shí),需要在資源隔離和數(shù)據(jù)新鮮度,以及性能的提升方面做好權(quán)衡。

GaussDB在HTAP上的創(chuàng)新

GaussDB在現(xiàn)有基礎(chǔ)上對(duì)HTAP進(jìn)行改造,并實(shí)現(xiàn)以下幾個(gè)方面的提升:

  • 性能提升數(shù)十倍。GaussDB已經(jīng)實(shí)現(xiàn)向量化、并行、編譯技術(shù),性能提升10+倍,一些場(chǎng)景下還有更高的性能提升。最近我們基于HTAP做了更深度的挖掘和優(yōu)化,比如基于降低內(nèi)存拷貝、延遲讀等技術(shù),向量化的掃描算子最新的數(shù)據(jù)又提升了大概30倍左右。

  • 100%的透明路由。我們既有基于Hint手工指定的方式,還有基于規(guī)則、基于代價(jià)、基于AI的透明路由技術(shù)。我們?cè)诨诖鷥r(jià)的透明度路由方面,做了向量化優(yōu)化技術(shù);基于AI的透明路由方面,我們通過(guò)輕量的AI技術(shù)可以真正應(yīng)用到商業(yè)版中,通過(guò)這些技術(shù),TP、AP分流的準(zhǔn)確率目前表現(xiàn)還是不錯(cuò)的。

  • 100%的數(shù)據(jù)新鮮度。我們實(shí)現(xiàn)了在同Server內(nèi)的列式的內(nèi)存引擎,數(shù)據(jù)同步方面支持實(shí)時(shí)同步、在線同步、定期同步,保證了TP上的數(shù)據(jù)和IUD操作帶來(lái)的數(shù)據(jù)修改及時(shí)同步到引擎上,可以實(shí)現(xiàn)100%的數(shù)據(jù)新鮮度。

  • 100%的資源隔離。如果用戶更關(guān)注的是100%的資源隔離,我們也提供了基于主備復(fù)制HTAP模式,通過(guò)讀寫分離,把TP業(yè)務(wù)放到主機(jī)上,AP業(yè)務(wù)放到備機(jī)上,實(shí)現(xiàn)資源的隔離。

目前,GaussDB既有基于同Server的實(shí)時(shí)的HTAP,也有基于主備技術(shù)的準(zhǔn)實(shí)時(shí)的HTAP,同時(shí)在透明路由的加持下,能夠準(zhǔn)確的把業(yè)務(wù)分流同步分到實(shí)時(shí)的HTAP上,達(dá)成在性能、資源隔離、數(shù)據(jù)新鮮度方面有一個(gè)均衡的結(jié)果。


DTCC 2023專家解讀丨GaussDB技術(shù)解讀系列之HTAP方向的探索與發(fā)展的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
如东县| 开封县| 乐清市| 珠海市| 大新县| 精河县| 永年县| 平阳县| 安徽省| 郴州市| 昌都县| 交城县| 余干县| 姜堰市| 阜平县| 九龙城区| 揭阳市| 商南县| 青岛市| 容城县| 安龙县| 平湖市| 峡江县| 三都| 镇远县| 新郑市| 平泉县| 得荣县| 柳河县| 荔浦县| 烟台市| 如皋市| 高要市| 青浦区| 密山市| 洮南市| 石楼县| 庆安县| 班玛县| 凤城市| 来宾市|