首頁 要聞 中國 經(jīng)濟(jì) 財(cái)經(jīng) 品牌 點(diǎn)評(píng) 會(huì)展 綜合 | 設(shè)為首頁
中國品牌要聞網(wǎng)-傳遞資訊的價(jià)值打造品牌的影響
您現(xiàn)在的位置:首頁/科技生活/ 正文
【云棲2023】姜偉華:Hologres Serverless之路——揭秘彈性計(jì)算組
來源:
編輯:
時(shí)間:2023-11-13

本文根據(jù)2023云棲大會(huì)演講實(shí)錄整理而成,演講信息如下:

演講人:姜偉華 | 阿里云計(jì)算平臺(tái)事業(yè)部資深技術(shù)專家、阿里云實(shí)時(shí)數(shù)倉Hologres研發(fā)負(fù)責(zé)人
演講主題:Hologres Serverless之路——揭秘彈性計(jì)算組

       實(shí)時(shí)化成為了大數(shù)據(jù)平臺(tái)的核心演進(jìn)趨勢(shì),而其中Serverless技術(shù)可以讓企業(yè)在實(shí)時(shí)場(chǎng)景取的性能、成本、高可用之間的平衡。2023年云棲大會(huì)上,阿里云實(shí)時(shí)數(shù)倉Hologres研發(fā)負(fù)責(zé)人姜偉華介紹了一站式實(shí)時(shí)數(shù)倉Hologres在6年研發(fā)期間的Serverless演進(jìn)之路,讓客戶實(shí)時(shí)數(shù)倉成本降低70%-120%,開發(fā)效率提升100%,性能提升100-200%。

一站式實(shí)時(shí)數(shù)倉Hologres

       首先向大家簡(jiǎn)單介紹下Hologres。Hologres 是阿里云自研一站式實(shí)時(shí)數(shù)倉,以分析服務(wù)一體化架構(gòu),統(tǒng)一數(shù)據(jù)平臺(tái)架構(gòu),實(shí)現(xiàn)一份數(shù)據(jù),同時(shí)支持支持多維分析、在線服務(wù)、湖倉一體、向量計(jì)算多個(gè)場(chǎng)景,其中包含了:


多維分析(實(shí)現(xiàn)同CK、Doris等查詢場(chǎng)景)

       數(shù)據(jù)高性能實(shí)時(shí)寫入、更新與查詢,實(shí)現(xiàn)寫入即可查,支持列存、內(nèi)置索引加速

在線服務(wù)(實(shí)現(xiàn)同Hbase、Redis等點(diǎn)查場(chǎng)景)

       超高QPS下KV與SQL點(diǎn)查、非主鍵點(diǎn)查,支持行存、具備高可用能力

