在互聯(lián)網(wǎng)行業(yè)快速迭代、數(shù)據(jù)規(guī)模呈指數(shù)級增長的今天,作為國內(nèi)領先的年輕人文化社區(qū),嗶哩嗶哩(Bilibili)面臨著海量、多維、實時的數(shù)據(jù)處理挑戰(zhàn)。為了高效賦能業(yè)務創(chuàng)新、提升用戶體驗并驅(qū)動科學決策,構建一個統(tǒng)一、高效、敏捷的數(shù)據(jù)服務中臺,尤其是其核心組件——數(shù)據(jù)處理服務,成為B站技術演進的必然選擇。本文將探討嗶哩嗶哩在數(shù)據(jù)服務中臺建設過程中,數(shù)據(jù)處理服務的實踐路徑、技術架構與核心價值。
一、建設背景與核心目標
嗶哩嗶哩的業(yè)務生態(tài)涵蓋視頻、直播、游戲、漫畫、社區(qū)互動等多個板塊,每日產(chǎn)生PB級別的結構化與非結構化數(shù)據(jù)。早期,數(shù)據(jù)處理往往以“煙囪式”架構存在于各業(yè)務線,導致數(shù)據(jù)孤島、計算資源浪費、研發(fā)效率低下、數(shù)據(jù)口徑不一致等問題日益凸顯。為此,數(shù)據(jù)服務中臺的建設核心目標確立為:
- 統(tǒng)一化:建立標準化的數(shù)據(jù)接入、處理、存儲與服務出口,打破數(shù)據(jù)壁壘。
- 平臺化:提供自助、易用的數(shù)據(jù)處理工具與平臺,降低數(shù)據(jù)使用門檻,提升研發(fā)效率。
- 服務化:將數(shù)據(jù)能力封裝成可復用、可擴展的API服務,敏捷響應前端業(yè)務需求。
- 智能化:融入實時計算與智能算法,支持實時推薦、風險控制、動態(tài)運營等場景。
數(shù)據(jù)處理服務作為中臺的“加工廠”,承擔著將原始數(shù)據(jù)轉(zhuǎn)化為清潔、可靠、有價值的數(shù)據(jù)資產(chǎn)的關鍵職責。
二、數(shù)據(jù)處理服務的架構演進
嗶哩嗶哩的數(shù)據(jù)處理服務架構經(jīng)歷了從分散到集中、從批處理到批流一體的演進過程。
1. 分層解耦的架構設計:
當前的核心架構通常分為四層:
- 數(shù)據(jù)采集層:通過自研Agent、日志SDK、數(shù)據(jù)庫Binlog同步等多種方式,實現(xiàn)全端數(shù)據(jù)的高效、可靠接入。
- 數(shù)據(jù)存儲與計算層:這是數(shù)據(jù)處理的核心。結合Hadoop、Spark、Flink、Kafka等開源生態(tài),構建了強大的批處理和流式計算能力。數(shù)據(jù)倉庫采用分層建模(如ODS、DWD、DWS、ADS),確保數(shù)據(jù)一致性和復用性。
- 數(shù)據(jù)管理與治理層:建立統(tǒng)一的數(shù)據(jù)資產(chǎn)目錄、元數(shù)據(jù)管理、數(shù)據(jù)血緣和質(zhì)量監(jiān)控體系。通過可視化工具,讓數(shù)據(jù)來源、加工邏輯、數(shù)據(jù)質(zhì)量一目了然,為數(shù)據(jù)可信度奠定基礎。
- 數(shù)據(jù)服務層:將加工后的數(shù)據(jù),通過統(tǒng)一查詢服務、實時數(shù)據(jù)服務、指標平臺、推薦/搜索數(shù)據(jù)服務等方式,以API或數(shù)據(jù)產(chǎn)品的形式提供給各業(yè)務方。
2. 批流一體的實踐:
為滿足實時業(yè)務需求(如實時彈幕分析、實時熱門榜單、實時風控),在傳統(tǒng)T+1批處理的基礎上,深度應用Apache Flink構建了低延遲的實時數(shù)據(jù)處理管道。通過將批流計算在SQL層面進行統(tǒng)一,并共享數(shù)據(jù)存儲(如Hive、Iceberg),實現(xiàn)了“一套代碼,兩種執(zhí)行模式”,簡化了開發(fā)運維復雜度。
3. 平臺化與自助化:
開發(fā)了面向內(nèi)部用戶的數(shù)據(jù)開發(fā)平臺。數(shù)據(jù)研發(fā)人員可以在平臺上進行任務編排、SQL/代碼開發(fā)、依賴配置、調(diào)度發(fā)布與監(jiān)控告警。業(yè)務分析師也可以通過低代碼或SQL界面,自助進行數(shù)據(jù)查詢、報表生成和即席分析,大大縮短了從數(shù)據(jù)需求到數(shù)據(jù)產(chǎn)出的路徑。
三、關鍵技術挑戰(zhàn)與解決方案
- 海量數(shù)據(jù)下的效率與成本:通過計算引擎優(yōu)化(如Spark動態(tài)資源分配、Flink增量計算)、存儲格式升級(采用ORC、Parquet及數(shù)據(jù)湖格式)、冷熱數(shù)據(jù)分層存儲與智能壓縮等手段,在保障查詢性能的有效控制了存儲與計算成本。
- 數(shù)據(jù)質(zhì)量保障:建立了貫穿數(shù)據(jù)處理全鏈路的質(zhì)量監(jiān)控體系。在任務層面,設置關鍵指標(如記錄數(shù)波動、空值率、數(shù)值異常)的強規(guī)則校驗;在鏈路層面,通過數(shù)據(jù)血緣進行影響分析和故障溯源;推行數(shù)據(jù)資產(chǎn)認責制度,確保問題可追溯、可定責、可修復。
- 復雜業(yè)務場景的敏捷支持:面對快速變化的業(yè)務需求(如新活動、新功能上線),數(shù)據(jù)處理服務通過以下方式提升敏捷性:
- 模型復用:沉淀公共數(shù)據(jù)層(DWD/DWS),避免重復開發(fā)。
- 快速啟動模板:為常見場景(如用戶行為分析、AB實驗)提供標準化數(shù)據(jù)模型與處理模板。
- 服務化接口:將核心數(shù)據(jù)能力(如用戶畫像查詢、實時計數(shù))封裝為高可用、低延遲的在線服務,供業(yè)務系統(tǒng)直接調(diào)用。
四、核心價值與未來展望
通過數(shù)據(jù)服務中臺及數(shù)據(jù)處理服務的建設,嗶哩嗶哩實現(xiàn)了顯著的業(yè)務與技術價值:
- 業(yè)務賦能:為個性化推薦、內(nèi)容安全、商業(yè)化廣告、運營決策等提供了堅實、及時的數(shù)據(jù)支撐,直接提升了用戶體驗和商業(yè)效率。
- 效率提升:數(shù)據(jù)研發(fā)效率大幅提高,需求交付周期從“周/月”級縮短到“天/小時”級。業(yè)務方獲取數(shù)據(jù)從“提需求”轉(zhuǎn)變?yōu)椤白灾铡薄?/li>
- 成本優(yōu)化:統(tǒng)一的資源調(diào)度與存儲管理,避免了重復建設,實現(xiàn)了集群資源利用率的整體優(yōu)化。
- 質(zhì)量與信任:標準化的流程與全面的監(jiān)控,構建了公司內(nèi)部對數(shù)據(jù)資產(chǎn)的信任文化。
嗶哩嗶哩的數(shù)據(jù)處理服務將繼續(xù)向更智能、更實時、更易用的方向發(fā)展:深化實時數(shù)倉建設,探索數(shù)據(jù)湖倉一體化架構;加強AI能力注入,實現(xiàn)數(shù)據(jù)處理的智能化運維與異常檢測;進一步降低數(shù)據(jù)消費門檻,讓數(shù)據(jù)能力像水電煤一樣,無縫、高效地流淌到每一個需要的業(yè)務環(huán)節(jié),持續(xù)鞏固B站在內(nèi)容生態(tài)領域的核心競爭力。