本文介紹了廈門笛卡爾數據(AmzTrends)在面臨數據存儲挑戰時,選擇將其數據分析服務遷移到 TiDB Serverless 的思路和實踐。通過全托管的數據庫服務,AmzTrends 實現了全局成本降低 80% 的效果,同時也充分展示了 TiDB Serverless 在簡化架構、提升性能和降低成本方面的優勢。未來,AmzTrends 計劃繼續利用 TiDB Serverless 的優勢,擴展業務并提升競爭力。
廈門笛卡爾數據是一家專注于跨境電商數據分析的 SaaS 公司,AmzTrends 為亞馬遜賣家提供品牌分析(ABA)、商機探測以及廣告數據的可視化分析。目前,AmzTrends 主要以 SAAS 和 Chrome、紫鳥瀏覽器的插件形式為客戶提供數據服務,以訂閱模式為美國、日本、中國數萬計的跨境電商賣家提高數據服務,幫助賣家在選品、運營、廣告等運營環節提供專業的數據分析決策價值 。
業務挑戰
AmzTrends 的數據主要以大單表的形式進行存儲,最大的表數據量超過 22 億,字段較多且某些字段很長的大寬表,單表中存在結構化與非結構化的數據結構,因此需要建立大量的索引,占用大量存儲空間,而且過期數據還需要定期清理,經常使用 BATCH 進行批量操作,一旦遇到異常無法無法事務的一致性,因此數據維護壓力巨大。
技術痛點
在業務初期,AmzTrends 選擇了在百度云上自建 TiDB 集群,資源按月付費。集群規模包含 1 個 TiDB 節點、1 個 PD 節點(此種部署方式會損害 PD 的高可用性,為了節約成本的部署方式,是官方不推薦的高風險方案)、3 個 TiKV 節點,技術人員通過將亞馬遜下載的原始 CSV 格式的數據批量寫入到 TiDB 中進行數據分析。此外還單獨配置了 3 臺服務器部署 Spark,進行全量復雜的數據計算分析。但 Spark SQL 與關系型數據庫不同,需要專人運維,復雜的業務架構造成了資源冗余,使得運維成本較高。
由于集群配置不夠加上專業運維團隊的缺失,棄用了 Spark,大量復雜且數據計算量巨大的任務由 Spark 轉到 TiDB 直接運行,集群越來越不穩定,數據安全面臨嚴重挑戰。在這種情況下,AmzTrends 不得不尋找對技術要求更低且更安全的運維解決方案。在接觸到 TiDB Serverless 后,AmzTrends 認為由于都是 TiDB 產品體系,全托管的一棧式數據庫服務 TiDB Serverless 不僅可以充分發揮 TiDB 數據庫原有的特性和優勢,還可以幫助公司簡化架構,提升系統的整體性能和健壯性。所以,AmzTrends 決定將整體應用從百度云部署方案遷入 TIDB Serverless,不僅風險更低且兼容性和性能都能得到有效保證,另外通過數據容量與請求量的成本預估,AmzTrends 發現遷移后成本能比現有的云服務器部署更低,因此有了這樣一次充滿挑戰的數據遷移過程。
為什么選擇 TiDB Serverless?
TiDB Serverless 是一種全托管的、自動化的數據庫服務(DBaaS),能夠快速部署集群,并按實際使用資源量計費。結合自身業務架構特性,AmzTrends 在考慮 TiDB Serverless 時重點關注以下特性:
●?輕松擴展基礎設施,按實際使用量付費?:商家只有在工作日時間才會使用 AmzTrends 的數據分析服務,而傳統的云模式需要為預估的最大流量付費,容易造成閑時資源浪費。TiDB Serverless 可以秒級搭建起數據庫環境,用戶只需為實際的數據處理和存儲付費,這讓 AmzTrends 開發團隊能夠更專注于創新和發展。
●?輕松上手,無需手動分片?:以前, AmzTrends 的 20 億數據需要定期進行清理或者分片,應用 TiDB Serverless 可以幫助用戶擺脫數據分片等數據庫繁瑣的操作任務,相當于只維護一張大表即可,既可以滿足更長時間維度的查詢需求,又無需反復對數據進行整理操作。
●?自動伸縮,成本效益顯著?:無論是存儲、事務處理還是分析工作負載,AmzTrends 都能在幾秒內根據應用需求自動伸縮,避免造成資源冗余浪費,既靈活又經濟。
●?全面托管,無感運維?:為 AmzTrends 提供最優化的 TiDB 部署方案,免去了服務器配置維護的煩惱。以前一旦出現故障就需要人工進行緊急處理,使用全托管的 TiDB Serverless 后運維人員可以安心入眠。
●?熟悉的 SQL 接口,靈活應對業務增長?:TiDB Serverless 保持了開發者熟悉的 MySQL SQL 語言,AmzTrends 無需進行額外的學習即可高效地投入開發工作,同時 TiDB Serverless 具有一個高度靈活擴展的分布式架構,可以隨需彈性擴縮容,應對業務的快速增長。
解決方案
決定遷移后,AmzTrends 采用 TiDB Serverless 替代了云上自建的 TiDB 集群,將數據全量遷移到 TiDB Serverless 中,簡化了架構,大大緩解了運維壓力,降低總體 IT 成本。
遷移后,AmzTrends 在 PingCAP 官方服務的幫助下也進行了架構簡化、優化建表、索引優化,提高了整體數據處理效率,并使 AmzTrends 業務架構演進至云原生模式:
○ 索引優化:通過發現和刪除冗余數據索引,節省了 50% 的數據庫成本;
○ SQL 查詢性能提升:優化索引后,不僅提高了查詢速度,也顯著減少了成本;
○ 架構簡化:自建配置中心和服務注冊要求的最小三臺云服務器轉變為單臺云服務器,降低了成本和復雜性;
○ 業務緩存建立:在了解業務的基礎上建立了業務緩存,進一步降低了實際查詢量,節約成本。
項目收益
全托管一棧式數據庫服務庫服務
TiDB Serverless 提供全托管的服務模式,充分發揮了 TiDB 數據庫的原有特點和優勢,簡化了 Amztrends 的整體架構,提升了性能和系統健壯性,同時降低了總體成本。
數據架構成本節省 50%
通過云原生改造,Amztrends 在數據架構方面節省了 50% 的成本。( Serverless 采用全分離架構,Amztrends 只需為使用付費,無需浪費閑置資源)
整體服務資源節約 30%
簡化架構后,Amztrends 前端服務資源實現了 30% 的資源節約。
全局成本降低 80%
綜合上述優化,Amztrends 實現了整體成本降低 80%。
總結
TiDB Serverless 作為全托管一站式的數據庫服務,從根本上解決了 Startup 公司基礎架構門檻高的難題,即使缺少專業運維人員,也可以擁有簡化、健壯的數據基礎架構,獲得了更高的系統穩定性和可用性。同時,Serverless 的 “Pay as you go”模式提供了更靈活、更優化的資源利用率,AmzTrends 從百度云遷移至 AWS 之后,總體 IT 成本實現了大幅下降。在此基礎上,這種靈活的資源使用模式也可以讓 AmzTrends 探索更靈活、更具性價比的商業方案,為商業模式提供更多可能性。
AmzTrends PM Steve 表示:“遷移到 TiDB Serverless 后我們不會再去擔心數據庫的問題,完全放心交給 TiDB Serverless 就好了。用最簡單的話來講,沒有問題就是最好的結果。”
未來
未來,Amztrend 計劃繼續利用 TiDB Serverless 的優勢,進一步擴展其業務并探索更多的數據分析和優化機會。公司還計劃通過持續的技術改進和優化,維持并提升其在市場上的競爭力。