湖倉分析(實(shí)現(xiàn)同Presto等交互式分析場(chǎng)景

       無需數(shù)據(jù)搬遷,對(duì)MaxCompute、數(shù)據(jù)湖中的表進(jìn)行秒級(jí)交互式查詢,元數(shù)據(jù)自動(dòng)發(fā)現(xiàn)

向量計(jì)算(實(shí)現(xiàn)同F(xiàn)aiss等向量查詢場(chǎng)景

       內(nèi)置達(dá)摩院Proxima向量引擎,QPS與召回率性能超過開源向量數(shù)據(jù)庫數(shù)倍

Serverless實(shí)時(shí)數(shù)倉的挑戰(zhàn)與關(guān)鍵技術(shù)

       在一個(gè)All in one的一站式實(shí)時(shí)數(shù)倉架構(gòu)下,像我們剛才提到的,希望一份數(shù)據(jù),同時(shí)能支持以上四種場(chǎng)景,那各個(gè)業(yè)務(wù)部門、各種業(yè)務(wù)需求便隨之而來,例如:


穩(wěn)定性需求

       在進(jìn)行資源的擴(kuò)縮容、啟停時(shí)候,如何不影響實(shí)時(shí)在線的業(yè)務(wù)?

       如何保證業(yè)務(wù)/任務(wù)之間的隔離?例如讀寫隔離、寫寫隔離、讀隔離、任務(wù)隔離。并且是比起資源組或者資源隊(duì)列來說更加干凈的隔離。

       如何有效利用資源?例如水平的擴(kuò)展實(shí)現(xiàn)QPS的簡(jiǎn)單增加,從500 QPS到擴(kuò)展1000 QPS只需要簡(jiǎn)單加一倍資源即可,讓資源管理更加簡(jiǎn)單。

成本優(yōu)化需求

       如何降低開發(fā)成本?例如上線新業(yè)務(wù),基于同一份數(shù)據(jù),但是使用新的計(jì)算資源。

       如何降低資源資源?例如基于定時(shí)和負(fù)載做彈性,應(yīng)對(duì)洪峰、日夜變化,用完即銷毀,Endpoint保持不變。

       如何降低學(xué)習(xí)成本?例如開發(fā)接口是否通用,是否能對(duì)接主流的BI產(chǎn)品。

       于是實(shí)時(shí)數(shù)倉在接收了這么多需求后,自然而然將Severless定義為平臺(tái)核心演進(jìn)方向,Hologres在6年的Serverless演進(jìn)過程中,總結(jié)下來了4項(xiàng)Serverless實(shí)時(shí)數(shù)倉關(guān)鍵技術(shù)挑戰(zhàn):

存算分離

       不管是Hologres, 還是說其他的大數(shù)據(jù)產(chǎn)品,經(jīng)常講一個(gè)詞叫存算分離。為什么要做存算分離?因?yàn)榇嫠惴蛛x是實(shí)現(xiàn)Serverless化的一個(gè)前置條件,Serverless核心關(guān)注是計(jì)算資源的彈性,這就要求存儲(chǔ)和計(jì)算必須分離。Hologres從產(chǎn)品第一天開始,就是一個(gè)存算分離的架構(gòu)。

       如果不做存算分離的話有什么問題呢?傳統(tǒng)上像Greenplum,數(shù)據(jù)是存在本地磁盤的,而本地磁盤有一個(gè)容量限制,存滿了就會(huì)有搬遷,代價(jià)很大。第二個(gè)問題是數(shù)據(jù)的訪問,Serverless本質(zhì)上來說,希望計(jì)算資源隨時(shí)可以拉起,然后就可以去訪問數(shù)據(jù),任何計(jì)算資源都能訪問到這個(gè)數(shù)據(jù)。但如果你要存在本地的話,就不能夠讓任何一個(gè)計(jì)算資源訪問,只有本地盤能訪問。

       所以在Serverless的情況下,一般來說數(shù)據(jù)肯定是存在一個(gè)分布式的文件系統(tǒng)上的。通過分布式文件系統(tǒng),首先第一個(gè)是解除了容量限制,第二個(gè)任何的計(jì)算資源都可以去訪問到這份數(shù)據(jù),計(jì)算資源和存儲(chǔ)資源都能池化。如果是一個(gè)離線數(shù)倉的話,這個(gè)問題就解決了,因?yàn)閿?shù)據(jù)都在分布式文件系統(tǒng)上,任何計(jì)算資源都能訪問到這個(gè)數(shù)據(jù)。

       對(duì)于實(shí)時(shí)數(shù)倉來說有一個(gè)挑戰(zhàn)在于數(shù)據(jù)是不是足夠?qū)崟r(shí)。實(shí)時(shí)數(shù)倉,我們強(qiáng)調(diào)一個(gè)實(shí)時(shí)性,就要求寫進(jìn)去的數(shù)據(jù)馬上就能訪問到,所以在這件事情上,不同的產(chǎn)品可能會(huì)有他的各自的取舍。

       如果我們能容忍一個(gè)五分鐘或者十分鐘的查詢延遲,所有的數(shù)據(jù)客戶端攢5-10分鐘后發(fā)送過來,直接寫到分布式文件系統(tǒng)上,別的計(jì)算資源就能訪問到了。但是這個(gè)對(duì)用戶體驗(yàn)其實(shí)是很差的。因?yàn)榈扔谡f數(shù)據(jù)寫了,那邊查不出來(延遲5-10分鐘)。Hologres采用的是一個(gè)對(duì)用戶比較友好的方案:寫入即可查。

       寫入即可查是有經(jīng)典方案的,就是Mem Table +LSM Tree。比方說像Hbase或者其他一些產(chǎn)品都是采用這樣一個(gè)架構(gòu),這個(gè)架構(gòu)本質(zhì)就是有一部分持久化的數(shù)據(jù),這些數(shù)據(jù)是存在分布式文件系統(tǒng)上的,別人也能看到。但是最新的數(shù)據(jù)是在mem Table中的,這部分?jǐn)?shù)據(jù)只有本機(jī)能看到。

       同時(shí)Hologres支持高頻的CRUD, 就是高頻的更新與刪除。因?yàn)橛泻芏鄳?yīng)用,希望基于主鍵,做非常高頻的更新或者刪除,就要求一定要有一個(gè)主鍵索引。而這個(gè)主鍵索引一定要在內(nèi)存里,否則的話就是性能跟不上。并且這個(gè)主鍵索引還在不停的被更新。

