
ERP服務商萬里牛引入云原生數(shù)據(jù)庫PolarDB,助力電商SaaS系統(tǒng)增效降本
文 / 萬里牛技術(shù)專家 葉鵬飛
導言
日前,中國電商ERP系統(tǒng)開發(fā)商龍頭之一萬里牛, 在其ERP系統(tǒng)中引入了阿里云瑤池旗下的云原生數(shù)據(jù)庫PolarDB,借助PolarDB一站式事務處理和數(shù)據(jù)分析解決方案,同時利用In-Memory Column Index(IMCI)和并行執(zhí)行提供的HTAP實時數(shù)據(jù)分析能力,以及高壓縮引擎X-Engine提供的低成本海量記錄讀寫能力,實現(xiàn)了SaaS ERP系統(tǒng)的“增效降本”,解決了ERP SaaS平臺客戶數(shù)據(jù)快速增長后的復雜查詢分析效率難題,以及歷史訂單記錄數(shù)增長帶來的存儲成本飆升難題,通過一站式的解決方案快速滿足業(yè)務發(fā)展。
關(guān)于萬里牛
萬里牛是湖畔網(wǎng)絡旗下的產(chǎn)品品牌,萬里牛以ERP為核心,形成包括WMS、跨境ERP、BI、門店零售、云訂貨等在內(nèi)的產(chǎn)品矩陣,服務于開展國內(nèi)電商、跨境電商和實體門店等零售業(yè)務場景的企業(yè),經(jīng)過多年發(fā)展,萬里牛已成為國內(nèi)電商ERP領(lǐng)域的龍頭SaaS服務提供商。
萬里牛基于阿里云豐富的云產(chǎn)品體系構(gòu)建其電商SaaS平臺。在數(shù)據(jù)庫方面,大量使用了OLTP型產(chǎn)品PolarDB MySQL、RDS MySQL,NoSQL使用了Redis、Lindorm等,在OLAP型產(chǎn)品方面,使用了在線數(shù)倉、離線分析產(chǎn)品,通過產(chǎn)品和方案的組合來滿足電商SaaS各個業(yè)務模塊對數(shù)據(jù)庫的多種需求。
萬里牛電商SaaS ERP系統(tǒng)
在電商領(lǐng)域,ERP系統(tǒng)可以幫助商家降低履約成本,提升作業(yè)協(xié)同效率,同時助力提高企業(yè)管理效率,涉及到電商業(yè)務流程的各個方面,覆蓋訂單處理、倉儲管理、采購協(xié)同、分銷管理、庫存管理、售后工單、業(yè)財一體、數(shù)據(jù)分析等各個模塊。
訂單管理(OMS)
訂單處理是萬里牛ERP的核心模塊,萬里牛支持來自200多個國內(nèi)外電商平臺的訂單通過實時同步方式下載到ERP中。一旦訂單被下載,系統(tǒng)會根據(jù)自動化匹配策略,選擇最合適的倉庫、快遞和是否需要拆單,以確保最快履約和最低成本。超過90%的訂單通常會自動進入下一步,通過智能策略進行處理,而其他訂單則需要進行人工審核,通過客服與消費者的溝通來決定是否延遲發(fā)貨或進入售后環(huán)節(jié)。如果消費者通過線上平臺提交退款或退換貨申請,訂單會自動處理,無需人工介入。
倉儲管理(WMS)
訂單經(jīng)過人工或自動化審核后,會進入萬里牛智能倉儲系統(tǒng)的作業(yè)環(huán)節(jié)。在這里,倉庫工作人員會進行打單、分揀、打包、驗貨、稱重和出庫等全流程,以確保消費者能盡早收到自己心儀的寶貝。當然,系統(tǒng)也有多項智能策略來提高倉內(nèi)作業(yè)效率。每一個商品都按照標準的庫位號、貨架號、層數(shù)等整齊地存放在貨架上,揀貨員可以使用播種揀貨模式,自動帶入任務,依序?qū)⒂唵畏湃雽牟シN框中,按照PDA提示到達指定庫位,掃描條碼將商品放入指定的播種框中。使用PDA指導,倉儲作業(yè)人員可以通過單次“S”型路徑,走更少的步數(shù)拿更多的貨,快速高效地完成該波次下所有訂單的揀貨任務,省時省力。
數(shù)據(jù)管理
基于萬里牛ERP中龐大的商品、訂單數(shù)據(jù),搭配萬里牛ERP里的幾十張多維度報表和BI工具,輕松實現(xiàn)高效、全面的數(shù)據(jù)分析和決策支持。其中,多環(huán)節(jié)報表集合能夠?qū)崿F(xiàn)全場景數(shù)據(jù)的覆蓋,讓用戶一目了然地掌握企業(yè)各個環(huán)節(jié)的數(shù)據(jù)情況。預設數(shù)據(jù)分析模板則為用戶提供了量化業(yè)務環(huán)節(jié)的核心指標,幫助他們更加全面地分析和把握企業(yè)的運營情況。
零代碼自定義搭建數(shù)據(jù)看板是另一個非常實用的功能,它能夠讓用戶輕松抓取核心業(yè)務信息,無需編寫代碼或擁有專業(yè)技能,通過拖拉拽的形式讓用戶能夠快速建立自己的數(shù)據(jù)看板,實現(xiàn)高效的數(shù)據(jù)分析和管理。此外,賬號自定義權(quán)限設置能夠保障用戶數(shù)據(jù)安全,讓企業(yè)內(nèi)部數(shù)據(jù)不被泄露或濫用。最后,銷量預測、庫存預警等智能分析能夠靈活配合市場決策,讓企業(yè)的決策更加準確和高效。
萬里牛ERP數(shù)據(jù)庫采用典型的SaaS多租戶架構(gòu),某個商家的慢SQL可能影響同數(shù)據(jù)庫上其他商家系統(tǒng)卡和慢,同時訂單管理作為ERP的核心,也是數(shù)據(jù)密集型應用,對數(shù)據(jù)寫入和分析實時要求高,在多租戶架構(gòu)下,慢SQL雪崩效應可能進一步放大,因此,解決慢SQL能夠有效提升客戶體驗和降低系統(tǒng)運行風險。
增效:PolarDB IMCI提升訪問體驗萬里牛ERP最初使用MySQL作為核心數(shù)據(jù)庫,在早期數(shù)據(jù)體量較小、業(yè)務模式相對簡單的情況下,MySQL支撐了業(yè)務發(fā)展,但隨著公司規(guī)模擴大、客戶體量逐年增加,業(yè)務場景變得越來越復雜,日單超數(shù)十萬的客戶數(shù)量也在持續(xù)增加。隨著直播等新的業(yè)態(tài)發(fā)展,原生MySQL已經(jīng)無法完全滿足各種復雜查詢和承受突發(fā)的爆單壓力。
為解決復雜查詢的效率和技術(shù)問題,萬里牛技術(shù)團隊采用了PolarDB MySQL提供的In-Memory Column Index功能。
PolarDB一站式HTAP數(shù)據(jù)庫產(chǎn)品解決方案
使用IMCI技術(shù)方案,萬里牛ERP系統(tǒng)可以在無需額外技術(shù)研發(fā)投入和業(yè)務功能調(diào)整的前提下,快速解決眾多數(shù)據(jù)庫痛點。以下舉例介紹萬里牛ERP如何使用IMCI的。
靈活查詢的高效響應
電商ERP面向各個商品類目客戶群體,每個類目的業(yè)務細節(jié)和業(yè)務需求多樣且差異較大,體現(xiàn)在ERP系統(tǒng)里,訂單查詢頁面就需要實現(xiàn)各種查詢項來滿足用戶使用,同時數(shù)據(jù)需要進行實時匯總查詢,例如庫存、快遞成本。
審核頁面查詢項
以選擇訂單修改快遞為例,快遞公司會高頻的調(diào)整快遞費用計算規(guī)則,計算規(guī)則由包裹重量、最大單邊長度、收件地區(qū)等因素決定,商家需要基于此類條件,快速查詢出對應訂單,調(diào)整快遞申請電子面單,否則就會影響發(fā)貨時效和成本。在使用PolarDB In-Memory Column Index之前,主要依賴于MySQL行存索引能力,但對于類似如下的復雜SQL,如果交易trade存量在1000萬以上,查詢延時會急劇增加,不能有效保證客戶的頁面響應時間。
在引入PolarDB IMCI之前, 對應的訂單管理系統(tǒng)SQL監(jiān)控如下,會存在大量訂單查詢慢SQL:
使用MySQL慢查詢監(jiān)控
在引入使用PolarDB MySQL之后,我們在原有PolarDB集群上配置一個帶列索引的節(jié)點,然后在復雜查詢的表上創(chuàng)建了列存索引。之后將前述復雜的訂單查詢請求通過hint注解,直接打到IMCI節(jié)點。在trade單量超過1000萬數(shù)記錄條目的場景下,PolarDB IMCI能夠大幅度提升查詢速度,同時也極大降低了普通業(yè)務讀寫節(jié)點的壓力。
如下圖所示,在使用PolarDB IMCI之后,平均執(zhí)行時間和最大執(zhí)行時間都有了大幅降低。在一個8C的計算節(jié)點上最大執(zhí)行時間也都能控制在10S以下,在大促時間通過Serverless彈升計算節(jié)點規(guī)格,查詢時間還能進一步降低。
使用IMCI之后的SQL響應延時監(jiān)控
一站式事務處理和實時數(shù)據(jù)分析
在使用PolarDB IMCI之前, 受限于MySQL的復雜查詢效率限制,如果需要在處理日常OLTP業(yè)務的同時運行復雜查詢和實時報表,通常無法滿足報表查詢的時延要求。此時,則需要引入其他專門的數(shù)倉或者檢索系統(tǒng)并將數(shù)據(jù)同步過去,然后使用兩套系統(tǒng)的組合方案,會遇到兩個挑戰(zhàn):
數(shù)據(jù)一致性問題:通常,OLTP系統(tǒng)和下游數(shù)倉或者檢索系統(tǒng)會通過Binlog進行數(shù)據(jù)復制, 這個數(shù)據(jù)同步延遲只能控制在秒級別,且偶爾會出現(xiàn)延遲抖動,導致用戶在下游數(shù)倉系統(tǒng)查詢的數(shù)據(jù)與ERP系統(tǒng)的OLTP數(shù)據(jù)中數(shù)據(jù)不一致性,極大地影響用戶體驗。 一個典型場景,當上下游數(shù)據(jù)延遲時, 商家在ERP系統(tǒng)中對某一批訂單做發(fā)貨處理之后,去刷新監(jiān)控大屏頁面查看當前訂單的發(fā)貨統(tǒng)計信息,會發(fā)現(xiàn)剛剛已經(jīng)發(fā)貨的那批訂單還處于未發(fā)貨狀態(tài)。
數(shù)據(jù)冗余及維護: ERP系統(tǒng)本身非常復雜,涉及到非常多的系統(tǒng)組合,因此存在很多庫和表。對于萬里牛,還有數(shù)據(jù)量大的難題,引入多套存儲系統(tǒng)就會產(chǎn)生重復數(shù)據(jù)和多套代碼實現(xiàn),不僅浪費開發(fā)資源,還會導致高昂的存儲成本。
因此傳統(tǒng)方案無法有效滿足萬里牛的需求,PolarDB HTAP是一站式的事務處理和數(shù)據(jù)分析解決方案,首先在現(xiàn)有PolarDB集群中通過添加列索引即可以讓復雜查詢提速百倍,免去了維護多套系統(tǒng)的麻煩;其次,PolarDB的列存分析節(jié)點通過Redo物理日志與寫入節(jié)點進行實時數(shù)據(jù)同步,平時同步延時在亞毫秒且高峰期不超過5ms,再結(jié)合PolarDB Proxy的事務一致性讀配置,可以實現(xiàn)強一致讀寫分離。萬里牛ERP系統(tǒng)在切換到PolarDB后,借助PolarDB一體化的IMCI ,以很低的開發(fā)成本解決了對實時數(shù)據(jù)做復雜查詢的效率問題,不再需要額外的數(shù)倉系統(tǒng)。在減少成本的同時,避免了開發(fā)資源的浪費,提高了用戶體驗。
萬里牛ERP訂單系統(tǒng)數(shù)據(jù)庫實例拓撲
萬里牛ERP從22年開始將訂單和交易數(shù)據(jù)存儲在PolarDB MySQL上,充分利用了其強大的HTAP能力,針對相關(guān)業(yè)務代碼的調(diào)整,只需要在SQL中增加Hint注解即可實現(xiàn),無額外新增開發(fā)成本投入。
在整體使用PolarDB IMCI之后,在單集群8C16G數(shù)據(jù)庫配置,以OMS典型業(yè)務場景為例,每小時壓測指標如下:
整體而言,大幅加快了ERP業(yè)務系統(tǒng)的處理速度,從商家側(cè)來看,萬里牛頭部某服飾商家反饋說:“萬里牛的ERP系統(tǒng)經(jīng)過近期升級后,給我們感覺更快了,比如審單、發(fā)貨、物流推送等相關(guān)業(yè)務流程提速明顯,對我們商家來說,可以大幅提升經(jīng)營效率!”
降本:高壓縮引擎X-Engine
實現(xiàn)海量交易訂單歷史存儲
作為國內(nèi)頭部的電商ERP SaaS系統(tǒng)開發(fā)商,萬里牛所管理的數(shù)據(jù)具有兩個特點:
數(shù)據(jù)體量大:考慮到交易訂單按時間積累的特征,交易訂單庫單個表的行數(shù)往往達到千萬甚至億級別, 耗費大量的存儲成本。
周期性明顯: 交易數(shù)據(jù)通常在7天、30天和90天后出現(xiàn)明顯的使用熱度下降,但考慮到售后等因素,這些數(shù)據(jù)又不能完全冷歸檔,對于很多類目產(chǎn)品,如大家電類等售后有效期長的產(chǎn)品需要對歷史數(shù)據(jù)進行修改。萬里牛在使用PolarDB期間,PolarDB研發(fā)團隊針對歷史交易記錄/聊天記錄等數(shù)據(jù)量大且訪問周期性特征明顯的數(shù)據(jù)存儲問題,提出了在線/歸檔一體化的混合引擎架構(gòu), 即在PolarDB 標準版本集群中,除了InnoDB這一事務引擎之外,同時支持實現(xiàn)了X-Engine高壓縮引擎。通過X-Engine這一LSM-tree引擎冷熱分層,壓縮率高(一般業(yè)務在5倍左右)的特性來滿足海量數(shù)據(jù)存儲的降本訴求。而X-Engine的事務支持,SQL兼容性與InnoDB基本一致, 對業(yè)務開發(fā)沒有適配成本。用戶可以在同一個PolarDB集群中,根據(jù)不同表的數(shù)據(jù)量和訪問特點,靈活地選擇InnoDB引擎或者X-Engine引擎。并且可以使用DDL語句在這兩種引擎之間自由轉(zhuǎn)換。
通過將已發(fā)貨完結(jié)訂單存儲到同一個Polardb實例的X-Engine高壓縮引擎中,實現(xiàn)了數(shù)倍的存儲成本壓縮,而未發(fā)貨訂單繼續(xù)使用InnoDB引擎。萬里?;贓RP系統(tǒng)不同請求的訪問特點,使用了兩種訪問模式:一種是在頁面交互開始時直接區(qū)分在線和歷史訂單查詢,另一種是在代碼中實現(xiàn)冷熱訂單的混合查詢。最終在用戶體驗基本不變的情況下,如下圖所示,我們調(diào)整后的存儲總量減少了十幾T,每個表的平均壓縮比可達1/4,甚至有部分表可以壓縮到1/10的大小,總體來看存儲成本下降80%。
萬里牛ERP部分表使用X-Engine壓縮效果
為了進一步降低存儲成本,PolarDB可以使用PSL4(PolarStore Level 4)的磁盤,PSL4采用采用阿里巴巴自研的硬件壓縮盤(Smart-SSD)技術(shù),在物理SSD磁盤層面壓縮、解壓縮存儲的數(shù)據(jù),在保持性能影響可控的情況下,使單位容量數(shù)據(jù)的存儲價格更低。
后記
萬里牛ERP在訂單管理場景下使用PolarDB一站式的事務處理和數(shù)據(jù)分析解決方案,不僅提升了產(chǎn)品用戶體驗而且降低了數(shù)據(jù)層面的研發(fā)和維護成本,后續(xù),將進一步推廣到其他多數(shù)據(jù)密集型的ERP系統(tǒng)中,擴大PolarDB在SaaS領(lǐng)域中的使用范圍。
近年來,國家政策的鼓勵和扶持推動了中小企業(yè)、跨境電商、數(shù)字政府等領(lǐng)域的數(shù)字化轉(zhuǎn)型需求,而企業(yè)管理和業(yè)務流程的標準化和復雜化,為SaaS企業(yè)提供了豐富的應用場景和市場。中國的SaaS服務開發(fā)商受益于云計算技術(shù)的成熟和普及,從誕生之日起便充分利用云計算平臺提供的底層基礎(chǔ)設施,以降低開發(fā)和運維成本。云原生數(shù)據(jù)庫PolarDB的HTAP能力和高壓縮引擎能力是兩個典型適用于頭部SaaS客戶的功能,高壓縮引擎能力致力于讓客戶以更低的成本存儲更多的數(shù)據(jù),并從數(shù)據(jù)中發(fā)現(xiàn)商機;HTAP能力讓SaaS企業(yè)無需使用復雜架構(gòu)即可提升對海量數(shù)據(jù)的查詢分析效率,為客戶提升更好的體驗,助力提升SaaS企業(yè)商業(yè)化能力,進而幫助客戶帶來自身業(yè)績的增長。
原文《客戶說|ERP服務商萬里牛引入云原生數(shù)據(jù)庫PolarDB,助力電商SaaS系統(tǒng)增效降本》
[超站]友情鏈接:
四季很好,只要有你,文娛排行榜:https://www.yaopaiming.com/
關(guān)注數(shù)據(jù)與安全,洞悉企業(yè)級服務市場:https://www.ijiandao.com/

隨時掌握互聯(lián)網(wǎng)精彩
- 1 情暖天山 建功奮進 7904366
- 2 臺風“樺加沙”在廣東陽江登陸 7809570
- 3 北方人親歷臺風把自己綁床上過夜 7712689
- 4 全力應對臺風樺加沙 7617707
- 5 中國每4個成年人就有1名高血壓患者 7520570
- 6 中方回應石破茂聯(lián)大演講 7425950
- 7 臺風致澳門海水倒灌 居民上街抓魚 7330333
- 8 男子被困深圳酒店72層 看到風雨逼近 7237179
- 9 美主播:要么退出聯(lián)合國要么炸了它 7139656
- 10 樺加沙登陸現(xiàn)場:巨浪翻涌風聲大作 7048883