隨著數(shù)據(jù)量的爆炸性增長,現(xiàn)代企業(yè)在數(shù)據(jù)存儲、處理與分析上面臨巨大挑戰(zhàn)。在 IT 架構(gòu)中,數(shù)據(jù)倉庫承擔(dān)著企業(yè)中關(guān)鍵的數(shù)據(jù)存儲和分析任務(wù),如果不能高效運作,必將導(dǎo)致成本飆升和決策效率低下。因此數(shù)據(jù)倉庫的降本增效是企業(yè) IT 部門持續(xù)的命題。
作為面向?qū)崟r數(shù)據(jù)處理的工具,OLAP(聯(lián)機分析處理)系統(tǒng)能幫助企業(yè)充分挖掘數(shù)據(jù)價值、輔助決策。然而,OLAP 在追求高效數(shù)據(jù)分析的同時,往往難以平衡成本與效率矛盾。
快節(jié)奏的商業(yè)環(huán)境要求 OLAP 系統(tǒng)在保證數(shù)據(jù)準(zhǔn)確性的前提下,盡可能縮短數(shù)據(jù)處理和分析的時間。但高效的數(shù)據(jù)處理往往伴隨著更復(fù)雜的系統(tǒng)架構(gòu)和更高的資源消耗,企業(yè)需要投入高昂的計算資源、服務(wù)器、存儲資源等硬件成本以及大量算法優(yōu)化、運維、遷移等軟性成本。
問題與挑戰(zhàn)
企業(yè)使用一款數(shù)據(jù)倉庫產(chǎn)品,成本項可以區(qū)分顯性成本與隱性成本:
顯性成本挑戰(zhàn)
- 硬件成本:代表了部署數(shù)據(jù)倉庫軟件的所需的硬件成本,包括計算資源成本(CPU)與存儲資源成本(磁盤、存儲集群)。毫無疑問數(shù)據(jù)倉庫涉及 TB 甚至 PB 級數(shù)據(jù)的存儲與分析,對硬件的要求頗高。
- 性能成本:單位能效不高,導(dǎo)致在完成任務(wù)或處理數(shù)據(jù)時,需要配備更多的資源以彌補這一不足。一方面,在計算能效上,需要增加更多的高性能計算單元或優(yōu)化現(xiàn)有的計算能力,以確保在合理的時間內(nèi)完成復(fù)雜的計算任務(wù),避免處理速度的滯后;另一方面在存儲能效上,需要部署更大容量的存儲設(shè)備以應(yīng)對日益增長的數(shù)據(jù)量,同時減少能耗,提高數(shù)據(jù)存儲和檢索的效率。
隱性成本挑戰(zhàn)
- 運維成本:代表了運維數(shù)據(jù)倉庫的人力與時間成本。
- 數(shù)據(jù)倉庫作為極其復(fù)雜的軟件產(chǎn)品,對運維人員的專業(yè)要求和精力消耗本身極高。如果在數(shù)據(jù)系統(tǒng)中運行多款組件,如 ClickHouse、Elasticsearch、GreenPlum... 則會讓復(fù)雜性指數(shù)級增加,運維人員的技能要求也指數(shù)級增加。
- 遷移成本:代表了從舊的數(shù)據(jù)倉庫或分析型數(shù)據(jù)庫遷移到 ByteHouse 的人力與時間成本;
- 數(shù)據(jù)倉庫之前的語法,架構(gòu)差異通常極大,搬遷數(shù)據(jù)難于搬家,帶來了極高的替換成本。
解決方案
關(guān)于 ByteHouse
ByteHouse 是火山引擎數(shù)智平臺 VeDI 旗下的一款云原生數(shù)倉產(chǎn)品,以 ClickHouse 技術(shù)路線為基礎(chǔ),從 2017 年內(nèi)部立項開始,截止到 2022 年 3 月,ByteHouse 節(jié)點總數(shù)已經(jīng)達(dá)到了 18,000,最大的行為分析集群超過了 2,400 個節(jié)點,數(shù)據(jù)量超過 700PB。
ByteHouse 在架構(gòu)上遵循新一代云原生理念,實現(xiàn)了容器化、存儲計算分離、多租戶管理和讀寫分離等功能,同時支撐實時數(shù)據(jù)分析和海量數(shù)據(jù)離線分析,尤其對高吞吐、高并發(fā)、復(fù)雜查詢等多種實時數(shù)據(jù)分析場景進(jìn)行優(yōu)化,能為用戶提供極速分析體驗。
ByteHouse 具備存儲、計算分離,高彈性擴(kuò)展的特點,其計算層采用 Shared-nothing 架構(gòu),存儲層采用 Shared-everything 架構(gòu),能更好地支持計算和存儲層的水平擴(kuò)展。基于 ByteHouse 高性能的實時數(shù)據(jù)分析決策能力,數(shù)據(jù)從導(dǎo)入到分析決策僅需幾秒,99% 的查詢都能得到秒級保障。除了高可用的基礎(chǔ)能力,ByteHouse 還提供免托管運維服務(wù),包括豐富的集群管理工具、全面的系統(tǒng)監(jiān)控能力,幫助企業(yè)輕松了解業(yè)務(wù)狀態(tài),讓故障排查與問題診斷變得簡單。
四招直擊“降本之痛”
云原生數(shù)據(jù)倉庫 ByteHouse 在架構(gòu)、技術(shù)、生態(tài)、融合四個方面上均能帶來紅利,能顯著地降低顯性成本與隱性成本。通過引入像 ByteHouse 這樣“能省錢”的云原生數(shù)據(jù)庫,企業(yè)能夠在支持大規(guī)模數(shù)據(jù)查詢的同時,有效控制硬件成本、遷移成本與運維成本的投入,提升系統(tǒng)性能,實現(xiàn)數(shù)據(jù)驅(qū)動的業(yè)務(wù)增長。
- 架構(gòu)紅利:ByteHouse 采用獨特的存算分離架構(gòu),實現(xiàn)了資源的高效利用和靈活擴(kuò)展。這一架構(gòu)解決了傳統(tǒng)數(shù)據(jù)倉庫在計算和存儲資源上的緊耦合問題,使企業(yè)能夠根據(jù)實際需求獨立擴(kuò)展計算或存儲資源,從而避免了資源浪費。
- 技術(shù)紅利:在計算層面,ByteHouse 自研的查詢優(yōu)化器提升了多表查詢性能,點查優(yōu)化技術(shù)則提高了系統(tǒng)的并發(fā)性能。在存儲層面,通過共享對象存儲、存儲分級、數(shù)據(jù)壓縮等極致優(yōu)化,ByteHouse 進(jìn)一步降低了存儲成本。
- 生態(tài)紅利:ByteHouse 支持豐富的上下游生態(tài),包括數(shù)據(jù)導(dǎo)入、加工工具、調(diào)度工具、BI 工具以及語言 Driver 和開發(fā)工具等。同時,與 ClickHouse、MySQL 生態(tài)完全兼容,降低了用戶數(shù)據(jù)遷移的門檻和額外成本。
- 融合紅利:ByteHouse 融合了實時查詢、聚合查詢、人群圈選、文本檢索等各類場景,簡化了企業(yè)的技術(shù)棧管理,降低了運維成本。此外,在湖倉融合方面,ByteHouse 支持業(yè)界常見數(shù)據(jù)湖的外表連接方式,能實現(xiàn)多種外表和 ByteHouse 內(nèi)表的聯(lián)邦查詢,進(jìn)一步提高了分析效率并降低了數(shù)據(jù)冗余存儲和轉(zhuǎn)換成本。
架構(gòu)紅利
首先,ByteHouse 支持存算分離架構(gòu),也是讓 ByteHouse“更省錢”的重要原因,存算分離通過更高效的資源分配和靈活的擴(kuò)展方式,幫助企業(yè)在數(shù)據(jù)管理和計算任務(wù)中有效控制資源成本并提升效率。
資源利用率的瓶頸
傳統(tǒng)的數(shù)據(jù)倉庫通常使用無共享(shared-nothing)的架構(gòu),使得計算資源和存儲資源是緊耦合的,因此集群時計算和存儲資源的配比和容量就已經(jīng)固定,無法支持二者獨立擴(kuò)縮容。這就意味著計算與存儲必有一項存在資源浪費情況。