Shard Replica

       Hologres將實(shí)時(shí)寫入+高頻CRUD這兩點(diǎn)結(jié)合,讓實(shí)時(shí)數(shù)倉保持高頻的實(shí)時(shí)更新或刪除,且寫入即可見,這樣在使用體驗(yàn)上會(huì)非常像一個(gè)數(shù)據(jù)庫,對(duì)用戶非常友好。但是同時(shí)它也帶來了一個(gè)新的問題,就是最新的幾分鐘數(shù)據(jù)是在內(nèi)存里。剛才說Serverless的場(chǎng)景下,我們希望任何拉起的計(jì)算資源,都能訪問到這些數(shù)據(jù)。但是那些數(shù)據(jù)是在內(nèi)存里的,所以這是一個(gè)很特別的挑戰(zhàn)。Hologres解這個(gè)問題的方法,我們稱之為叫做Shard Replica(Shard副本)。

       簡(jiǎn)單來說就是每個(gè)Shard Replica在實(shí)現(xiàn)機(jī)制上,很像數(shù)據(jù)庫里面的物理復(fù)制。數(shù)據(jù)庫的物理復(fù)制是有一個(gè)從實(shí)例,通過同步了主實(shí)例的write ahead log,然后重放這些log,然后構(gòu)建B+ tree,把數(shù)據(jù)刷下去。在數(shù)據(jù)庫的實(shí)現(xiàn)中,主從兩個(gè)實(shí)例的數(shù)據(jù)也是各自存各的。Hologres在這個(gè)地方有一個(gè)創(chuàng)新,Shard Replica做了物理復(fù)制,但僅在內(nèi)存中構(gòu)建了自己的MEM Table, 這樣子Shard副本就能看到最新的數(shù)據(jù)。但是Shard副本是不會(huì)去flush數(shù)據(jù)到文件系統(tǒng)的。這樣,分布式文件系統(tǒng)上的數(shù)據(jù)就只有一份。這樣Replica通過自己的MEM Table與主Shard的存算分離的落盤數(shù)據(jù),就可以完整的訪問所有數(shù)據(jù)了,實(shí)現(xiàn)了實(shí)時(shí)的可見性。

       副本的維護(hù)代價(jià)大概是主的1/4或者1/8的樣子。

       Shard Replica能力是Hologres實(shí)現(xiàn)存算分離、高可用、容災(zāi)、高QPS等等的基礎(chǔ)。

隔離與彈性

       有了這個(gè)存算分離能力以后,下面怎么樣做?剛才說到有了存算分離,那可以任意地拉起計(jì)算資源并訪問,所以這個(gè)時(shí)候就可以做強(qiáng)的資源隔離,并且自然可以彈性的伸縮,也能夠自適應(yīng)的去響應(yīng)負(fù)載。


 

