博客 / 詳情

返回

替換 ClickHouse,查詢併發提升 7 倍!高途教育基於阿里雲 SelectDB 構建秒級實時報表

導讀

高途教育引入阿里雲 SelectDB 替換 ClickHouse、MySQL 作為核心分析引擎,統一支撐續班與行課實時分析等核心業務。通過阿里雲 SelectDB MPP 架構與向量化查詢引擎,結合 SelectDB 倒排索引、Bloom Filter 等豐富索引機制,實現億級數據量秒級多表關聯查詢,在 700+ 高併發查詢壓力下 P99 延遲低於 200ms,穩定滿足核心報表 2s 內響應,有力支撐高途教育業務向“數據驅動運營”轉型。

業務背景與需求

高途教育科技集團(NYSE:GOTU,以下簡稱高途教育)是一家兼具教育基因和科技驅動力的科技教育公司。目前,高途集團的業務涵蓋了面向中小學生、大學生與成人、出國留學人羣諮詢和學習的產品和服務,以及以內容和文化為內核的直播電商等業務

本文主要介紹續班場景實時大屏及行課場景中工作台的報表分析。在續班場景,高途教育通過續班大屏實時整合全國區域及課程品類的續班數據,為管理層與一線人員提供實時、動態的續班數據洞察,以驅動資源精準調配與潛力課程識別。在行課場景,高途教育需將數據分析大屏嵌入至教師、運營、管理者等多角色工作台,為每個角色實時提供高度定製化的行課數據視圖,支撐教學質量和全流程優化。為滿足雙場景需求,數據分析平台具備以下能力:

  • 高併發訪問能力:在續班期間,支撐全部一線員工隨時隨地、併發訪問實時續班大屏,確保信息全員同步,打破地域限制。在行課期間, 保障所有角色在日常工作中能夠流暢訪問數據工作台,確保業務無縫進行。
  • 多表 Join 關聯查詢能力: 支持跨業務數據表 Join 關聯查詢,快速生成適配不同角色的專屬報表視圖。
  • 實時數據更新能力:由於 TP 庫中數據持續更新,因此要求分析系統具備實時數據更新能力。實現大屏與工作台數據的秒級刷新,確保大屏展示的續班數據與工作台展示的行課數據即時反映最新業務動態,為快速決策提供數據基礎。

業務挑戰

在支撐關鍵業務場景的數據分析能力上,高途教育過去選擇了 ClickHouse 和 MySQL 組合。在續班場景中,由於該場景對查詢響應延遲以及數據實時性要求高,高途教育選擇了 ClickHouse,業務上仍然面臨兩個挑戰。

  • 查詢併發能力低,服務能力受限:ClickHouse 高併發處理能力有限(僅支持約 100 QPS),導致實時報表訪問受限,僅開放給管理人員和現場電視。一線人員只能在特定位置通過電視查看數據,若不在同一工區或樓層,無法實時感知續班數據變化。
  • 報表維度單一,缺乏個性化分析支持,使用場景受限:系統在處理多表關聯複雜查詢時效率低下,僅能提供預設的單一維度報表,難以根據不同崗位(如管理層、運營、銷售)提供差異化的分析視角,進而導致前線業務場景使用受限。

在行課場景中,由於 ClickHouse 無法支撐 2B 業務所需的高併發訪問,系統最初採用了基於 MySQL 的定製化數據方案。各類報表需經過 ODS → DW → DM 的多層數據加工,再按業務場景進行定製化聚合開發。業務上遇到了數據定製流程複雜、響應慢、靈活性差的挑戰。具體問題包括:

  • 高度耦合的加工鏈條:每一張報表都需要經過 ODS → DW → DM 的多層數據加工過程,一旦有字段、邏輯或口徑的調整,不僅需要同步修改各層數據加工邏輯,還會影響多個報表,造成修改成本高、風險大。
  • 開發效率低,維護複雜:展示層的變更往往涉及前後端聯動開發,不具備低成本快速迭代能力,無法支撐業務快速變化下的靈活調整需求。
  • 難以支撐多角色、差異化的數據需求:報表設計通常以固定場景為主,缺乏統一的數據服務能力,不易複用,難以滿足不同崗位對數據的個性化分析需求。

基於阿里雲 SelectDB 升級實時報表

明確架構瓶頸後,高途教育聯合阿里雲與飛輪科技,選定基於 Apache Doris 內核的 阿里雲 SelectDB 作為新一代實時分析引擎,實現 ClickHouse 與 MySQL 的全面替代,構建統一的實時分析平台。

阿里雲 SelectDB 優勢