例如,當(dāng)業(yè)務(wù)不需要太多計算資源,但存儲的數(shù)據(jù)量激增,也需要新購大量服務(wù)器;另一些情況下,一些集群的存儲資源冗余,但 CPU 利用率很高,用戶的查詢體驗差;且上述兩種情況無法共享 CPU 與存儲資源,結(jié)果就是資源成倍浪費。

同時,傳統(tǒng)的架構(gòu)面對計算資源高峰低谷,比如例如早上查詢業(yè)務(wù)高峰期,夜間 ETL 任務(wù)高峰期,只能通過生硬的混合部署方式來應(yīng)對;這種方式不夠靈活,同時也可能會發(fā)生夜晚 ETL 任務(wù)未完成,影響上午業(yè)務(wù)的情況,從而導(dǎo)致連環(huán)影響。
正是基于上述痛點,ByteHouse 研發(fā)了存算分離的云原生新架構(gòu)。

計算和存儲分離架構(gòu)
如上圖所示,計算節(jié)點(VW)與數(shù)據(jù)存儲(Data Storage)是隔離的。從計算節(jié)點的角度來看,他們將看到一個全局共享的數(shù)據(jù)池,即數(shù)據(jù)存儲層。這意味著該池中的所有數(shù)據(jù)都可以跨所有計算資源共享。
采用這種存算分離架構(gòu)架構(gòu)具有三大優(yōu)勢:
- 靈活的伸縮能力,因為計算資源和存儲是分離的,它們可以根據(jù)需求,對計算或存儲資源獨立擴(kuò)展。
- 無盡的可擴(kuò)展性。 由于數(shù)據(jù)是在存儲層中共享的,理論上可以橫向擴(kuò)展以利用盡可能多的計算資源。
- 對于集群管理者來說更加友好,因為他們不需要擔(dān)心數(shù)據(jù)一致性、數(shù)據(jù)副本和數(shù)據(jù)收費問題; 所有這些都可以委托給云服務(wù)提供的數(shù)據(jù)存儲層來實現(xiàn),如對象存儲或 HDFS。
基于存算分離的關(guān)鍵特性
計算隔離,按需購買
彈性策略應(yīng)對多樣業(yè)務(wù)場景:當(dāng)您擁有多個計算組資源,每個計算組資源應(yīng)對不同業(yè)務(wù);當(dāng)工作負(fù)載各不相同時,用戶可以根據(jù)業(yè)務(wù)場景針對不同的計算組設(shè)置不同的策略;

彈性計費,自動啟停
ByteHouse 計算組自動啟停策略,幫助用戶節(jié)省 ~20%+ 成本:當(dāng) VW 空閑超過 5 分鐘時,自動啟停 會自動關(guān)閉集群,VW 在關(guān)閉期間不會產(chǎn)生任何費用。


按需擴(kuò)展,無損彈性
彈性擴(kuò)展,靈活自動:根據(jù)時間,資源負(fù)載等條件進(jìn)行擴(kuò)容/縮容配置;減輕手動管理的負(fù)擔(dān),提升資源利用率。
節(jié)省成本:根據(jù)實際業(yè)務(wù)需求靈活調(diào)整計算資源規(guī)模,無需提前購買全部資源。