高可用

       在高可用上,實(shí)時(shí)數(shù)倉跟一般的離線數(shù)倉做Serverless上有一些差異。因?yàn)橐话汶x線數(shù)倉更關(guān)注的是資源能不能用滿,但實(shí)時(shí)數(shù)倉要求有很高的SLA保證。比方說延遲或抖動(dòng),這種都是不允許有的。我們?nèi)绾文鼙WC在強(qiáng)隔離的情況下,還能做到各種自由的彈性伸縮與高可用性。

       離線數(shù)倉不是基于連接的,每次提交一條SQL,執(zhí)行完給出結(jié)果,然后再來一條。但是實(shí)時(shí)數(shù)倉是基于連接的,有點(diǎn)像數(shù)據(jù)庫,在資源的變化的過程中(各種變更、擴(kuò)縮容等),如何做到自動(dòng)的路由負(fù)載均衡。在計(jì)算資源彈性時(shí),連接與現(xiàn)有查詢不受影響,在后臺(tái)計(jì)算資源改變時(shí),原有連接資源可自動(dòng)路由到新的計(jì)算資源上,保證連接不斷。這些能力對(duì)于Serverless實(shí)時(shí)數(shù)倉來說非常有挑戰(zhàn)性。

Hologres的Serverless演進(jìn)之路


       剛才說到的這些難題與挑戰(zhàn),Hologres也不是一下子解決的,接下來我們向大家介紹下Hologres在6年的發(fā)展中,在Serverless是如何逐步演進(jìn)的,希望能和大家有一些交流。


       2018年Hologres在阿里內(nèi)部立項(xiàng)。2019年產(chǎn)品化并在阿里集團(tuán)內(nèi)部大規(guī)模使用。到2020年,我們?cè)诎⒗镌粕险缴虡I(yè)化,并且在業(yè)界第一個(gè)提出了分析服務(wù)一體化。到了2021年我們主要增強(qiáng)一些企業(yè)級(jí)的能力。2022年Hologres重點(diǎn)發(fā)布了主從實(shí)例。主從實(shí)例是我們Serverless演進(jìn)過程中的一個(gè)關(guān)鍵步驟,有非常多的客戶在生產(chǎn)環(huán)境中用上了我們的主從實(shí)例,實(shí)現(xiàn)了一份數(shù)據(jù),多種計(jì)算。跟傳統(tǒng)數(shù)據(jù)庫的主從不一樣,它的數(shù)據(jù)只有一份,因?yàn)榇髷?shù)據(jù)場(chǎng)景下數(shù)據(jù)量很大,對(duì)用戶來說一份數(shù)據(jù)可以極大地節(jié)約存儲(chǔ)成本。同時(shí)存算分離下的主從實(shí)例,允許大家為不同的業(yè)務(wù),快速的拉起一個(gè)從實(shí)例干不同的工作,如果不需要的話,也可以快速地把它給銷毀掉,沒有任何數(shù)據(jù)搬遷的過程。到了2023年我們正式發(fā)布計(jì)算組實(shí)例。是Hologres面向完全的Serverless化的基本產(chǎn)品形態(tài)。

階段一:獨(dú)享實(shí)例

       獨(dú)享實(shí)例是Hologres常用的形態(tài),基于之前我們提到的存算分離架構(gòu),底下是阿里盤古文件系統(tǒng),上面是計(jì)算實(shí)例,用戶想要擴(kuò)容、縮容都非常方便,不需要做數(shù)據(jù)搬遷。但是唯一的問題是用戶必須要小心翼翼地控制規(guī)格大小,比方QPS壓力太大了,那你就要擴(kuò)容,不能做到資源按需使用,按需付費(fèi)。

階段二:共享集群

       Hologres在2020年就推出了一個(gè)完全Serverless化的湖倉共享集群,它是不帶存儲(chǔ),只會(huì)按量收取計(jì)算費(fèi)用。首先Hologres與離線數(shù)倉MaxCompute做了一體化的融合,如果想要更快地查詢MaxCompute中的離線數(shù)據(jù),不需要將數(shù)據(jù)導(dǎo)出,也不需要預(yù)留任何資源,運(yùn)行一條SQL直接查詢就可以,最終只按照SQL查詢量收費(fèi),用戶在不使用的時(shí)候,不會(huì)收任何的費(fèi)用,也不需要任何的啟停操作。這是我們做的非常徹底Serverless的產(chǎn)品,不僅僅是MaxCompute中的數(shù)據(jù),還可以查詢OSS中數(shù)據(jù)湖的數(shù)據(jù)。

       共享集群僅適用離線數(shù)倉與數(shù)據(jù)湖加速查詢的場(chǎng)景,沒有很好的SLA的保證。

