實時數倉Hologres 新一代彈性計算組實例技術揭祕

隨着實時數倉在業務生產系統的普及,資源彈性、資源隔離等保障業務穩定性方面的技術需求開始變得越來越迫切。Hologres在保障業務方面持續優化核心技術競爭力,過去一年中,Hologres創新提出並實現了新一代彈性計算組實例,旨在通過更強的隔離和彈性能力,進一步提高業務系統的穩定性。Hologres彈性計算組在2022年雙11也成功落地阿里衆多核心業務場景,比如阿里巴巴CCO客服體驗部,助力CCO在大促場景中實現更加平穩的客服調度和問題處理。

通過本文,我們將會詳細介紹Hologres彈性計算組實例的實現原理,助力更多業務進一步提升企業級資源隔離和彈性能力。

大數據面臨資源、成本、隔離、彈性的綜合挑戰

在業務發展初期,數據量和併發訪問量較小的情況下,利用傳統的實時數倉可以輕鬆滿足各類業務數據的分析。隨着業務的極速發展,業務複雜度、數據量、併發訪問量逐步增加,實時數倉技術開始被越來越多的業務使用,並逐漸在生產業務中落地。於此同時,業務也開始不可避免的遇見分析場景、服務場景、離線加工場景等場景的系統負載衝突等資源隔離問題,業務對系統的隔離和彈性能力都提出了更高更嚴苛的要求,尤其是像雙11等大促場景上,系統需要有負載隔離、彈性等高可用能力來支撐更加迅猛的流量峯值。

傳統分佈式系統是通過副本和隔離來實現業務生產系統的進一步穩定,而要實現生產更高的穩定也需要面臨一定的取捨和挑戰:

  • 系統面向流量洪峯時的動態可擴展能力
  • 系統因意外或者故障宕機時的快速恢復能力
  • 多副本隔離帶來的資源成本問題
  • 業務高低峯時資源的彈性能力
  • .......

爲了解決以上挑戰,實現更加穩定、彈性、低成本的系統,Hologres不斷演進其技術能力:

  • 在產品設計之初,就採用存儲計算分離模式,可以非常高效的實現資源水平擴展能力,滿足不同流量洪峯對資源的不同需求
  • 內置調度系統,實現了節點故障、Failover的快速檢測以及自動調度恢復能力,即使有節點掛了,也能快速的拉起和切換,保障節點的可用性
  • 支持資源組隔離、多形態Replication包括Binlog、單實例Replication、主從實例等,有效解決數據讀寫分離、實現資源隔離、故障隔離
  • ...

更多關於高可用的實現請見>>Hologres高可用技術揭祕

隨着業務的發展和技術的演進,以及企業對降本增效的訴求加深,如何在降低成本的同時還能保持更加極致的隔離和資源彈性能力,又成爲實時數倉技術的另一大挑戰。爲了應對這個挑戰,在今年Hologres創新提出建設實現了新一代彈性計算組實例技術,與主從實例不同之處在於,業務可以通過將計算資源分解爲不同的計算組模式,不同的計算組共享一份存儲,計算資源可彈性分配,按需創建,可同時完美支撐讀寫分離、資源隔離、業務隔離等諸多場景。

下面我們將會介紹Hologres彈性計算組實例的具體技術實現原理和最佳使用實踐。

Hologres技術再升級:新一代彈性計算組實例

Hologres彈性計算組實例設計的最終目的是爲用戶提供高更強的資源隔離,不僅具有靈活性(即買即用)、資源隔離、彈性和極致擴展性等特點,最大化解決用戶在數據分析上的諸多痛點難點問題,讓“數據價值”不再可望不可即。

1、整體架構

Hologres彈性計算組實例採用 Multi-cluster&Shared Data架構,將計算資源分解爲不同的計算組(一個計算組可以理解爲一個Virtual Warehouse,下文統一簡稱Warehouse),計算組獨立彈性可擴展(彈性分配、按需創建),計算組之間共享數據、元數據。

