天天看點

Flink+Hologres助力伊的家電商平台建設新一代實時數倉

GitHub 位址 https://github.com/apache/flink

歡迎大家給 Flink 點贊送 star~

廣州伊的家網絡科技有限公司是一家專注于服務女性的B2B2C電商平台,業務範圍包括護膚、彩妝、營養美容食品、私人定制服裝、跨境電商等領域。自2008年孵化項目,2011年5月上線天貓商城,全國8大配送中心,妍詩美、妍膳等品牌陸續成立,并于2013年上線了伊的家自主電商平台,2020年全面啟動品牌更新。伊的家以網際網路主動式服務營銷,打造護膚老師與客戶強連接配接關系,從上到下嚴格貫徹以品質及專業為基礎,以社交信任做連接配接,以服務獲得認可的經營思路,經過持續的創新和積累,成為社交電商翹楚。

業務場景與痛點分析

伊的家是一家集開發、設計、營運、銷售于一體一個B2B2B的電商平台,服務百萬級會員之外,還同時支援上千級别經銷商和代理商,業務應用多、資料量大、資料查詢并發要求高。

伊的家技術部門在近3年經曆了高速發展,在發展過程中,始終堅持業務優先,為此也進行了應用整合、拆分微服務、聚合分布式應用的多種技術更新改造,目前整個部門現狀分析如下:

  • 架構方面:多語言、多資料源、技術更新的業務入侵問題明顯;
  • 資料方面:應用拆分引發的資料孤島問題,繼而造成大量的資料複制、重建立設問題;
  • 應用方面:從業績的角度出發,業務方希望及時準确地看見業績資料,對實時性有了較高需求;
  • 效率方面:體系化的流程與工具訴求愈發強烈;
  • 成本方面:主要問題是既懂大資料又懂業務的人才招聘難,團隊建設成本高
Flink+Hologres助力伊的家電商平台建設新一代實時數倉

伊的家近幾年業務高速增長,資料量激增,業務複雜度也随之增大,解決在目前大資料架構之下,“人才儲備難”、“業務更新受限于已有技術”、“雙11活動壓力大”等痛點問題已迫在眉睫。

Flink+Hologres助力伊的家電商平台建設新一代實時數倉

産品選型

伊的家技術部門對于技術更新改造的需求有非常明确清晰的定義,主要圍繞關存儲彈性擴縮容、查詢性能優化、OLAP、學習成本、查詢響應、可擴充等角度進行展開,核心關注以下3個問題:

1)如何快速完成資料清洗

2)如何快速精準完成資料校驗

3)如何快速進行故障恢複處理

Flink+Hologres助力伊的家電商平台建設新一代實時數倉

在技術選型時始終堅持“技術選型是第一生産力”的原則,堅信技術儲備沒有最好隻有更好,堅信技術選型是決定能力差異化所在,堅持提高一次性把事情做對的能力,堅信開放分享、認知更新的重要性。

Flink+Hologres助力伊的家電商平台建設新一代實時數倉

早期耶基于Hadoop、HBase、Kafaka、Azkaban、Spark、Greenplum等開源大資料産品進行了許多摸索嘗試,通過性能對比最終采用了Greenplum,但最終發現Greenplum并發能力差,隻适合分析場景,并不适合高并發的查詢服務。

後來,在阿裡雲大資料計算平台團隊的建議下,伊的家技術部進行了全面架構更新,整個架構由DataWorks、實時計算Flink和Hologres組成,架構簡單、學習成本非常低,僅通過SQL即可輕松跑通全鍊路。

下面将會給大家介紹,阿裡雲技術産品在伊的家落地的場景最佳實踐

最佳實踐

一、客戶系統實踐

伊的家原客戶關系管理系統(CRM)主要基于MySQL、MQ、Canal以及自研應用組成,為支援業務系統切斷式更新,技術部門自主研發了一套消息中間件,維護成本較高;基于Binlog、MQ、OLAP等産品自定義的資料開發流程過程繁瑣複雜、維護成本極高,且因為系統要求資料有序對清洗的并發産生了一定的限制。

Flink+Hologres助力伊的家電商平台建設新一代實時數倉

基于Hologres+DataWorks+實時計算Flink進行架構更新後,直接通過DataWorks資料內建将資料庫資料實時寫入Hologres,然後通過實時計算Flink訂閱Hologres做進一步實時清洗,把結果表更新到資料庫,即可直接服務業務。