階段三:主從實(shí)例

       為了實(shí)現(xiàn)資源的強(qiáng)隔離,同時(shí)支持一份數(shù)據(jù)、多種計(jì)算的愿景,Hologres推出了主從實(shí)例,實(shí)現(xiàn)一份數(shù)據(jù)多種計(jì)算,計(jì)算之間完全隔離。

       一個(gè)典型的場(chǎng)景:首先有一個(gè)讀寫的獨(dú)享主實(shí)例,負(fù)責(zé)數(shù)據(jù)的寫入,然后按需創(chuàng)建多個(gè)只讀的從實(shí)例。這個(gè)創(chuàng)建過程非?,沒有任何數(shù)據(jù)搬遷。比方說現(xiàn)在線上業(yè)務(wù)在跑著,突然發(fā)現(xiàn)線上業(yè)務(wù)數(shù)據(jù)不太對(duì)。那怎么辦呢?用戶可以臨時(shí)拉起一個(gè)從實(shí)例,然后在上面做數(shù)據(jù)分析,找出問題在哪里,這對(duì)用戶來說是一個(gè)非常易用的一種體驗(yàn)。

       這種場(chǎng)景我們做了非常強(qiáng)的隔離,存儲(chǔ)層面依托盤古強(qiáng)大的分布式文件系統(tǒng)的能力,基本可以保證IO之間沒有競(jìng)爭(zhēng)。計(jì)算層面,我們通過K8S實(shí)現(xiàn)隔離,做到了計(jì)算之間也沒有競(jìng)爭(zhēng)。存儲(chǔ)與計(jì)算都沒有競(jìng)爭(zhēng),讓用戶實(shí)現(xiàn)了很干凈的強(qiáng)隔離,體驗(yàn)也非常好。我們見過最多的一個(gè)客戶是一主九從,掛了非常多的從實(shí)例干各種各樣的事情,比如分配一個(gè)從實(shí)例給經(jīng)常做分析的同事,或者分配一個(gè)從實(shí)例給某個(gè)特定部門。

       但是這種主從實(shí)例也有它的問題,由于每一個(gè)都是一個(gè)獨(dú)立的實(shí)例,每個(gè)都有一個(gè)入口,用戶如果要用新的從實(shí)例,必須要去改他的代碼,把代碼指向這個(gè)新的實(shí)例才能用起來,這樣用戶體驗(yàn)就不夠好,不夠靈活,所以今年我們正式推出了計(jì)算組實(shí)例。

階段四:計(jì)算組實(shí)例

       計(jì)算組實(shí)例內(nèi)部有多個(gè)計(jì)算組,計(jì)算組之間還是強(qiáng)隔離,但是它是一個(gè)實(shí)例,有一個(gè)統(tǒng)一的路由,于是在計(jì)算組內(nèi)部,各種強(qiáng)隔離、彈性自動(dòng)路由等等都可以做了。

       計(jì)算組上面有一個(gè)gateway, 這是一個(gè)網(wǎng)關(guān),用戶所有的請(qǐng)求都會(huì)通過這個(gè)網(wǎng)關(guān)打過來。下面的計(jì)算組跟剛才的從實(shí)例很像。每個(gè)計(jì)算組都是一組獨(dú)立的計(jì)算資源。計(jì)算組和計(jì)算組之間是強(qiáng)隔離的,由網(wǎng)關(guān)來進(jìn)行這個(gè)任務(wù)的路由。這樣對(duì)用戶來說永遠(yuǎn)看到的是同一個(gè)網(wǎng)關(guān)。所有的彈性擴(kuò)縮容等操作,都是管理員做的事情,對(duì)用戶來說是無感的,也解決了我們?cè)谥鲝膶?shí)例中留下的不夠靈活的問題。


       舉幾個(gè)典型應(yīng)用場(chǎng)景:

