破解雙中臺困局:萬家數科 x StarRocks 數字化技術實踐

語言: CN / TW / HK

華潤萬家是世界 500 強企業華潤集團旗下優秀零售連鎖企業,也是中國最具規模的零售連鎖企業。萬家數科商業資料有限公司(以下簡稱“萬家數科”)是華潤萬家 100% 控股的資訊科技公司,在服務華潤萬家的同時,為零售商及其生態提供核心業務系統的整體解決方案與運維服務。

2019 年,萬家數科自主研發了聚合支付平臺——Vapay,作為騰訊、阿里的獨立軟體服務商(ISV)為零售商提供聚合支付服務,開啟市場化之路。2021 年自主研發了供應商資料服務平臺——資料羅盤,為零供協同賦能。

 

#01

萬家數科聚焦在零售行業的“業財一體”數智化技術創新實踐

如何把零售行業的業務流程、財務會計流程、管理流程有機融合,使財務資料和業務資料融為一體。實現最大限度地在企業內部實現資料共享,實時控制經濟業務,實現資訊化管理、降低成本,為企業贏得更多商機和利潤。

在技術層面上,萬家數科積極創新,通過建設業內首創的微服務架構“規則中心”、“單據中心”,重塑財務規則,為業財一體化奠定關鍵基礎。通過業務中臺、資料中臺雙輪驅動,為業務賦能。

 

#02

雙中臺下的資料查詢困局

原構建的資料流程圖如下:

1. Apache Hive(以下簡稱 Hive)中的資料存量已有上百 TB,供應商的 API 介面呼叫都需要數倉開發工程師從 Hive 中跑批撈資料,開發工作量繁重、效率低、運維成本指數級增長;

2. MySQL 快取庫是 Hive 離線 T+1 計算好的結果資料,所有 API 介面呼叫均面向這個快取庫,未來還會面向外部合作供應商如京東、美團,經常出現 API 介面呼叫超時;

3. 對於前端業務系統直接產生的單據明細資料,為了提升採購協同效率,針對市場變化快速反應、降低庫存成本,從下單、審批到訂單採購、配送、單據結算的整個過程供應商希望看到實時的資料更新,對於部分高流量的業務查詢,即使做了分庫分表處理,存量資料也達到了千萬級, MySQL 難以支撐,響應時間無法達到預期。另外,海量資料壓縮率過低,也增加了平臺成本。

4. 基於微服務模式下的 API 資料介面組合模式,在查詢某個供應商的應付款餘額等少量資料查詢請求時還可以應付。對於批量查詢,比如,查詢所有凍結狀態的供應商應付款餘額,就比較複雜了。需要先根據凍結狀態,通過供應商 API 介面找出所有凍結的供應商編碼,再利用這些編碼到應付款餘額 API 中查詢。前端還需要通過程式程式碼進行查詢結果的拼接。API 介面服務的不穩定,經常會出現資料查詢超時,API 組合模式檢索分散在多個服務中的資料也導致存在昂貴、低效的記憶體資料拼接。

 

#03

尋找解決問題的銀彈

我們決心用一個超強的資料底座,實現即席資料查詢,打造實時數倉。

在資料底座的產品選型上,我們對比了ClickHouse、TiDB、StarRocks:

  • ClickHouse:在單表查詢上有比較好的查詢效能,但我們的業務場景涉及較多的多表 Join,所以 ClickHouse 並不能很好滿足我們的需求;

  • TiDB:相比 ClickHouse 和 StarRocks,更適合 TP 類的業務場景,在 AP 場景下的查詢效能相對弱一些;

  • StarRocks:已實現全面向量化,支援高併發查詢、複雜 SQL 查詢。在單表和多表關聯查詢效能都表現比較好,資料可以靈活建模,支援標準的 MySQL 協議。作為新一代極速統一的 MPP 資料庫,StarRocks 有穩定的國內技術團隊提供本地化支援服務,方便進行叢集擴縮容,運維成本相對低。

經過綜合審慎的評估,我們選擇 StarRocks 來進行我們的資料底座的搭建。

 

#04

最佳的解決方案:StarRocks

新方案下的資料流程圖:

作為資料底座,StarRocks 彙集前端業務產生的各類過程及結果業務單據,確保業財資料一體,財管結果的一致性,同時也釋放核算系統壓力,提升核算執行效率。也為後續進一步解耦 ERP 形成一套自有產權的零售產業核心 ERP 奠定基礎。

目前生產叢集將近四百個 CPU 核心,四千 GB 記憶體,已開發上線近百張報表,解決了之前以 MySQL 作為查詢快取庫出現的查詢時間長、API 介面呼叫超時的問題:

1. 已經服務於超過 3000 家門店進行財務結算和對賬等,比如月初/月末檢視供應商付款與欠款情況,以及每天早上門店實時檢視不同供應商的銷量情況。

2. 查詢 QPS 在近千級別,可做到秒級延遲。

 

#05

展望未來

StarRocks 工具在“業財一體化”技術方案實施落地的過程中,無論產品力還是服務能力,都帶給了我們很高的信心。因此後續解決方案升級中,計劃將相關業務的技術方案逐步遷移到 StarRocks,實現 OLAP 層統一。

另一方面也將繼續探索 StarRocks 新 feature 在創新數字化轉型的典型資料分析場景中應用。

萬家數科將持續廣納新技術,在資料應用領域持續發力,打造零售行業的數字化標杆。

 

關於 StarRocks 

StarRocks 創立兩年多來,一直專注打造世界頂級的新一代極速全場景 MPP 資料庫,幫助企業建立“極速統一”的資料分析新正規化,助力企業全面數字化經營。

當前已經幫助騰訊、攜程、順豐、Airbnb 、滴滴、京東、眾安保險等超過 110 家大型使用者構建了全新的資料分析能力,生產環境中穩定執行的 StarRocks 伺服器數目達數千臺。 

2021 年 9 月,StarRocks 原始碼開放,在 Github 上的星數已超過 3100 個。StarRocks 的全球社群飛速成長,至今已有超百位貢獻者,社群使用者突破 5000 人,吸引幾十家國內外行業頭部企業參與共建。