華為雲企業級Redis:助力VMALL打造先進特徵平臺

華為雲開發者社群發表於2021-10-22
摘要:當電商平臺對AI演算法模型的需求越來越多,特徵資料平臺的統一建設是不少開發團隊頭疼的事情。因為只有通過統一的特徵資料儲存,才能改變原有的“資料孤島”,解決生產重複造輪子的窘境。

本文分享自華為雲社群《華為雲企業級Redis:助力VMALL打造先進特徵平臺》,作者: GaussDB 資料庫 。

1 客戶介紹

華為商城(VMALL)是華為公司旗下自營及精選好物的官方電商平臺,本著“智慧生活、精選好物”的理念,為消費者提供最齊全的華為品牌產品及鴻蒙生態產品,覆蓋了辦公、出行、居家、運動、娛樂等生活需求,致力於將全場景智慧生活帶給更多的消費者。

雲資料庫GaussDB(for Redis)作為華為雲旗下企業級Redis,致力於為客戶提供穩定可靠、超高併發,且能夠極速彈性擴容的KV儲存服務。GaussDB(for Redis)在VMALL特徵工程平臺建設中,起到了關鍵作用。

2 業務痛點

VMALL使用了大量的AI和大資料技術,用來支撐智慧推薦、精準營銷、智慧搜尋、選品投放等業務的高效開展。
image.png

隨著業務的快速發展,系統對AI演算法模型的需求日益增多。當前的AI開發流程中,“模型訓練”和“模型部署”階段都已經有成熟的平臺支撐,唯獨“特徵資料準備”階段缺乏通用平臺,導致了“線上推理和線下訓練的特徵資料不一致”、“各演算法模型獨立開發,特徵生產重複造輪子”、“特徵工程投入時間多(佔據演算法開發耗時的60%-70%)”3個關鍵問題,嚴重影響了研發效率,阻礙業務發展。

為解決此問題,VMALL大資料團隊開始著手建設統一的特徵平臺。
image.png

特徵平臺的核心部件是特徵儲存資料庫,只有通過統一的特徵資料儲存,才能改變原有的“資料孤島”窘境,徹底解決“不一致”、“難共享”、“效率低”3大問題。

但也正是由於特徵資料庫需要承擔打通線上/線下多個場景,對接批式/流式多種資料來源,滿足訓練/推理多樣消費需求,對特徵資料庫的選型提出了非常高的要求:需要找到一款資料儲存服務,既能提供低成本的海量資料儲存並方便擴容,又能保證資料的絕對可靠和服務的高可用;既要滿足低時延的線上推理,又要滿足高吞吐的線下訓練;既能提供簡潔的KV介面供下游輕鬆消費,又要相容主流的批式/流式處理引擎(Spark/Flink等)供上游快速接入。

經過深入調研,VMALL大資料團隊最終選擇了GaussDB(for Redis)作為特徵資料庫,下面就讓我們詳細看看GaussDB(for Redis)是如何滿足上述苛刻要求的。
image.png

3 解決方案

特徵平臺使用GaussDB(for Redis)的主要流程

1)特徵生產(抽取、處理、儲存)
image.png

  • 離線特徵(靜態特徵):

定時排程Spark作業,從各種資料倉儲、資料湖中提取資料,進行特徵工程處理後,存入GaussDB(for Redis) 。

  • 實時特徵(動態特徵):

Flink消費Kafka,或流式儲存中的資料,持續更新到GaussDB(for Redis)中。

2)特徵消費
image.png
image.png

  • 線上推理:

模型已經部署到生產,開始承接業務,需要低時延,高併發的消費資料,從GaussDB(for Redis)

中讀取資料。

  • 線下訓練:

GaussDB(for Redis)存有最新的特徵資料,OBS中存有全量的特徵資料。

1)對於使用靜態特徵的較為簡單的模型,可以直接從OBS中獲取特徵使用。

2)對於使用實時特徵的場景(如實時推薦系統),由Flink從Kafka中實時取得使用者請求記錄,並從GaussDB(for Redis) 查詢取得特徵,將記錄和特徵拼接成訓練樣本,儲存到檔案中,供線下訓練使用。

特徵平臺對GaussDB(for Redis)的核心訴求

結合上述業務場景,總結特徵平臺對GaussDB(for Redis)的核心訴求如下:
image.png

GaussDB(for Redis)滿足特徵平臺訴求的關鍵方案

1)業務介面

GaussDB(for Redis)相容社群Redis5.0介面,支援和Spark/Flink Connector的對接,很好的滿足了業務的使用需求

2)穩定性

GaussDB(for Redis)採用自研核心,解決了社群Redis的fork,oom等老大難問題,具備了企業級應用的穩定性

3)可靠性

資料零丟失:逐條命令實時落盤,底層三副本冗餘儲存,無資料丟失風險

資料強一致:基於GaussDB公共的共享儲存部件DFV,實現三副本強一致,多點訪問無髒讀風險

4)成本

GaussDB(for Redis)實現資料的自動冷熱分離,採用記憶體+SSD的混合儲存方案,大幅降低了客戶的使用成本。按照VMALL的特徵體量測算,億級使用者,每個使用者的特徵數量是數K-數10K,GaussDB(for Redis)一年的費用僅3W出頭,如果選用社群Redis,費用在20W+

5)效能

GaussDB(for Redis)採用多執行緒架構,並且所有節點可以同時支援寫入,因此可以較好滿足批量灌庫的高吞吐寫需求。讀方面,基於冷熱分離方案,熱資料常駐記憶體提供穩定低時延;冷資料讀涉及IO交換,存在一定長尾,但可滿足VMALL業務要求(目前VMALL線上GaussDB(for Redis)例項讀時延平均0.16ms,P99 0.4ms,P9999 1.5ms)

6)可擴充套件性

基於計算儲存分離架構,底層資料可被任一節點訪問,擴容過程不發生資料拷貝搬遷,因此速度極快;計算節點擴容分鐘級完成,儲存擴容秒級完成,RTO < 10秒

綜上,與社群Redis相比,GaussDB(for Redis)提供了更穩定的使用體驗,更可靠的資料儲存,更低廉的使用成本和更便捷的擴充套件能力,是更適合像VMALL特徵平臺這樣大規模電商大資料應用的企業級Redis服務。因此,VMALL特徵平臺最終選擇GaussDB(for Redis)作為特徵資料的儲存服務。

4 上線後效果

目前VMALL已完成一期的特徵資料遷移,包括“特徵生產”業務中的“Spark離線特徵生產”,以及“特徵消費”業務中的“線下訓練Flink特徵查詢”,已遷移到GaussDB(for Redis)。

當前GaussDB(for Redis)執行平穩,業務高峰時段時延穩定,能夠滿足VMALL當前業務要求。其中,讀平均時延0.2ms(p99<0.4ms),寫入平均時延0.6ms(P99<2ms)。

VMALL當前已啟動二期的特徵資料遷移,計劃完成包括“Flink線上特徵生成”,“線上推理”等核心業務的接入。

5 總結

本文介紹了華為商城(VMALL)在建設特徵平臺過程中,對特徵資料儲存服務的選型和應用。由此可見,華為雲GaussDB(for Redis)服務在成本,可靠性,可擴充套件性等方面具有優勢,可作為特徵資料儲存的理想方案,提供企業級的穩定可靠的Redis服務能力。

企業級Redis專場熱賣中,不限新老使用者,首月免費(連結):

https://console.huaweicloud.c...

點選關注,第一時間瞭解華為雲新鮮技術~

相關文章