計(jì)算組實(shí)例應(yīng)用:動(dòng)態(tài)擴(kuò)容 

       一般我們分2個(gè)計(jì)算組,包括默認(rèn)計(jì)算組和查詢計(jì)算組,其中默認(rèn)計(jì)算組只承擔(dān)寫入&ETL等流程,查詢計(jì)算組負(fù)責(zé)對(duì)外查詢,實(shí)現(xiàn)讀寫隔離。當(dāng)實(shí)時(shí)數(shù)倉使用人更多,服務(wù)更多部門時(shí),讀寫隔離不能完全滿足需求,寫入與寫入之間會(huì)有資源爭(zhēng)搶,查詢之間也有資源爭(zhēng)搶。我們就可以需要提供擴(kuò)容多種計(jì)算組,比如離線寫入計(jì)算組、實(shí)時(shí)寫入計(jì)算組、OLAP查詢計(jì)算組、在線服務(wù)計(jì)算組,實(shí)現(xiàn)不同場(chǎng)景/業(yè)務(wù)之間的完全隔離。

計(jì)算組實(shí)例應(yīng)用:彈性伸縮 

       在大促或者某些場(chǎng)景下,我們經(jīng)常遇到資源不足的情況,當(dāng)流量洪峰來臨時(shí),根據(jù)業(yè)務(wù)需求對(duì)單個(gè)計(jì)算組擴(kuò)容,低峰期對(duì)計(jì)算組進(jìn)行縮容,同時(shí)系統(tǒng)支持熱擴(kuò)縮容方式,將業(yè)務(wù)影響降到最低,并且防止資源的浪費(fèi)。

計(jì)算組實(shí)例應(yīng)用:自動(dòng)路由 

       某一個(gè)計(jì)算組出了問題或者壓力太大發(fā)生Failover后,影響業(yè)務(wù),需要快速止血時(shí),我們希望給它減少流量或者完全停掉。原來是解不了這個(gè)問題,用戶只能改應(yīng)用程序,F(xiàn)在管理員只需要通過SQL命令實(shí)現(xiàn)自動(dòng)路由機(jī)制,無需改動(dòng)應(yīng)用接口,快速將Failover計(jì)算組的負(fù)載路由至默認(rèn)/指定計(jì)算組,實(shí)現(xiàn)業(yè)務(wù)快速恢復(fù)。
 

客戶案例:

某客戶Serverless實(shí)時(shí)數(shù)倉升級(jí)之路

       剛才我們是從Hologres自身的視角來看待實(shí)時(shí)數(shù)倉的發(fā)展與演進(jìn),最后我們來看一個(gè)我們長(zhǎng)期的資深用戶是如何一步一步基于Hologres來做自己業(yè)務(wù)實(shí)時(shí)數(shù)倉的升級(jí)與Serverless化的。
這是一個(gè)物流的客戶,他們業(yè)務(wù)主要做倉儲(chǔ)的管理,有好幾類業(yè)務(wù),第一類業(yè)務(wù)叫實(shí)時(shí)播報(bào),需要一個(gè)快速開發(fā)的,高保障的一個(gè)業(yè)務(wù)。第二個(gè)業(yè)務(wù)就是倉庫的各種實(shí)時(shí)作業(yè),指導(dǎo)倉庫這種貨放到哪里去等等,需要一個(gè)作業(yè)調(diào)度系統(tǒng),要求高性能并且要持續(xù)服務(wù)高SLA的保證。第三類像傳統(tǒng)的大屏,或者說類似指標(biāo)中心的自助分析,要求更強(qiáng)的靈活性。整體業(yè)務(wù)規(guī)模上,大概有350個(gè)左右的實(shí)時(shí)任務(wù),消耗1萬CU,量非常大。同時(shí)P2級(jí)以上的重點(diǎn)任務(wù)占了70%,對(duì)SLA的要求也非常高。從性能要求上,日均大概是每秒鐘寫入2000萬條記錄,峰值能達(dá)到每秒6000萬條,然后每秒輸出大概50萬條記錄,整體的實(shí)時(shí)吞吐性能非常高。

       可以看到這是一個(gè)業(yè)務(wù)復(fù)雜,對(duì)性能、SLA、成本等都有非常多要求的客戶場(chǎng)景。


 