整體架構清晰簡單、資料精準、端到端純實時、存儲分析一體化、托管式運維、全自動工具作業,原系統15人花了3個月才完成項目上線,目前架構僅需2天即部署完成。

Flink+Hologres助力伊的家電商平台建設新一代實時數倉

二、BI業績系統實踐

BI業績系統也可以了解為實時GMV大屏,業務資料主要有兩方面的要求:

  • 實時
  • 精準,業績計算絕不允許出錯。

原架構如下圖圖所示,原始資料層通過Binlog,再經過Canal套件實時寫入MQ,之後根據業務域進行業務資料分層和清洗。任務排程系統更新業績的順序為“日-月-季度-年”,這個看似完美的方案實際存在着幾個問題:

  • 實時性問題:看似實時,其實過程中可能存在5~10分鐘的延遲;
  • 并發問題:消費的并發有一定限度。
  • 運維問題:如果圖中的某個環節出現問題,可能會導緻系統也跟着出現問題。
  • 資料清洗時效問題:清洗腳本運作一次可能需要數分鐘,這期間可能會發生許多其他事情。
Flink+Hologres助力伊的家電商平台建設新一代實時數倉

下圖為更新後的BI業績系統新架構。通過DataWorks實時同步明細資料至Hologres,基于Hologres資料再增加一份實時計算Flink的實時ETL作業,即可完成“日-月-季度-年”資料的加工,最後基于Hologres對上層應用提供分析查詢服務。整個系統純實時排程、實時性高、秒級延遲、全SQL開發、資料校驗高效。

Flink+Hologres助力伊的家電商平台建設新一代實時數倉

三、實時應用數倉架構實踐

伊的家的技術部門也一直在思考如何讓應用開發人員也具備大資料開發能力,如何讓大資料不僅僅為大資料團隊所用,還同時為應用開發團隊所用。

基于實時計算FLink+Hologres+DataWorks實時數倉架構的落地,提升了資料底盤的可複用性,提高了應對業務變化的資料動态調整的靈活性,與應用團隊共同建構起帶資料的應用系統。

Flink+Hologres助力伊的家電商平台建設新一代實時數倉

四、集團數倉架構實踐

伊的家數倉團隊服務在電商業務的同時,還需要支援集團内部業務。集團數倉平台如市場主流數倉架構、基于開源大資料體系建構,目前也已經全面更新為Hologres+實時計算Flink+DataWorks實時數倉架構。

Flink+Hologres助力伊的家電商平台建設新一代實時數倉
Flink+Hologres助力伊的家電商平台建設新一代實時數倉

業務價值與賦能

Hologres+實時計算Flink+DataWorks實時數倉新方案為業務上帶來的價值主要如下:

  • 統一資料:一套方案就能支援完整流程,明細表、次元表等資料統一、有序
  • 統一服務:由Hologers直接提供各種線上服務,包括資料分析,資料服務等,減少接口建設。
  • 統一存儲:以Hologres為統一存儲,多資料源都能直接寫入到Hologres,無備援存儲,節約成本
  • 統一治理:DataWorks提供統一标準、統一作業和統一監控等,為大資料開發平台提供統一治理。

從業務上來說,新的大資料方案真的做到了開箱即用,所見即所得。

Flink+Hologres助力伊的家電商平台建設新一代實時數倉

展望未來

在大資料領域,資料規模和業務複雜性是同時制約查詢性能的關鍵因素,在這個過程中,唯有我們的開發人員不斷打磨自己的資料模型,當資料模型達到一定成熟度,性能問題即可迎刃而解。

最後,希望大家擁抱技術、擁抱變化、赢在模型,資料服務業務,資料服務應用,讓我們為應用而生,為應用而戰。

Flink+Hologres助力伊的家電商平台建設新一代實時數倉
Flink+Hologres助力伊的家電商平台建設新一代實時數倉

作者:劉松森 ,伊的家CTO,進階工程師,副教授職稱,國内多所高校客座教授

更多 Flink 相關技術交流,可掃碼加入社群釘釘大群~

Flink+Hologres助力伊的家電商平台建設新一代實時數倉

活動推薦

阿裡雲基于 Apache Flink 建構的企業級産品-實時計算Flink版現開啟活動:

99元試用

實時計算Flink版

(包年包月、10CU)即有機會獲得 Flink 獨家定制T恤;另包3個月及以上還有85折優惠!

了解活動詳情:

https://www.aliyun.com/product/bigdata/sc
Flink+Hologres助力伊的家電商平台建設新一代實時數倉