PolarDB-X專注解決海量數據存儲、超高并發吞吐、大表瓶頸以及復雜計算效率等數據庫瓶頸問題,歷經各屆天貓雙十一及阿里云各行業客戶業務的考驗,助力企業加速完成業務數字化轉型 。本文介紹小打卡如何通過PolarDB-X應對業務挑戰。

1
  • 所屬行業:互聯網服務
  • 網站地址:小打卡

客戶感言

PolarDB-X產品解決了我們社交場景中的圈子日記查詢功能,每天用戶在小打卡數十萬的興趣圈子中活躍,發布數百萬條打卡日記,非常適合PolarDB-X的分庫分表場景,降低了響應時間,提高了并發查詢能力,利用異構索引表滿足了我們多維度查詢的需求,最近的全局二級索引解決了異構索引表數據延遲的問題。”

——小打卡后端負責人饒琳

客戶簡介

自2017年8月公司成立至今,小打卡已服務六千多萬用戶。小打卡是當前領先的興趣社區,聚集了繪畫、瑜伽、健身、手帳、攝影、親子、閱讀、潮玩等數百萬個興趣圈子,每天有數百萬用戶活躍在小打卡上,圍繞各類興趣和學習產生數百萬條內容和數百萬次互動。在這里,您能快速發現感興趣的圈子;加入圈子,有達人帶您玩轉各種興趣,有同好一起分享,一起成長。

業務挑戰

  • 圈子打卡日記數據量大,有10億級數據的高性能存儲訴求。
  • 百萬級活躍用戶,有高并發讀寫訴求,同時需要在10億級數據存儲情況下保證平穩的讀寫性能。
  • 圈子打卡日記業務在根據圈子做水平拆分表之后,還存在通過用戶維度查詢打卡日記的多維度查詢訴求。

解決方案

  • 通過PolarDB-X + RDS MySQL的分布式數據庫解決方案支持客戶核心業務圈子打卡日記;通過PolarDB-X水平拆分功能為客戶提供海量數據存儲能力;通過平滑擴容功能實現計算和存儲的平滑擴展來支持百億級數據存儲和讀寫。
  • 通過PolarDB-X進行水平拆分后,數據庫業務由多個RDS MySQL承載,單個RDS業務讀寫壓力大幅度下降。若出現性能異常,也只會影響部分用戶的使用,同時由于單個物理表數據量小,性能異常對系統可用性影響較小。PolarDB-X通過多個RDS MySQL承載高并發寫,可支撐百億級數據和十萬TPS、百萬QPS場景下的穩定讀寫需求。
  • 數據庫表拆分后的多維度查詢訴求是分布式數據庫中間件的一個痛點,不按拆分鍵查詢的SQL不能下推會導致在查詢時出現全表掃描,PolarDB-X支持全局索引,通過全局索引可以完美解決多維查詢的痛點。
1

客戶價值

  • 客戶當前圈子打卡日記業務有10億以上數據,每年有億級增量,基于PolarDB-X + RDS的分布式數據庫解決方案提供了海量數據存儲和數據存儲擴展能力,解決了10億級數據在單機數據庫的存儲瓶頸。
  • 小打卡上有幾百萬活躍用戶,業務發展較快,高并發讀是小打卡的數據庫強需求。在單機RDS的情況下,由于單表數據量大,會出現讀性能瓶頸導致APP卡頓甚至崩潰。基于PolarDB-X + RDS的分布式數據庫解決方案能在表拆分成小的物理表后,提供海量數據平穩高并發讀能力,保證了客戶核心業務的穩定性和高性能。
  • 小打卡的圈子打卡日記通過圈子做拆分,同時用戶還有查看自己圈子日記的訴求,全局索引能力為小打卡客戶提供了基于圈子和用戶兩個維度的高性能查詢能力,滿足了多維查詢的需求。