Hologres 彈性計算在 OLAP 分析上的實踐和探索

簡介:

1、本文介紹了OLAP分析在大數據分析中的位置

2、分析並介紹目前大數據OLAP遇到的分析性能、資源隔離、高可用、彈性擴縮容等核心問題

3、解析阿里雲Hologres是如何解決極致性能、彈性、業務永續、性價比等核心剛需的最佳實踐

4、介紹阿里雲Hologres彈性計算組在彈性計算、資源隔離上的探索和創新

、 OLAP分析在大數據分析中的位置

目前業界將大數據分析主要分爲四個階段:描述性分析、診斷性分析、預測性分析、規範性分析。

目前OLAP分析主要集中在描述性分析階段,其中診斷性分析、預測性分析、規範性分析屬於高階分析領域,後續OLAP分析也會逐步滲透於診斷性分析和預測性分析中。

二、Hologres如何解決OLAP分析的核心問題

OLAP分析的核心問題

  1. 分析性能差,數據價值可望而不可及。當前大數據在接受度、技術、應用等各方面趨於成熟,大數據逐步應用於各行各業,這些行業在大數據應用領域面臨的第一個問題和挑戰就是分析性能差,進而阻礙了挖掘大數據中的巨大價值。如何讓用戶更快的進行OLAP數據分析是普遍面臨的一個問題。
  2. 多種業務場景之間相互影響,隔離成本較高。業務在線上經常會遇到不同業務場景之間的相互影響而帶來的查詢抖動的問題,比如寫寫之間、讀寫之間、大小查詢間的相互影響,以及在線服務、多維分析、即席分析等之間的相互影響。尤其是某些大數據引擎並不是存算分離架構,一般會通過複製多副本去實現隔離,成本很高。
  3. 無服務級高可用、 容災和多活的方案。業務一般通過雙/多鏈路來實現高可用、容災和多活,這其中涉及的人力、計算資源等成本較高。
  4. 不支持彈性擴容。越來越多的業務對彈性能力有着強烈的訴求。當業務流量突然增長能及時擴容扛住流量,否則對業務就意味着資損;在業務低峯時能及時縮容,降低成本。那麼如何低成本的實現彈性擴縮容是大數據引擎面臨的一個普遍問題,尤其是某些引擎不是存算分離架構,一般是需要通過數據的複製來實現多副本,基本上很難實現及時的彈性擴容能力。

OLAP分析的核心剛需:高性能、彈性、低成本

隨着業務的不斷髮展,OLAP分析也逐漸進入大多數業務的核心在線場景。用戶對其OLAP分析有如下四大剛需:

  • 業務永續:有高可用、容災和多活的能力,提升生產系統的穩定性
  • 極致性能:數據的價值應該被最大程度的挖掘,需要有更加極致的性能來滿足業務需求
  • 彈性:彈性資源能夠很好的支持業務的動態變化,滿足業務的不同需求
  • 低成本:用更少的成本支持更多的業務,實現更高的性價比

Hologres如何解決OLAP分析的核心問題

Hologres是阿里雲自研的一站式實時數倉引擎,支持數據的實時寫入、實時更新,同時也支持OLAP分析和在線服務查詢,目前已廣泛應用於阿里內部衆多核心業務場景,包括菜鳥物流、淘寶搜索推薦等,同時在雲上也有着衆多客戶實踐。那Hologres作爲企業級的生產實時數倉,是如何解決OLAP分析問題呢?

1、HSAP架構運用。在解決OLAP分析時運用 Hybrid Serving/Analytical Processing(HSAP)設計理念,通過統一的實時存儲,數據無需複製就能一站式提供簡單查詢、OLAP 分析、在線數據服務等多樣化的數據查詢和應用服務,滿足數據應用方的訪問和接入需求。這種架構大大地降低了業務的複雜度,快速應對新的業務需求。同時也提供的秒級甚至亞秒級實時性讓決策更及時高效,從而讓數據創造出更大的商業價值。

