TiDB x 中通科技 | 提效 300%,TiDB 聯手中通讓你的包裹「實時可見」

「我們已經用起來了」,是我們最喜歡聽到的話,簡簡單單幾個字的背後代表着沉甸甸的信任和託付。從今天開始,我們將通過**「相信開放的力量」**系列深度案例分享,從業務的角度,看看一個數據庫爲各行業用戶帶來的業務價值。 本篇文章將介紹 TiDB 聯手中通科技打造全場景全鏈路數字化平臺服務的故事。

洞悉包裹的每一段旅程
不負身邊的每一份守候

下單秒殺,到收貨開箱,相信大多數人對於「雙十一」這個特殊時期的快遞物流體驗相當熟悉。從下單後的『望眼欲穿』到包裹的『全流程追蹤』,最近幾年,快遞再不是以前「肩扛手提的黑盒子」,電子面單、自動化分揀、智能機器人、全鏈路數字追蹤等數字化技術的加持下,快遞業正在醞釀一場可以預見的全新蛻變。

中通快遞成立於 2002 年,經過十餘年的發展,目前整體業務規模達到了世界第一,也是第一個達成年百億業務量的快遞企業,去年的雙十一更是完成了訂單量超過 2 億的佳績。中通科技是中通快遞旗下的互聯網物流科技平臺,擁有一支千餘人規模的研發團隊,秉承着「互聯網+物流」的理念,與公司的戰略、業務緊密的銜接,爲中通生態圈的業務打造全場景全鏈路的數字化平臺服務。

業務挑戰

快遞的生命週期簡單的介紹可以分爲五個字,收發到派籤。

整個物流的全鏈路中按照這樣的流程會拆解成多個關鍵節點,在每個關鍵節點會產生大量的數據,對每個關鍵節點每一個數據快遞公司都會進行相關的分析,包括時效的監控(比如快遞的流程跟蹤、快遞在快遞收發點停留時間等等)。原來的架構大量的數據統計分析依賴於在 Oracle 上建好多存儲過程,但隨着數據量越來越大,存儲和計算的問題越來越明顯,單純靠升級 Oracle 的硬件無法從根本上解決問題,並且隨着硬件的不斷升級,成本也越來越高。

近幾年,快遞行業的業務量突飛猛進,隨着業務發展帶來的數據量激增,中通遇到了以下問題:

  • 存放在 Oracle Exadata 一體機數據週期越來越短,分庫分表的設計滿足不了時效需統計分析依賴存儲過程,系統的擴展性和可維護性不高。

  • 業務高峯時期單機遇到性能瓶頸,故障風險較高,數據同步 T+1 的分析時效不夠。

  • 如何降低 TCO。

  • 業務發展快、數據量激增,能存放在 Exadata 一體機數據週期越來越短,業務方對數據週期需求上升。

  • 業務高峯單機性能瓶頸,單點故障風險高,數據同步 T+1,分析時效不夠。

  • 測試 HBase、Kudu 建設實時數倉,和現有技術棧難以兼容,並且不能很好支撐業務端多維度的 query。

面對這些需求,中通快遞新構建的 IT 系統除了要兼容過去的 IT 架構,更要具備敏捷性,要能夠更快響應業務發展的需求,並且還能更好地推動未來業務的發展。在關鍵業務上的支持上,底層的數據庫需要滿足強一致分佈式事務,支持高併發讀寫,提供靈活的在線擴展能力,並且可以與 Spark 技術生態緊密融合,支持大寬表的建設,支持多維度的查詢分析。

Why TiDB

根據中通實際業務情況和技術痛點,構建了 TiDB 數據庫集羣,實現了多個應用系統生產數據的實時寫入,藉助 TiSpark 實現了數據實時分析,彙總數據,同時上層應用提供了標準化的 API 接口,給業務運營人員和快遞人員提供了靈活的查詢界面,滿足了實時、便捷、準確的查詢服務請求,選擇 TiDB 具體原因如下:

  • TiDB 支持在線擴展,數據按 Region 分片,有自帶的調度管理組件,進行熱點的調度和數據分佈。

  • 強一致的 ACID 分佈式事務、二級索引。

  • 能高併發寫和更新,並且支持快速響應業務方的需求、進行查詢結果。

  • 技術生態與 Spark 緊密結合,支持用 Spark 快速的做分鐘級統計分析。

  • 支持大寬表的建設,支持多維度的查詢分析。

##解決方案

訂單 & 運單中心

用戶通過平臺客戶端下單後,產生唯一的快遞單號作爲唯一身份標識。快遞除了訂單號,還會有很多屬性信息,如:郵寄人、郵寄人手機、郵寄人地址、收件人、快遞類型等信息。生成快遞訂單後,用戶的郵寄物品纔會成爲「快遞」。

當快遞發出後,快遞員從收件、掃碼、轉運等快遞的流轉事件、地點、時間信息都將會不定期推送至系統。快遞流轉信息不僅可以是簡單的量化數據,也可以是描述性文字、地理位置等特殊信息。系統需要將流轉信息記錄成快遞的監控數據,同時修改快遞狀態、實時位置等,從而實現包裹的『全流程追蹤』。

