從 Oracle 到 TiDB,國有大行打造本地生活 APP 新體驗

導讀

本文介紹了某國有大行推出的本地生活服務類 APP 在數字時代的創新應用實踐。該 APP 利用金融科技和互聯網平臺模式,打造“金融+非金融”的線上生態服務平臺,滿足了用戶多樣化的生活需求。爲應對用戶增長和數據量增加帶來的挑戰,該 APP 決定採用新一代 HTAP 數據庫 TiDB 替換原系統中的 Oracle RAC,以提升整個系統的處理能力、擴展能力和服務能力。 文章介紹了 TiDB 帶來的優勢和應用價值,包括靈活的擴展能力、無需分庫分表、金融級高可用能力等,幫助該平臺提升了用戶體驗,增強了業務競爭力。

創新的本地生活服務平臺

數字時代,用戶行爲線上化、場景化趨勢日益明顯。爲積極響應國家擴大內需、拉動消費的號召,某國有大行順應時代潮流,於 2021 年推出了一款本地生活服務類 APP。該 APP 依託金融科技手段與互聯網平臺模式,創新打造“金融 + 非金融”的線上生態服務平臺,滿足用戶多樣化的生活需求。這款本地生活 APP 自上線以來, 註冊用戶數已達到千萬級別 ,成爲了各地政府拉動本地消費的密切合作夥伴,平臺特色包括:

  • 豐富的生活場景服務 :涵蓋美食、外賣、充值、打車、電影演出、繳費、家裝生活、車生活等多個方面,滿足用戶衣食住行娛等全方位需求。
  • 開放共享的合作模式 :爲商家提供快速入駐通道,以線上平臺推廣提升商家曝光度,助力商家品牌宣傳、活動集客和流量變現。
  • 免傭的銀行系交易平臺 :爲用戶提供安全可靠的交易環境,並依託銀行資源提供更多優惠福利。

數據架構面臨新的挑戰

這款本地生活 APP 的業務功能涵蓋基礎服務、門面服務、搶券服務、訂單服務、商戶管理服務等多個方面,具體職能如下:

  • 門面服務 :提供商家信息展示、店鋪導航、評價管理等功能;
  • 搶券 服務 :提供優惠券上架、發放、覈銷全流程管理服務,前端服務按渠道分成 4 個搶券通道,採用業務垂直分庫和集中庫存儲的方式來提升性能和可靠性;
  • 訂單服務 :提供訂單生成、維護、查詢、評價和推送等功能,應用層採用分表設計來應對大流量的衝擊;
  • 訂單歷史查詢服務 :提供針對各類訂單按照用戶、日期、交易渠道等多維度的查詢功能;
  • 商戶管理服務 :提供商品類目及標籤管理,商品上下架,KA 品牌商戶維護等功能。

圖 1:改造前基於分庫分表的數據架構

該生活 APP 上線後迅速推廣,日活躍用戶達到數百萬,日訂單量突破百萬。 目前,存量表中數據記錄行數超過億行,20 多張表每天新增數據超過千萬條。面對如此迅猛的業務發展和數據量增長,原有的技術架構(主要採用集中式數據庫以及搶券服務的分庫分表的技術架構)已經無法滿足業務需求,無法做到對應用透明的快速彈性擴展。因此,需要找到一種新的技術架構或產品來解決現有架構的痛點:

  • 處理能力受限 :集中式數據庫受限於單機服務器資源限制,無法滿足快速發展的生活類業務場景對數據容量和併發處理能力的需求。
  • 高可用能力不足 :集中式數據庫存在單點故障的風險,故障轉移時會影響業務的連續性。
  • 業務處理能力下降 :訂單業務隨着客戶交易量的增加,部分業務需要在多個數據庫或數據表中進行,增加了查詢的時間和成本。當歷史庫也無法滿足存儲容量要求時,需要考慮繼續拆分。

爲了解決上述問題,搶券業務採用分庫分表模式來提升併發處理能力,但當業務發生變更時,需要對所有分庫進行修改和調整,增加了業務變更的難度和風險。DBA 需要對多個數據庫或數據表進行管理和維護,進而增加了系統故障排查和維護的難度。

使用原生分佈式數據庫 TiDB 替換 Oracle

爲緩解生活 APP 業務的高 TPS 併發訪問以及海量數據帶來的性能壓力,經過對市場主流分佈式數據庫的調研,並結合自身業務場景實踐,最終決定採用新一代 HTAP 數據庫 TiDB 替換原系統中的 Oracle RAC,從而提升整個系統的處理能力、擴展能力和服務能力。TiDB 分佈式數據庫帶來的優勢主要體現在以下幾個方面:

圖 2:改造後的分佈式數據架構

  • 靈活的擴展能力 :快速橫向擴展可以滿足業務持續發展帶來的數據量增長問題;
  • 無需分庫分表 :原生分佈式架構解決了分庫分表原設計帶來的痛點;
  • 金融級高可用能力 :Multi-Raft 自選主和 TiCDC 提供主備數據的實時複製,提供了 7*24 不間斷的服務保障;
  • 節約存儲空間 :TiKV 採用 LSM Tree 存儲引擎,通過編碼壓縮大幅減少存量、增量數據所需磁盤空間;
  • 快速響應業務的要求 :分區表動態裁剪配合領域緩存設計滿足大表對高併發、高性能查詢的要求,Online Schema Change 保證在線 DDL 的快速執行。

圖 3:分佈式數據庫 TiDB 高可用部署示意圖

應用價值

該生活服務類 APP 是國有大行重點推出的線上生態平臺,面向海量用戶提供多樣化的生活服務。 爲了滿足高併發場景下高性能、高可用及大容量存儲等處理能力,平臺採用了分佈式數據庫 TiDB。 TiDB 憑藉彈性擴展、實時 HTAP 等優勢,幫助平臺提升了用戶體驗, 增強了業務競爭力。

  • 快速釋放業務能力 :TiDB 具有彈性擴展和自動負載均衡能力,可以根據業務需求進行靈活擴容,簡化應用開發,讓應用更聚焦於業務功能的實現,企業無需考慮客戶及交易量增加可能帶來的架構改變。在搶券業務場景下,對現有集羣進行動態擴容就能滿足接入渠道及流量增長時對處理能力的要求。
  • 提供實時數據處理 :TiDB 具有行列存互相隔離的能力,可以在不影響在線業務運行的情況下進行實時的數據分析,利用這個特性可以實現歷史訂單更多維度的實時分析能力,從而豐富客戶畫像及開展個性化的用戶營銷活動。
  • 降低架構複雜度,有效節約成本 :避免隨着業務增長進行復雜的分庫分表處理,從而簡化應用開發與運維工作,實現了高效降低成本的目標。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章