波司登集團作為全球領先的羽絨服公司,每年的銷售旺季集中在四個月間,需高效把握業務機遇以實現高營收。為滿足集團銷售旺季的實時數據分析需求,同時降低淡季數據分析成本,波司登決定升級大數據架構,採用阿里雲數據庫 SelectDB 版升級數倉,基於阿里雲 SelectDB 雲原生存算分離架構,實現了資源隔離與彈性擴縮容,並取得了查詢性能提升 2-5 倍、總體成本降低 30% 以上、效率提升 30% 的可觀收益。
業務需求
波司登集團自 1976 年創立以來,專注羽絨服制造領域已有 48 年,產品暢銷全球 72 個國家。2021 年,波司登羽絨服銷售規模達到全球領先,並且在 2023 年實現全年營收 232.14 億元,同比增長 38.4%。近年來,波司登集團通過數據驅動的精細化運營,成功從“羽絨服專家”轉型為“多品類功能性服飾巨頭”,其數據分析業務覆蓋門店運營、電商平台、用户運營等多個環節。
- 門店運營:波司登門店規模目前已超過 3500 家,運營注重精細化及高效化**。門店數據分析服務須具備高併發與低延遲能力**,以應對節假日、新品發佈、促銷及寒潮期間的銷售高峯期,實時監控庫存與銷售數據,快速調整銷售策略與促銷活動,基於單門店坪效和區域消費偏好,優化商品陳列及庫存分配;
- 電商平台:波司登電商平台覆蓋天貓、京東、抖音等主流平台,粉絲總量超 5000 萬。由於線上促銷活動頻繁(如季節上新、節日大促),電商平台流量波動顯著高於線下門店,數據分析服務需在具備高併發與低延遲能力的同時,具備彈性擴展能力,根據流量高峯與低谷靈活配置不同規模計算資源,以支持實時調整活動策略與管理庫存;
- 用户運營:波司登用户運營聚焦精準化與個性化,數據分析服務需支持人羣圈選,通過用户年齡、消費頻次、偏好等標籤劃分細分市場。 結合 CRM 系統和大數據分析,實現會員生命週期管理(如休眠用户喚醒、高價值用户專屬權益),並針對不同羣體設計差異化活動(如向年輕用户推送聯名款,向高淨值客户推薦高端系列)。
為滿足上述業務場景並驅動集團發展,波司登將數據分析需求分為以下四類:
- 實時報表: 建立上百張實時報表,覆蓋線下門店庫存管理、電商平台數據監控、供應鏈生產需求管理及物流配送優化等核心業務場景,確保業務部門能夠實時掌握關鍵數據,快速響應市場變化;
- 離線報表: 離線報表為業務部門提供線下門店、線上各渠道基礎運營分析,涵蓋銷售、庫存、營銷等維度的週報、月報和年報,幫助業務部門瞭解業務表現並制定長期策略;
- 人羣圈選: 通過用户年齡、消費頻次、偏好等多維度標籤,精確劃分市場。並針對不同羣體設計差異化活動,幫助實現精準營銷;
- 即席查詢: 為內部專業的數據分析師提供自助式數據獲取能力。支持對門店、物流、工廠等數據進行長週期的關聯分析及深度下鑽,挖掘業務洞察,輔助決策優化。
早期架構痛點
- 波司登集團原數據架構
為支撐上述數據分析需求,研發與數據管理部門分別部署了 Apache Doris、PostgreSQL、StarRocks 等多個分析引擎。其中 Apache Doris 主要用於複雜業務邏輯的實時分析查詢,PostgreSQL 主要用於簡單業務邏輯的實時分析查詢,StarRocks 則用於離線數據的 BI 報表分析和人羣圈選業務。
該架構存在以下問題:
- 架構複雜、冗餘存儲:多分析引擎會存儲多份數據,造成存儲與計算資源冗餘;
- 穩定性不足、性能受限:為滿足時效需求,複雜報表有時直接在業務庫中查詢以提高數據時效性,但會為在線業務系統帶來風險,影響其他重要業務穩定性。此外,複雜查詢佔用大量機器資源,性能受限,且因多個業務查詢負載不同,需多獨立計算組隔離資源,數據共享需多次跨計算組流轉查詢,導致效率較低;
- 不支持彈性擴縮容:存算一體模式在彈性擴容方面存在不足,導致擴縮容代價高昂,難以適應業務高峯和低谷期的差異。
為解決以上問題,波司登決定全面升級現有架構,統一分析引擎,引入存算分離新架構,完成新一代大數據平台和數倉升級建設。基於實際業務場景,波司登明確了以下升級需求:
- 新架構需支持高併發點查詢,在海量併發讀寫實時報表場景下響應穩定,平均 RT 要求毫秒級別,以滿足人羣圈選業務與 VIP 報表查詢需求,為業務高效運轉提供支撐;
- 新架構需支持複雜 SQL 查詢,在滿足 10 併發的情況下秒級返回,以滿足實時和離線報表高併發查詢需求;
- 新架構需支持業務之間資源隔離,避免業務間相互影響。並需要擁有集羣快速擴縮容能力,確保在高併發或大數據量處理時靈活配置資源,保持高性能和穩定性;
經過多款產品測試對比,波司登發現阿里雲 SelectDB 能夠支撐高併發點查詢,實現秒級查詢響應,並具備資源隔離能力,完全滿足業務需求。利用阿里雲 SelectDB 存算分離架構及快速彈性擴縮容特性,可實現按需付費,有效降低成本。最終,波司登決定基於阿里雲 SelectDB 升級 OLAP 分析平台。
基於阿里雲 SelectDB 升級 OLAP 平台
- 波司登集團基於阿里雲 SelectDB 升級後的數據架構
波司登將原架構查詢引擎與計算引擎統一升級為阿里雲 SelectDB,替換原先架構中 Apache Doris、Starrocks、PostgreSQL 等其他技術棧,並將原有的存算一體架構升級為存算分離架構。
- 阿里雲 SelectDB 技術架構圖
波司登集團升級後的數據架構基於阿里雲運行,無需自行搭建並維護複雜的數據平台,而是由阿里雲負責底層基礎設施管理與維護,在運維方面降低了成本。
阿里雲 SelectDB 存算分離架構能夠根據波司登淡季、旺季不同規模的業務需求,靈活配置計算資源規模,迅速適應業務變化。同時,該架構支持不同業務在共享數據時,實現計算資源的有效隔離,兼具穩定性與高效率。
充分利用雲上多樣化存儲介質,阿里雲 SelectDB 將數據直接存儲到成本較低的 OSS 對象存儲中,在降低資源成本的同時,顯著增強的數據的高可用性。此外,針對熱數據,也會將其緩存至成本相對較高的 SSD 存儲中,確保熱數據查詢的極速響應。
此外,作為阿里雲生態系統的一員,阿里雲 SelectDB 能夠無縫集成阿里雲其他產品與服務,這不僅簡化了波司登的數據管理和分析的流程,同時提升了業務處理的效率。
數據流轉方案
在基於阿里雲 SelectDB 的新架構中,波司登數據鏈路分為實時與離線兩條鏈路。
- 實時數據鏈路分為兩條路徑:
- 大規模實時報表場景主要採用 Debezium 採集源端數據,它能同時捕獲上百張表。作為 Kafka Connector Source,Debezium 將業務數據寫入至 Kafka。隨後,Doris Kafka Connector 作為 Sink Connector,將數據從 Kafka 寫入 SelectDB,此過程支持上百張表同時產生和消費數據, 並支持多 Topic 並行,實現了數據鏈路的統一管理和統一監控;
- 中小規模實時場景主要採用 Flink SQL 採集源端數據,後通過 Doris Flink Connector 消費數據寫入到 SelectDB,Doris Flink Connector 支持攢批與 Checkpoint 模式,實現快速開發、數據實時入庫與分析查詢。
- 離線數據鏈路則專注於 T+N 數據處理,處理後的數據存儲於 MaxCompute 中, Dataphin 以全量或增量方式通過 Stream Load 將數據寫入阿里雲 SelectDB 。在數據導入期間通過配置血緣關係,在合適的時機觸發異步物化視圖刷新,用於提升查詢性能。
如何實現資源隔離?
假設下午 6 點,波司登全國門店正在盤點當日庫存與營業額,與此同時,數據分析師正在進行一項任務:分析近一年銷量及購買人羣數據。該任務涉及海量歷史與實時數據,直接佔用了數據庫 80% 資源。由於該大規模數據分析任務與門店的日常運營查詢需要查詢同一張營銷記錄表,共享同一數據庫資源, 導致該數據庫資源緊張,全國門店查詢請求變慢堆積,最終造成數據庫崩潰,長時間無法服務。
通過上述場景可知,同一份業務數據會被多場景分析業務調用,各業務數據存在交叉,為避免業務之間互相影響,確保業務獨立、穩定運行,實現資源隔離至關重要。
阿里雲 SelectDB 存算分離架構幫助波司登實現了靈活且有效的資源隔離。 數據存儲於具有高可用機制和強 LSA 能力的阿里雲 OSS 中,確保數據可靠性。計算節點僅負責緩存區數據存儲,並通過標籤機制將查詢和導入劃分到不同的計算組中。具體來説,每個計算節點均會被打上標籤,具有相同標籤的計算節點會被歸入同一組。通過該機制,不同業務可以隔離運行在不同組中,從而實現資源的硬隔離。
波司登通過阿里雲控制枱,一鍵購買部署數據倉庫,並設計了涵蓋四個物理隔離的計算組的資源隔離方案:
- 實時報表計算組:該計算組主要提供全國門店和各部門實時營銷數據分析,對查詢和導入的時效性要求極高,所以單獨劃分計算組使用;
- BI 計算組:波司登將大部分離線加工作業和異步物化視圖刷新作業運行在單個較大的計算組中,該計算組稱為 BI 計算組,避免過多拆分造成資源浪費。該計算組主要用於夜間離線 T+N 數據導入、異步物化視圖計算、人羣圈選計算、BI 報表分析。該方案既保障了夜間數據加工資源充足,又避免了工作時間佔用資源最多的 BI 報表分析影響其他報表穩定性;
- 離線報表計算組:該計算組較小,用於直接查詢 BI 計算組加工後的數據,避免多份存儲造成冗餘浪費;
- 人羣圈選計算組:由於圈選計算運行在資源較多的 BI 計算組中,該計算組僅用於查詢結果,因此,該計算組同樣較小。該種運行方式既可提高人羣圈選計算的效率,又不影響圈選業務日常查詢。
波司登資源隔離方案通過四個大小不一的物理隔離計算組,合理配置資源,有效提升查詢性能,確保各業務場景高效、穩定運行。
如何實現快速擴縮容?
阿里雲 SelectDB 支持計算資源的彈性伸縮,可以根據工作負載的高低峯運行時段、作業執行規律,靈活配置不同規模的計算資源。
- 阿里雲 SelectDB 計算資源彈性伸縮
阿里雲 SelectDB 計算節點與數據之間並未強一致綁定,當波司登業務進入旺季需要擴容,或進入淡季需要縮容時,系統僅需通過 FE 的元數據動態映射即可完成擴縮容。擴縮容時間主要取決於計算節點啓動時間,藉助阿里雲 SelectDB 產品與阿里雲瑤池平台資源池能力,能夠實現快速分配資源,快速啓動計算節點,從而實現分鐘級別業務無感知高效擴縮容,確保在高併發或大數據量處理時靈活配置資源,保持高性能和穩定性,滿足了波司登對於集羣快速擴縮容能力的需求,實現按需付費,從而帶來了數據分析成本的降低。
遷移方案
- 波司登基於阿里雲 SelectDB 的實時數倉遷移方案
波司登數據遷移採用 Kafka 與 Flink 進行實時同步,採用阿里 Dataphin 與 MaxCompute 進行離線跑批,最終數據匯入阿里雲 SelectDB 。針對原 AP 庫存量遷移工作,波司登採用 X2Doris、Catalog、Dataphin、DTS 等工具完成。
X2Doris 是一款功能強大的數據遷移工具,專為將數據便捷地遷移到 Apache Doris 和 SelectDB 而設計。 集自動建表和數據遷移為一體,性能優異,簡單易用,顯著簡化了波司登將數據從 Apache Doris 和 Starrocks 遷移至阿里雲 SelectDB 的工作量。
遷移過程中,波司登採用以下策略確保遷移工作高效進行:
- 遷移前期,波司登採用 X2Doris 進行庫表結構全量同步。將 Apache Doris 和 Starrocks 中的主鍵表默認選擇從 Merge On Read 模式調整為 Merge On Write 模式,以提高查詢性能。庫表結構同步完成後,調通 Kafka Doris Connector 和 SelectDB 的數據鏈路。
- 數據遷移時,波司登暫停 Kafka Doris Connector,通過 X2Doris 和 Catalog 完成數據全量同步,隨後重啓 Kafka Doris Connector,確保數據完整的同時,高效推進遷移進程。
- 離線跑批遷移分為調度任務遷移和數據遷移。歷史數據遷移藉助 Catalog,可輕鬆遷移多種數據庫。完成歷史數據初始化後,波司登着手進行調度任務遷移,將數據源的目標庫統一更換為阿里雲 SelectDB,在此過程中,波司登合併了同一張表的多個任務,以優化遷移效率。
在數據遷移過程中,由於歷史數據冗餘,單表常分散存儲,波司登面臨表合併的挑戰。合併時,出現了字段和類型衝突。為此,波司登與阿里雲、飛輪科技合作,在應對錶存儲在多個源庫的情況時,通過設計一張報表,每日校對多個源庫和阿里雲 SelectDB 的表數據量差異,根據差異清單,檢查每張表對應的數據流任務,逐步消滅掉所有數據量不一致的情況,最終成功完成了升級。
應用收益
波司登集團完成基於阿里雲 SelectDB OLAP 分析平台的優化升級後,取得了以下關鍵收益:
- 性能提升 2-5 倍:中小查詢、大查詢、拖拉拽、下載性能均大幅提升;
- 中小查詢:2000 QPS 小查詢,阿里雲 SelectDB 平均響應時間低於 20 ms。142 QPS 中等查詢,平均響應時間為 8 ms。相較原數據架構,性能提升 2-5 倍;
- 大查詢:在數千行復雜 SQL 報表查詢場景中,原架構單併發執行需數分鐘甚至失敗。替換阿里雲 SelectDB 後,性能大幅提升,單併發降至毫秒級,10 併發秒級完成;
- 拖拉拽:在即席查詢場景中,分析師通過拖拉拽方式自由關聯各系統數據。由於該場景資源消耗較大,阿里雲 SelectDB 部署了配置較高的集羣,實現 21 併發多資源組穩定秒級響應;
- 下載:在實時報表和離線報表場景中,針對 2 GB 文件的導出耗時優化至 43.8 s;
- 總體成本降低 30% 以上:數據庫、存儲成本均大幅降低;
- 數據庫成本降低 30%:阿里雲 SelectDB 作為 SaaS 產品,憑藉雲原生存算分離、彈性伸縮等特性,使波司登實現按需付費,業務旺季資源消耗大時費用高,而淡季消耗小則費用低。此外,阿里雲 SelectDB 統一了分析引擎,總體為波司登節省了 30% 數據庫成本;
- 存儲成本降低 61%:阿里雲 SelectDB 採用單副本存儲,相比傳統數據庫三副本存儲,資源存儲成本更低。存儲成本理論降低 2/3,實測節省 61%;
- 效率提升 30% 以上:數據流完成簡化,運維人員排班需求減少,效率提升;
- 數據流完成簡化:統一表結構與單數據源策略,調度任務數量削減 30%;
- 運維效率提升 36%:多分析引擎需要多名工程師進行維護,原先旺季需要多名工程師通宵支持。升級後,波司登完成了集羣 SaaS 化,具備了高可用特性,減少了集羣維護、升級停服的時間,降低了業務風險。目前旺季僅需 1-2 人值守,晚上 9 點 30 左右即可結束工作,大幅削減了通宵排班需求,運維效率顯著提升。
展望未來,波司登將深入推進阿里雲 SelectDB 在集團內部的使用,替換自建 Doris 可觀測平台底座,繼續降低運維成本,推進架構統一。波司登也將藉助 Arrow Flight SQL 等功能,將更智能化的自助分析功能提供至業務部分,使業務部門能夠獨立完成部分經營分析與報表工作,進一步提高交付與運營效率。