在中通快遞傳統的 IT 體系架構裏,大量的數據統計分析依賴於 Oracle ,但隨着數據量越來越大,存儲和計算的問題越來越明顯,單純靠升級 Oracle 的硬件無法從根本上解決問題,並且隨着硬件的不斷升級,成本也越來越高。

上圖是中通快遞整個系統重構後的架構:

  • 左邊是來自各個環節的消息接入,通過 Spark 實時計算把這些消息接進來,與 Hive 維表在分佈式計算裏面做一些 Merge 和 JOIN。

  • 同時會跟離線 T+1 的計算分析出來的數據、存在 HBase 的數據做 Merge 的計算。

  • 最終計算的結果我們會把它存到 TiDB 裏面。每天會定時和 TiDB 做一次同步,把 TiDB 的數據同步到 Hive,做一個數據備份。

  • 依賴 TiSpark 在 TiDB 上做數據的統計分析,通常稱爲彙總層,彙總層包括公共數據和業務層數據,我們也會把這些數據放在 Oracle 裏面一份,包括輕度彙總和多維彙總。

  • 基於 TiDB 去提供明細的服務,像 API 接口的服務、明細查詢和一些標籤。

從新的架構上看,每一個關鍵的節點都支持可橫向擴展,解決了單點問題,同時降低了基礎的 IT 成本。

二次配送:數字化重塑配送全流程

對於物流企業來說,降低企業物流成本一直是行業挑戰,中通快遞也在不斷地從模式創新上、從全鏈路優化上、乃至物流的各個環節去提高效率、降低成本。

我們在日常收快遞過程中,通常可以看到類似這樣的信息:」快遞已經到 XXXX 轉運中心」、」快遞已經到達 XXXX 集散中心」,這種在工廠倉庫到配送終點之間,設置中轉倉的模式被稱爲「二次配送」。

其原理就是通過大數據平臺,結合倉庫地址、物資需求量、車輛運載量、配送次數等數據,進行分析和計算,優化配送路線、合理選擇物流中心地址、優化倉庫儲位,從而降低物流成本,提高物流效率。在中通快遞整個快件派送的物流鏈路過程中,在各個轉運環節都會有很多消息的接入,需要針對每一單快件進行全鏈路路由和時效的預測,定位到每一票快件轉運環節,整個過程不僅數據量巨大,並且對時效性要求很高。

如上圖所示,中通快遞基於 TiDB 進行實時數倉寬表的建設,業務的 OLTP 數據通過 TiDB 實時寫入,後續 OLAP 的業務通過 TiSpark 做分鐘級的分析。經過業務實測,TiSpark 同步 3 億條數據到 Hive 大概需要 10 分鐘,爲中通快遞的實時數倉建設與離線 T+1 的整合提供保障,有效支撐全鏈路的時效分析與監控,可以準實時地定位每一票快件在每一個環節的狀態。據瞭解,通過二次配送,在發達且密集城市,平均爲企業節省 25% 的每包裹配送費用。

用戶收益

信息化智能化的浪潮已成大勢,技術與業務齊頭並進,才能讓快遞行業獲得未來競爭力。

增效:IT 支持效率提升 300%

中通快遞 2019 全年完成業務量 121.2 億件,同比增長 42.2%,超出行業平均增速 16.9 個百分點。在過去的 2019 年雙十一大促中,TiDB 同時支撐線上 OLTP 和 OLAP 的業務, QPS 峯值在 12 萬+,支持百億級的插入和更新,TiSpark 支持業務在線的分鐘級統計分析,完美保障了雙十一中通快遞 IT 服務的穩定運行。 除此之外,基於 TiDB 構建的新一代數據庫基礎設施還帶來以下收益:

  • 解決單點問題,整體架構清晰,可維護性增強,系統擴展性增強。

  • 滿足高性能 OLTP 業務需求,支持在線橫向擴展,隨時上下線存儲和計算節點,應用無感知。

  • 數據存儲週期從 15 天支持到 45 天。

  • OLTP 和 OLAP 分離,支持更多業務維度的分析。

降本:數據驅動精細化運營,成本同比降低 17.1%

面對激烈的競爭態勢,中通快遞通過技術創新,以 TiDB 爲數據底座對業務系統進行一個重新的架構升級,目前中通快遞有超過 100 個物理節點,200 餘個實例的 TiDB 投入生產使用,主要服務賬單、結算中心、訂單中心、運單中心、消息中心、轉運智能相關產品線,獲得收益如下:

  • 數據驅動的精細化管理措施持續發揮效益,2020 年二季度,單票成本同比下降 17.1%。

  • TiDB 靈活高效、按需擴展的部署方案,相較之前 Oracle ,顯著降低 TCO。

與客戶同行,相信開放的力量

每次數據庫架構改善與落地,無論是 TB 級還是 PB 級,都需要付出努力,但這也值得每一個企業去實踐。在當下這個時代,不管企業的規模如何,都要學會藉助開源的力量,避免去重複的造輪子。

每一個看似輕鬆的背後都有不爲人知的努力,每一個看似光鮮亮麗的背後,都有不爲人知的付出。分佈式數據庫建設之路道阻且長,TiDB 願與中通科技及每個客戶一起,攜手並肩把事情做好。