2、彈性能力提升。Hologres引入彈性計算組模式(Warehouse),每個Warehouse可按時按需創建銷燬,重新配置,且可動態熱擴縮容。計算和存儲高度可擴展,具有雙重彈性的能力。

3、雲原生資源存儲。基於雲原生資源存儲的彈性擴展,按需使用,可以做到低成本、高可用,高可靠,同時還具有彈性能力。

4、極致性能。基於現有的C++ Native執行引擎+優化器,擁有全異步框架(Thread-per-core 架構)、向量化計算、多種 Index 的實現、精細化的 Cache、基於代價的優化器模型,支持各種 predicted pushdown、runtime filter 等;輕量級用戶態線程調度,同時支持多種查詢負載(高併發、複雜統計)、公平調度算法(CFS)、高併發充分利用計算資源等主要特性。

5、實現流批統一存儲。具有業內領先的行列共存特性,列存對查詢分析友好,行存對點查快速;具有高效數據分片、分段、壓縮、索引;LSM-like 寫友好數據結構,高吞吐數據寫入,支持更新,寫入即可見。

三、Hologres只讀從實例(共享存儲)解決隔離問題

如上文所述,幾乎每個用戶都會遇到不同業務場景之間的相互影響而帶來的查詢抖動的問題。不同的引擎因爲架構不一樣,對於隔離的實現也不一樣,那Hologres又是如何解決隔離的問題呢,下面我們以具體場景爲例:

具體場景:

場景一:多種業務場景之間相互影響 。

幾乎每個用戶都會遇到不同業務場景之間相互影響而帶來抖動。比如:讀寫、讀讀 相互影響;分析、服務、離線加工 相互影響

場景二:在線業務需要通過多鏈路才能實現計算多活 。

具體挑戰:

挑戰一:如何更好的解決系統資源隔離的問題

挑戰二:如何讓用戶更簡單低成本的實現計算多活,降本提效

具體措施:通過Hologres只讀實例(共享存儲)來解決

只讀實例具有五大特性:基於物理WAL日誌驅動、共享存儲、物理文件的完全複用、主實例 Failover 時從實例不受影響、只讀實例 Failover 時可從最新位置開始恢復。通過只讀實例可以實現:

1. 資源隔離:用戶可以實現完整的讀寫/讀讀分離功能,保障不同業務場景的服務穩定性;

2. 計算多活:用戶只需簡單配置可以快速實現同城計算多活,以更少的資源(8~10:1)實現多鏈路,並節省用戶的人力、計算資源等成本。

四、Hologres新一代彈性計算組實例解決彈性問題

越來越多的業務對彈性能力有着強烈的訴求,那麼Hologres又是如何解決彈性的問題呢?

具體場景:

場景一:只讀實例需要多個Endpoint,用戶感知差 。業務需要配置新的Endpoint才能使用新的只讀實例。

場景二:用戶希望業務高低峯彈性擴縮容 。用戶期望按需彈性擴縮容,節省成本。

場景三:用戶希望有更靈活更精細化的資源隔離方案 ,可以按業務等場景實現資源隔離。比如:寫寫隔離,業務隔離。

具體措施:建設新一代實時數倉Hologres彈性計算組實例

爲了更好的解決彈性問題,滿足業務不同場景下對資源的合理使用,Hologres率先支持彈性計算組實例。彈性計算組實例採用 Multi-cluster, Shared Data 架構,將計算資源分解爲不同的計算組(Warehouse),每個計算組可獨立彈性擴展,計算組之間共享數據、元數據。

Hologres彈性計算組實例介紹

彈性計算組實例主要分爲以下幾個組件:

1.計算組:

計算組的彈性能力:

計算組在任意時間進行按需地創建、銷燬或者重新配置, 可動態熱擴縮容單獨的計算組,實現單個計算組的彈性伸縮能力。 同時Hologres 具有天然的計算存儲分離架構,結合計算組實例可以同時做到計算、存儲高度可擴展,具有雙重彈性。

計算組的資源隔離能力:

寫寫隔離:實時寫入分離、離線寫入分離,以及 實時寫入 和 離線寫入等寫入之間的隔離。