實(shí)時(shí)數(shù)倉1.0-Hologres替換傳統(tǒng)數(shù)倉

       最早的時(shí)候?qū)崟r(shí)數(shù)倉1.0,底下實(shí)時(shí)數(shù)據(jù)從DWD到DWS到ADS, 這個(gè)加工層是通過消息隊(duì)列Kafka加上Flink來做的。他們會(huì)把結(jié)果數(shù)據(jù)同時(shí)寫兩個(gè)地方,一個(gè)是Lindorm,類似于Hbase,因?yàn)閯偛盼覀兲岬降奈锪鲙齑孀鳂I(yè)是一個(gè)高穩(wěn)定性保障業(yè)務(wù),所以他用這個(gè)來對(duì)外提供點(diǎn)查的能力。同時(shí)將數(shù)據(jù)寫入Hologres,提供交互式分析與OLAP查詢等服務(wù)。

實(shí)時(shí)數(shù)倉2.0-Hologres升級(jí)主從實(shí)例,高可用部署

       2022年隨著Hologres推出了主從實(shí)例,他們做了一次架構(gòu)的變更。首先,從實(shí)時(shí)數(shù)據(jù)加工鏈路上,本來Flink+Kafka實(shí)現(xiàn)的DWD、DWS、ADS層加工,現(xiàn)在改成用Hologres+Flink來做,把DWD層寫到Hologres里面去,同時(shí)Flink訂閱Hologres的Binlog。這樣任何一張表的變更,F(xiàn)link都能感知到。Flink加工得到的DWS層再寫到Hologres里面去。然后再通過Flink訂閱Binlog, 加工ADS層寫到Hologres里面去。這時(shí)候大家可能覺得這個(gè)場(chǎng)景有點(diǎn)奇怪,為什么要這么搞來搞去。其實(shí)這個(gè)架構(gòu)最大的好處是,每一層數(shù)據(jù)都是可查可對(duì)外服務(wù)的。原來架構(gòu)中,數(shù)據(jù)在Kafka中,只能給Flink用。如果數(shù)據(jù)有問題,要去查一下問題都很困難。而在這個(gè)架構(gòu)中,每一層的數(shù)據(jù)都是Hologres對(duì)外提供服務(wù)的。不需要數(shù)據(jù)冗余,同一份數(shù)據(jù)既可以給Flink應(yīng)用,也可以對(duì)外提供服務(wù)。

       同時(shí),為了支持隔離與高可用,他們建了好幾個(gè)從實(shí)例來給不同的業(yè)務(wù)用。需要的時(shí)候就再創(chuàng)建一個(gè)。實(shí)現(xiàn)了讀寫分離和同城容災(zāi),故障從6次降為0次,存儲(chǔ)下降幾百T,開發(fā)效率提升100%。