基於彈性、隔離和低成本的前提,Hologres彈性計算組實例的核心組件的設計都具有靈活擴展擴展、資源隔離的特性。核心組件主要有分爲三個層面:以一個實例爲例

  1. 計算組:計算組是獨立彈性可擴展的計算資源,負責執行用戶的查詢請求。用戶可以根據業務需求,創建不同的計算組,通過不同的計算組來支撐業務需求,比如寫入、查詢等。
  2. 數據存儲:數據存儲在Alibaba Pangu存儲服務上,不同的計算組共享一份pangu存儲,有效節省存儲資源。
  3. 雲服務組件:雲服務組件包括網關、Meta Service、Holo Master 等,主要有數據管理、安全認證管理、統一接入管理,以及節點管理等能力。

下面針對每個組件做更詳細的介紹。

2、計算組Warehouse

購買了一個Hologres實例之後,就擁有了計算資源。而計算組Warehouse是由 Hologres的一組計算節點組成,用戶可以通過SQL的方式十分靈活的按需定製每個計算組的計算資源大小。

--示例:創建一個128Core的Warehouse CALL hg_create_warehouse ('warehouse_1', 128);

目前Hologres每個實例默認最多可以創建 10 個 計算組(可調整),每個計算組最小爲 32 Core,最大 512 Core(guc可控制),用戶可以根據需要設置合適的大小。

Warehouse之間共享數據、元數據,不同的計算組訪問同一個數據目錄;計算組的內存部分的數據(mem table)會進行同步,默認是最終一致模式,也支持配置爲強一致模式。

Warehouse具有資源隔離、彈性等核心能力,下面我們主要逐一介紹。

資源隔離

可以根據業務需求創建多個計算組,每個計算組之間是共享同一份數據,並任意按需擴展計算組的數量和配置,底層只需要存儲一份數據。不同負載的查詢任務可以運行在不同的計算組上,計算組之間的計算資源是互相獨立的。每個計算組上可以併發運行多個查詢,每個查詢請求會被路由到某個計算組進行執行;不同的計算組不會共享計算節點,因此不同 計算組 上運行的查詢之間互相不會有資源競爭和性能影響,這樣可以保證不同負載的查詢之間互不影響性能,做到很好的資源隔離。

因爲不同的Warehouse之間天然的計算資源隔離,因此可以通過多個計算資源組的方式實現不同的隔離需求:

  • 讀寫隔離:一個實例既有寫入又有查詢時,如果因爲寫入過猛,會使用大量的資源,就會導致查詢因等待資源而出現超時、變慢等問題,通過設置不同的計算組,能很好的解決因寫入爭搶資源,導致查詢變慢的問題。
  • 讀讀隔離:在實時數倉場景上,一個實例可能會有多種查詢需求,比如對內的BI報表OLAP分析,對外的風控、推薦等在線服務,且不同的OLAP分析業務的保障程度可能也會不同,當有大query需要消耗較多資源時,可能會導致其餘SQL因等待資源而變慢、超時等問題,尤其是在線服務場景,如果變慢可能會影響在線業務。可以通過設置不同的計算組,來支撐不同的查詢場景,查詢之間相互隔離,互不影響,能有效的提高在線服務的穩定性
  • 寫寫隔離:根據不同的業務需求,不同寫入任務之間的優先級會有不同,通過設置不同的計算組,可以很好的實現寫入分離、離線寫入分離,以及 實時寫入 和 離線寫入等寫入之間的隔離,保障寫入的穩定性。
  • 業務場景隔離:除了任務、查詢和寫入之間的隔離,還可以通過Warehouse實現不同業務之間的隔離。將多個業務部門按照不同的計算組 隔離開,實現業務之間的完全的資源隔離,避免業務之間相關影響。

彈性

作爲純粹、彈性的計算資源,可以通過SQL的方式在任意時間進行按需地創建、刪除或者重新配置Warehouse。創建或者刪除計算組不會影響底層存儲的用戶數據。可以根據業務需求動態地創建或者擴容計算資源,實現最大程度上的資源彈性,這樣就能很好的滿足用戶在高峯和低谷對不同資源的訴求。

計算組的彈性可以爲用戶帶來性價比更高的服務:在幾乎同樣的價格下,用戶可以享受更快的性能。