SelectDB 憑藉以下核心優勢,精準匹配了高途教育對“高併發、高靈活性、低延遲”的分析需求:

  1. 高併發支撐能力:支撐千級別併發訪問:通過倒排索引、ZoneMap、Bloom Filter 等多級索引機制,結合分區分桶技術,SelectDB 能在查詢時快速裁剪無關數據,顯著降低計算與 I/O 負載,穩定支撐成千上萬用户同時在線訪問。
  2. 秒級複雜查詢響應:徹底解決多表 Join 性能瓶頸:SelectDB 支持秒級響應的多表 Join 與寬表查詢,顯著優於 ClickHouse 的複雜查詢能力,滿足實時業務對多維數據靈活組合分析的需求,提升業務場景適配性與數據服務能力。
  3. 實時更新能力:支持實時寫入與高性能查詢並存:藉助 Unique Key 模型,SelectDB 實現了強一致語義下的實時更新與查詢能力,在數據頻繁變更場景下依然保持極高的查詢性能,相比 ClickHouse 提供更強的數據鮮活性支持。
  4. 企業級可運維性:降低數據平台使用門檻:SelectDB 提供白屏化運維界面,內建 SQL 審計與查詢追蹤能力,大幅降低數據平台的運維與使用成本,支持開發人員專注業務邏輯開發,提升整體數據交付效率。

基於阿里雲 SelectDB 數據架構

基於阿里雲 SelectDB 數據架構.png

實時數據使用 Flink 快速寫入 SelectDB,離線數據使用 SeaTunnel 寫入 SelectDB。SelectDB 作為查詢的統一入口,BI 通過查詢入口接入。

阿里雲 SelectDB 實踐和調優

  • 功能適配性:阿里雲 SelectDB 集羣管理、賬號管理、實時監控預警、數據安全管理等企業級功能能夠覆蓋高途教育對集羣的功能需求。此外,阿里雲 SelectDB 邏輯視圖功能實現計算與存儲解耦,當業務需新增分析維度時,僅需改寫視圖 SQL,無需重構底層數據管道,解決行課場景 MySQL 數據庫“牽一髮而動全身”的耦合問題。
  • 使用倒排索引:基於阿里雲 SelectDB MPP 架構與向量化查詢引擎,對億級訂單、課程、用户表進行實時多表 Join。針對高頻查詢字段啓用阿里雲 SelectDB 倒排索引功能,結合 Bloom Filter 預過濾無效數據,在 700+ 高併發查詢壓力下 P99 延遲低於 200ms,穩定滿足核心報表 2s 內響應,相比 ClickHouse 性能提升 7+倍。

實踐中我們積累了部署與查詢過程中的調優經驗,特此分享:

  • 儘可能使用原字段形式進行過濾:比如過濾時間字段,儘量使用原格式進行過濾,不要針對時間格式轉化後過濾,否則掃描量裁剪的效果不佳。
  • 避免使用 Not In 的語法,Not In 的語法會進行全表的掃描,涉及計算的數據量較大,CPU 佔用率也隨之上升,集羣穩定性易受到影響。
  • 儘可能將不同業務線的查詢拆分為不同的集羣,隔離資源的互相影響。
  • 這部分放到 SelectDB 中,實時任務的原因主要是,我們一開始的維表在 HBase 中,但是由於維度更新原因,我們把這部分放到了 SelectDB 中。

阿里雲 SelectDB 實踐和調優.png

應用收益

阿里雲 SelectDB 有效支持了高途教育續班及行課期間的實時報表場景,為高途教育帶來了分析性能提升、架構靈活性突破、成本降低等收益:

  • 分析性能提升:在 700+ 高併發查詢壓力下 P99 延遲低於 200ms,穩定滿足核心報表 2s 內響應。全部一線人員可秒級獲取動態續班與行課數據,查詢併發相比 ClickHouse 提升 7+ 倍,大幅提升運營決策、一線支持效率。
  • 架構靈活性突破:實現查詢邏輯與數據模型解耦,解決行課場景原 MySQL 架構需求變更需全鏈路改造的痛點,需求迭代週期大幅縮短。通過阿里雲 SelectDB 多表 Join 查詢能力,提升開發和交付效率,數據使用更為靈活。
  • 整體成本降低:阿里雲 SelectDB 白屏化運維、SQL 審計和追蹤,大幅簡化高途教育運維開發流程,提升 70% 運維效率。此外,阿里雲 SelectDB 統一了高途教育分析引擎,大幅降低多分析引擎導致的資源浪費。
user avatar u_16213429 頭像 u_15675268 頭像 huikaichedemianbao 頭像 xuri 頭像 u_13303 頭像 u_15675190 頭像 u_16060192 頭像
7 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.