酷開科技 × StarRocks:統一 OLAP 分析引擎,全面打造數字化的 OTT 模式
作者:周桂民,大資料架構師和負責人,主要負責大資料平臺基礎建設工作
酷開科技,全稱深圳市酷開網路科技股份有限公司,成立於 2006 年,自主研發了智慧電視作業系統——酷開系統。酷開科技先後接受來自愛奇藝、騰訊、百度的投資入股,市場估值近百億元,主要業務有客廳運營業務、數字化營銷業務、融媒體業務、共享屏業務等。截止 2022 年 3 月,中國共計有 3 億臺客廳智慧終端,啟用量 1.9 億,日活使用者突破 1.2 億人,日均開機率達 40 %。其中,酷開科技擁有 5900 萬終端數、3076 萬月活以及 457 分鐘平均開機時長。
酷開大資料部門負責公司大資料體系框架建設,主要工作是支撐日常的 BI 分析、資料看板、人群畫像等場景。客廳經濟背景下的公司業務增長帶來了資料量的激增,不同的資料需求衍生出多種資料服務,不同的資料服務選擇不同的資料庫和數倉技術,比如 MySQL、ElasticSearch、Apache HBase、ClickHouse 等。為了最大化降低運維成本、提供高效能的資料服務,做到真正的極速統一,從 2021 年下半年開始,酷開大資料部門正式引入 StarRocks。
無論是多表關聯查詢還是單表查詢,StarRocks 在穩定性和查詢速度上都有超預期的表現。50 億資料量的明細表中查詢去重操作,查詢效率基本能控制在毫秒級別,目前支援線上數百人同時使用,人群畫像標籤計算由原來的 2-3 小時縮短到秒級返回計算結果,大大提高了業務運營的效率和體驗。
目前,酷開大資料部門正在用 StarRocks 支援更多的分析場景,統一 OLAP 分析引擎,減少多引擎維護成本。
#01
業務背景
—
1
酷魔方資料平臺
酷魔方資料平臺主要 面向內部業務人員,提供資料整合、資料清洗、資料分析以及視覺化等服務。 該產品打通內部各業務資料,為業務分析人員提供多種分析方法和分析模型,提高業務分析效率,提升活躍、留存和營收轉化等。 酷魔方的資料服務介面給各業務線提供資料 API 服務、資料訂閱等。
平臺主要提供三大分析功能:
1. 標準化行為分析
2. 視覺化圖表分析
3. 資料看板
2
萬戶畫像平臺
萬戶畫像平臺是智慧運營平臺,幫助業務對目標客戶進行人群圈定、標籤管理、智慧投遞等人群洞察功能。主要是對 OTT 終端使用者屬性、行為偏好、興趣愛好等資訊進行標籤化處理和計算,識別出不同的使用者類別,根據不用的類別進行人群圈定,對目標使用者進行精細化運營,挖掘更有價值的使用者群體。
平臺主要提供三大方面功能:
1. 標籤管理:自定義標籤,通過離線和實時任務對標籤進行計算和處理
2. 自主圈人:業務運營人員可以根據任意的業務規則進行使用者分群和二次圈定
3. 使用者畫像:業務運營人員在自定義的使用者群進行畫像分析
#02
歷史架構和痛點
—
SDK 埋點資料通過 Lua 指令碼服務採集後,傳送到 Apache Kafka,通過 Apache Spark(以下簡稱 Spark)任務把資料落到 HDFS。 或者通過 Apache Flink (以下簡稱 Flink)落地到 HDFS,再用 Spark 或者 Apache Hive (以下簡稱 Hive)進行資料加工處理,資料彙總後把資料放到 MySQL 或 ElasticSearch 中對外提供服務。
酷魔方資料平臺裡的業務明細資料,通過 Hive 或者 Spark 離線處理,或通過 Flink 實時處理,資料彙總聚合後放在 MySQL 裡對外提供資料服務。
該方案在進行多維度分析時候,特別是業務資料高達數十億的時候,單庫 MySQL 是不能滿足查詢效能要求的,只能通過分庫分表的方式來做資料拆分,這樣就增加了平臺的運維成本。隨著業務發展,業務流量越來越大,對僅能支援單表千萬級別資料的 MySQL 來說,即使採用分庫分表方案,查詢效能也難以支撐,還有資料壓縮佔比少,運維成本高等劣勢。
萬戶畫像平臺主要用來滿足使用者標籤查詢需求,但對於複雜資料結構型別,ElasticSearch 就不能滿足。有時還需要對使用者標籤進行分析處理,需要通過 Spark 提交計算任務,通常需要跑 20-30 分鐘。對於業務分析人員來說,資料互動體驗是非常不友好的,增加的是資料處理複雜度和資料儲存成本,同時在計算時會佔用非常多的佇列資源。
#03
引入 StarRocks
—
為了解決上面的業務痛點,我們從 2021 年下半年開始調研 StarRocks和ClickHouse,並做了兩者的對比測試,使用了 10 臺伺服器(32C+256G+SSD),80 億 資料量 ,得到以下測試結果:
測試SQL | 併發度 | StarRocks(95%rt) |
ClickHouse(95%rt) |
單表明細過濾 | 10 | 3190 | 10283 |
單表全量分組聚合 | 30 | 6027 | 24518 |
單表分組過濾聚合 | 30 | 405 | 4305 |
根據這個測試結果,我們選型了 StarRocks,並把業務逐步切換到 StarRocks上,徹底解決了運維成本高、平臺效能無法滿足業務需求的痛點。
在萬戶畫像平臺,運營在做人群圈選和人群分析的運算時,之前是通過傳遞動態引數組成 SQL,使用 Spark SQL 去計算生成資料,再通過資料介面提供給業務方使用。整個計算過程的幾十億資料大概需要用時 30 分鐘左右。引入 StarRocks 後基本上能夠秒級返回計算結果,特別是通過 Bitmap 高效去重帶來了較大的效能提升。
在酷魔方資料平臺統一介面服務中,使用 StarRocks 做資料儲存和計算,在降低了原來的 MySQL 分庫分表方案運維成本的同時,還提升了計算效能。之前採用基於 MySQL 分庫分表的方案,需要安排一位長期的專職運維,採用 StarRocks 後,只需在初期測試和效能調優時安排運維人員即可。在進行千萬級別資料的查詢時,使用 MySQL 分庫分表的查詢,效能就會明顯變得吃力,到億級別的資料查詢時更是需要分鐘級別響應。而在相同資料體量、使用相同 SQL 的情況下,StarRocks 基本都能做到毫秒級或秒級響應。
總的來說,StarRocks 不僅支撐了 BI 分析系統、統一資料介面服務和畫像平臺業務等業務分析要求,也簡化了資料處理鏈路過程,幫助酷開科技實現了統一極速的分析引擎。
#04
總結與規劃
—
在使用 StarRocks 期間主要有以下幾點驚喜表現:
1. 極速的分析效能, 幾十億的資料量情況下,進行多維分析可以達到秒級別的響應
2. 精確的資料去重,快速實現了人群留存計算
3. 大大降低了運維成本和分析師的 SQL 語法學習成本
4. 豐富的資料儲存模型可以直接在業務場景中使用
後續希望 StarRocks 能在酷開科技更多的業務場景中使用,增加更多特性,比如複雜的資料結構型別目前支援的 Array ,目前業務資料格式很多時候是 JSON、Map、Struct 型別等。 酷開大資料團隊也在嘗試資料湖分析場景使用,希望能推進 StarRocks 在資料湖分析的應用。
關於 StarRocks
StarRocks 創立兩年多來,一直專注打造世界頂級的新一代極速全場景 MPP 資料庫,幫助企業建立“極速統一”的資料分析新正規化,助力企業全面數字化經營。
當前已經幫助騰訊、攜程、順豐、Airbnb 、滴滴、京東、眾安保險等超過 110 家大型使用者構建了全新的資料分析能力,生產環境中穩定執行的 StarRocks 伺服器數目達數千臺。
2021 年 9 月,StarRocks 原始碼開放,在 Github 上的星數已超過 3000 個。StarRocks 的全球社群飛速成長,至今已有超百位貢獻者,社群使用者突破 5000 人,吸引幾十家國內外行業頭部企業參與共建。
“極速統一” 資料分析新正規化:
微信理想汽車汽車之家滴滴
騰訊遊戲波克城市歡聚集團37手遊
:point_down: 閱讀原文 瞭解 StarRocks 產品詳細資訊