例如:如果某個工作負載在4個計算節點上執行需要花費15個小時,那麼在30個計算節點上執行可能只需要花費2個小時。雖然這兩種模式的價格差不多,但是帶給用戶的體驗卻有着根本的區別:在同樣花費的情況下,性能越快用戶感受就越好。而計算組的彈性恰恰提供了極佳體驗的選擇,通過動態配置計算組,以更快地完成計算任務,但是並不需要額外多的花費開銷。

Hologres 具有天然的計算存儲分離架構,因此可以同時做到計算、存儲高度可擴展,在彈性計算組的加持下做到雙重彈性

3、數據存儲

Alibaba Pangu是阿里巴巴自研的分佈式文件系統,將並不高可靠的服務器中的磁盤連接成一個整體,向外提供安全穩定易用的文件存儲能力,具備無限容量及性能擴展、單一命名空間、多共享、高可靠和高可用等特性。

Hologres藉助Pangu 分佈式文件系統,對用戶提供高性能、高可靠、高可用、低成本、彈性存儲空間、強大穩定安全等核心存儲服務。不同的計算組共享一份pangu存儲資源,這樣就能有效的節省存儲資源,數據不需要存儲多份,沒有冗餘,同時也保障了數據的一致性。

4、雲服務組件

在Hologres彈性計算組實例模式下,雲服務組件也標準模式一致,包括元數據管理、安全認證管理、統一接入管理等能力,其中:

  • 元數據管理:每個實例有統一的元數據管理的服務,被各個計算組共享。
  • Hologres Gateway 主要負責 統一的 安全認證、接入管理 等,並負責統一的高性能路由轉發和連接管理Warehouse的能力

Hologres彈性計算組實例產品優勢

通過Hologres彈性計算組實例可以非常方便的支持/實現以下優勢:

1、生態兼容

Hologres彈性計算組實例兼容Hologres已有產品形態,已有實例可無縫平滑遷移至彈性計算組實例,使用計算組時可以像使用一個單獨實例一樣方便。功能使用上也無任何差異, Hologres本身內置的函數、 SQL擴展等全面兼容。

2、彈性

可根據業務負載需求即時擴縮容計算組,同時也可以按時或按需暫停或者拉起計算組(Scale Out),此外計算組可動態熱擴縮容(Scale Up),這樣就能使得資源得到最充分的利用。

計算和存儲都可以高度按需水平擴展,滿足業務的不同資源需求,真正做到雙重彈性。

3、資源隔離

計算組之間的資源是天然隔離的,可以實現寫寫隔離、讀寫隔離、讀讀隔離、不同業務隔離等,在保障性能的同時滿足複雜業務對資源的隔離需求,減少業務之間的相互影響。

4、低成本

可按需彈性使用資源,成本可控制到最低,同時計算組之間共享同一份存儲數據,節省存儲成本。

5、簡單易用

彈性計算組實例只有一個Endpoint,解決只讀實例模式下多個Endpoint的配置問題。同時相關運維操作(擴縮容、啓動暫停等)均可以通過SQL實現,通過簡單配置就能支持多種業務場景,簡單易用,有效降低使用和學習成本。

Hologres 彈性計算組實例最佳實踐

目前Hologres彈性計算組實例可以實現但不僅限於如下三種典型應用場景,也可以是這幾種場景的任意組合等。

1、讀寫分離場景

此種方式是實現完整的讀寫隔離、讀讀隔離,是資源隔離的部分場景,是比較常見的需求場景,一般業務場景可以考慮使用這種方式。

Hologres 的 只讀實例 目前已可實現 讀寫分離,和 只讀實例 相比 Hologres彈性計算組實例 具有如下優勢

1、Hologres彈性計算組實例對外享有同一個Endpoint,解決了只讀實例多個Endpoint的問題,業務也不被需要不同的應用配置不同的Endpoint;

2、可以通過 SQL 一鍵切換默認Virtual Warehouse,無需執行JDBC數據源的切換操作;

3、只讀實例 目前 和主實例之間 數據完全同步,Virtual Warehouse可以根據 Table Group 進行數據的定製同步,更加方便和靈活;