實(shí)時(shí)數(shù)倉3.0(ing)-Hologres計(jì)算組實(shí)例,彈性和隔離

       2023年隨著我們推出了計(jì)算組實(shí)例后,他們把整個(gè)主從實(shí)例替換成了計(jì)算組實(shí)例。通過拉起不同的計(jì)算組,統(tǒng)一對(duì)外提供服務(wù)。整個(gè)實(shí)時(shí)數(shù)倉的架構(gòu)更加Serverless化,拉起一個(gè)新的計(jì)算組,不再需要去改應(yīng)用,每個(gè)計(jì)算組又能提供很好的隔離。



        最后講一下我們對(duì)未來趨勢(shì)的一些看法,,雖然Hologres推出了計(jì)算組實(shí)例,坦率地說這只是我們Serverless化的開始。作為一個(gè)云產(chǎn)品,我們希望讓客戶通過Serverless,使用起來更簡(jiǎn)單,成本更低。因此我們?cè)谖磥碇饕袃蓚(gè)目標(biāo),第一個(gè)是Down To Zero,簡(jiǎn)單來說,當(dāng)用戶不用任何計(jì)算的時(shí)候,不問用戶收取任何計(jì)算的費(fèi)用。并且在這種情況下,如果有請(qǐng)求進(jìn)來,計(jì)算資源能秒級(jí)恢復(fù)并響應(yīng),并不是說停掉了以后請(qǐng)求來了就斷掉了。第二個(gè)目標(biāo),我們希望能夠把獨(dú)享實(shí)例和共享實(shí)例統(tǒng)一在一起,變成一個(gè)統(tǒng)一的對(duì)外的形態(tài),實(shí)現(xiàn)自助資源切換。最終用戶在沒有計(jì)算的時(shí)候可以不花一分錢,請(qǐng)求來了能及時(shí)響應(yīng),業(yè)務(wù)變化又能靈活滿足多種資源需求,這是我們希望給用戶提供的終極形態(tài)。

       除了Severless,Hologres在本次云棲大會(huì)還將物化視圖升級(jí)DynamicTable進(jìn)行升級(jí),與Flink結(jié)合構(gòu)建流批一體的數(shù)倉分層架構(gòu),用戶只需描述數(shù)據(jù)的應(yīng)用場(chǎng)景、產(chǎn)生邏輯、實(shí)時(shí)性要求、分層依賴,DynamicTable負(fù)責(zé)高效的一體化工程實(shí)現(xiàn),保持?jǐn)?shù)據(jù)高性能的實(shí)時(shí)寫入、實(shí)時(shí)更新、實(shí)時(shí)查詢,解決離線實(shí)時(shí)重復(fù)開發(fā)、數(shù)據(jù)不一致,學(xué)習(xí)成本搞,運(yùn)維復(fù)雜等難題。

       在淘天集團(tuán)直播數(shù)據(jù)決策分析產(chǎn)品中,Dynamic Table數(shù)倉分層架構(gòu)讓實(shí)時(shí)數(shù)倉整體性能提升200%,延遲下降85%,在淘天集團(tuán)營銷活動(dòng)分析場(chǎng)景中,Dynamic Table數(shù)倉分層架構(gòu)讓實(shí)時(shí)性能提升30%,離線性能提升800%,這個(gè)功能在不久之后也會(huì)在公共云開放給客戶使用。

       可以看到無論是Serverless還是物化視圖的升級(jí),Hologres在演進(jìn)過程中始終緊緊圍繞實(shí)時(shí)場(chǎng)景,不斷提高實(shí)時(shí)數(shù)倉的性能、可用性、用戶體驗(yàn)。Hologres希望替換企業(yè)紛繁蕪雜的數(shù)倉架構(gòu),通過一站式的理念讓實(shí)時(shí)數(shù)倉更加干凈、友好、高效,并幫助企業(yè)不斷降低成本,加速數(shù)字化轉(zhuǎn)型升級(jí)。

免責(zé)聲明:本文僅代表作者個(gè)人觀點(diǎn),與本網(wǎng)無關(guān)。其原創(chuàng)性以及文中陳述文字和內(nèi)容未經(jīng)本站證實(shí), 對(duì)本文以及其中全部或者部分內(nèi)容、文字的真實(shí)性、完整性、及時(shí)性本站不作任何保證或承諾, 請(qǐng)讀者僅作參考,并請(qǐng)自行核實(shí)相關(guān)內(nèi)容。當(dāng)事人(單位)如有異議,請(qǐng)參閱《刪帖說明》辦理。
中國品牌要聞網(wǎng)-傳遞資訊的價(jià)值打造品牌的影響
編輯:綜合整理
2024-09-10
評(píng)論(0)
  • CopyRight@ 2005-2022 中國品牌要聞網(wǎng)
  • 工商注冊(cè)號(hào) 430122000189097
  • ICP備案許證:渝ICP備2022012785號(hào)