讀寫隔離:實時寫入、離線寫入 和 服務分析、即席分析、在線分析之間等 讀寫之間的隔離。

讀讀隔離:服務分析、即席分析、在線分析等讀讀之間的隔離。

業務場景隔離:用戶可以將多個業務部門按照不同的計算組 隔離開,實現業務之間的完全的資源隔離。

2. 雲服務組件:雲服務組件是基礎組件。它主要包括原數據管理、安全認證以及統一接入的管理能力。

3.數據存儲:Hologres 藉助阿里巴巴自研的分佈式文件系統 Pangu 對用戶提供高性能、高可靠、高可用、低成本、彈性存儲空間、強大穩定安全等核心服務。

彈性計算組核心價值介紹

1.彈性:Warehouse可按時或按需拉起(Scale Out);Warehouse可動態熱擴縮容(Scale Up); 計算和存儲高度可擴展,雙重彈性。

2.易用:整體上對用戶暴露一個實例一個Endpoint,解決只讀實例多個Endpoint的問題; Warehouse 相關操作(擴縮容等)均可以通過SQL實現, 可以簡單配置就能實現支持多種業務場景。

3.低成本:用戶可按需彈性使用資源,成本可控制到最低 ;基於物理Replication實現,物理文件完全複用,更節省資源(8~10:1),成本更低。

4.隔離: 每個計算組之間是天然的物理資源隔離,避免計算組之間的相互影響,減少業務抖動等。

五、Hologres 基於OLAP分析最佳實踐

Hologres只讀實例最佳實踐

一般情況下只讀實例數據異步同步延遲 p99 在 5ms內 ,可以高效的在雙11等大促中爲業務降本提效。下面介紹只讀實例在阿里內部一些核心業務的運用與效果。

最佳實踐一:雙11在阿里CCO業務中的運用和效果

阿里CCO業務之前是使用雙鏈路來建設容災與讀寫分離的能力,切換到Hologres的只讀實例方案後全部下掉雙鏈路,通過只讀從實例實現業務的查詢隔離、容災等能力。相比之前的雙鏈路方案,新的Hologres只讀實例方案,省去了備用數據鏈路上實時任務開發維護、數據比對的人力投入,減少鏈路切換時的數據不一致等問題,爲業務在大促上降本提效。

最佳實踐二:雙11在阿里DT業務中的運用和效果

在雙11大促中,阿里DT(淘寶營銷活動分析)業務引入了Hologres的只讀實例實現讀寫分離能力,讀寫分離可以最大程度的保障高吞吐寫入和靈活查詢互不干擾。主備雙鏈路方案可以讓業務擁有底氣和信心去應對隨時可能出現的不可控風險,當故障出現時,可以實現秒級切換,爲整個產品和業務決策分析提供穩定支持。

Hologres彈性計算組雙11在阿里CCO業務的最佳實踐

爲了更好的解決彈性和隔離的問題,在去年雙11中,阿里CCO業務將之前的只讀實例升級爲彈性高可用實例,實現了資源的彈性按需使用、寫寫隔離、業務讀寫隔離等需求,同時在使用上不需要維護多個實例Endpoint,系統變得更加靈活,也減少了運維壓力。在穩定性、性能等方面經受雙11、618等大促的考驗,爲業務在彈性、資源隔離、易用性等發揮了重要作用,最終爲業務降本提效。

六、總結與未來展望

隨着大數據技術在業務生產場景的推進,彈性、隔離、性能、成本等需求也開始變得越來越重要,我們期望通過這次分享Hologres在彈性、隔離方面的技術演進和思想,給更多的引擎和業務提供新的發展思路。同時Hologres也將持續優化核心技術競爭力,持續在資源隔離、彈性、高可用等方面進行技術完善和產品演進,助力更多業務構建企業級一站式實時數倉,真正地實現普惠化、自動化和智能化,爲用戶發揮更大的價值,提升在行業的競爭力。

作者:王奇 阿里雲Hologres研發

點擊立即免費試用雲產品 開啓雲上實踐之旅!

原文鏈接

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

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