4、Hologres彈性計算組可以實現更靈活定製的資源隔離:比如寫寫隔離等;

5、可根據業務情況,在任意時間進行按需地創建、銷燬或者重新配置Virtual Warehouse,實現資源更極致的彈性。

2、資源隔離場景

此種方式是更典型的資源隔離場景,可靈活的將多種場景隔離開,比如寫寫之間的隔離,讀寫隔離,以及查詢隔離,適用於有更加靈活定製的資源隔離的需求。

3、業務隔離場景

此種方式是業務隔離場景,一個實例可能是有多個業務部門在使用,因此多個業務部門可以通過補貼計算組的方式進行隔離,實現完全的業務隔離。業務隔離也可以在此基礎上再進行 寫寫分離、讀寫分離、讀讀分離等多種資源隔離的組合等十分靈活的多種資源隔離方式。

典型用戶案例

CCO爲阿里巴巴集團客戶體驗事業部,通過觸達消費者和商家的最前線,爲消費者、商家和經濟體提供專業的客戶服務和客戶體驗,業務範圍涵蓋全阿里集團的客戶體驗,典型的如88VIP客服。

CCO通過與Hologres高度共建,將傳統數倉升級爲集實時化、自助化、系統化於一體的用戶體驗實時數倉,支撐CCO內部的客服調度實時大屏,智能客服坐席分配、用戶聲音洞察分析等多個實時數倉場景,並支撐CCO歷年雙11大促,支撐上千+服務大屏,節約成本近30%。

同時隨着業務的快速發展,爲了更好的洞察用戶聲音,提升產品體驗的同時,CCO也不斷的與Hologres共建實時數倉核心能力:

  • 2020年年雙11大促首次採用以Hologres爲核心實時數倉方案,統一了實時核心數據與部分離線數據的存儲,爲了保障業務系統的高可用,通過數據雙寫的方式來支撐。見>>Hologres是如何完美支撐雙11智能客服實時數倉的?
  • 2021年通過對實時數倉進行高可用架構升級,由鏈路雙寫順利升級爲讀寫分離高可用以及災備架構,並在雙11以及雙12等核心場景規模應用。實時任務規模由幾百+增加至上千+,寫入壓力增加至1700萬+每秒,數據規模高達幾百TB,直接服務數十個在線服務場景,數百個核心分析業務,有效降低了構建實時數倉主備鏈路的人力以及機器成本,減輕了核心業務對於讀取穩定的壓力,完美經受住各大促核心場景的檢驗,實現生產高可用。見>>CCO x Hologres:實時數倉高可用架構再次升級,雙11大規模落地
  • 在今年,CCO也將讀寫分離的架構升級爲Hologres彈性計算組實例。相比去年的架構實現了資源的彈性按需使用,寫寫隔離,業務讀寫隔離等需求,同時在使用上不需要維護多個實例Endpoint,系統變得更加靈活,也減少了運維壓力。下圖爲今年CCO其中一個業務場景升級後的技術架構:

1)數據通過Flink實時寫入至Hologres,在Hologres中採用彈性計算組實例來支撐高可用。

2)因爲寫入的保障需求不同,將寫入場景用多個寫入計算組支撐,比如實時寫入爲一個計算組,離線寫入爲一個計算組,維表關聯爲一個計算組。在查詢側也拆分成不同的計算組,實現查詢之間的資源隔離,比如在線查詢場景分爲一個計算組,OLAP分析分爲一個計算組。

總結與未來展望

實時數倉Hologres新一代彈性計算組實例在今年阿里巴巴部分核心業務場景落地和驗證,並在穩定性、性能等方面經受大促的考驗,爲業務在資源隔離、彈性、易用性等發揮了重要作用,最終爲業務降本提效。

隨着業務的發展和技術的演進,Hologres也將持續優化核心技術競爭力,未來持續在資源隔離、彈性、高可用等方面進行技術完善和產品演進,助力更多業務構建企業級一站式實時數倉。

作者:王奇(花名慧青) 阿里雲Hologres研發

原文鏈接

本文爲阿里雲原創內容,未經允許不得轉載。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章