TiDB X 伴魚 | 「寧花機器一分,不花程序員一秒」,用戶增幅 300% 背後的祕密武器

「我們已經用起來了」,是我們最喜歡聽到的話,簡簡單單幾個字的背後代表着沉甸甸的信任和託付。從今天開始,我們將通過**「相信開放的力量」**系列深度案例分享,從業務的角度,看看一個數據庫爲各行業用戶帶來的業務價值。 本篇文章讓我們看看伴魚 All in TiDB 背後的故事。

用科技創新點亮『教育公平』未來,努力讓每個孩子享有公平而有質量的教育。

伴魚成立於 2015 年,於 2017 年進入在線少兒英語行業,從入場之初就開始搭建產品矩陣生態,是一個覆蓋全年齡、全場景的在線少兒英語教育品牌。

2020 年,伴魚已發展爲在線少兒英語賽道的頭部企業,在 COVID-19 的大背景下,加速了兒童教育線上化的進程,伴魚從去年 12 月到今年 10 月,其用戶量經歷從 2000 多萬到 4000 多萬的跨越,付費用戶實現從 50 多萬到 200 多萬的躍遷,增長幅度達 300%。

面臨的挑戰

市場規模的高速增長反映出用戶需求對資本市場的推動,但在線教育行業本身形勢卻並不樂觀,仍存在許多痛點。

首先,成本。對於在線教育平臺來說,線上產品是運營核心,入口、後臺搭建,投入成本以及日常運維人員,都是一筆不小開支;

其次,市場競爭激烈,產品同質化嚴重。激烈的競爭帶來的是高速的產品迭代節奏和層出不窮的新業務。

這些業務上的壓力最終都傳遞到伴魚的技術團隊。

伴魚 CTO 王強在溝通中表示:「通過技術的創新去支撐業務的發展,降低企業成本的支出是我們要做的一部分。我們認爲做在線教育,既要做用戶獲取、沉澱,又要做好的課程服務,用效果說話。」

我們做的是互聯網教育,希望通過互聯網技術創新和教育結合,讓學習這件事情變得更公平、更效率。
——伴魚 CTO 王強

教育這個領域天生就有教學科目和教學場景兩個維度,這兩個維度的笛卡爾積就是它可能的業務類型數量,當然有多個科目和多個場景適合由一個業務線來負責,但總體上由於科目和場景的業務差別會非常大,出現多個業務線是必然的趨勢。

產品及業務上的創新發展,離不開底層 IT 基礎設施的支撐。在這個背景下,隨着伴魚產品矩陣快速發展帶來的數據量和一對一在線課堂的併發量爆炸性增長,業務側對伴魚 IT 系統整體的響應速度及穩定性的要求也更爲嚴苛,特別是數據庫這個關鍵的基礎設施。

面對業務快速發展、創新的需求,伴魚技術團隊開始謹慎思考數據庫選型的問題,他們理想型的數據庫是這樣的:

  • 具備高可用能力,節省運維成本;
  • 兼容傳統數據庫的使用方式,節省新業務開發成本和學習成本;
  • 大數據生態友好,節約與其它大數據系統的接入成本;
  • 有水平擴張能力,並且儘量做到不侵入業務。

爲了應對這些挑戰,伴魚技術團隊認真地評估了各種解決方案,綜合考慮了產品、服務、安全、技術支持等多方面因素,最終選擇以 TiDB 爲基礎進行整體的數據架構規劃。

爲什麼選擇 TiDB

寧花機器一分,不花程序員一秒。
——伴魚技術中臺負責人陳現麟

技術後發優勢的理解

伴魚公司中臺技術負責人陳現麟表示,初創公司在技術沉澱和積累上是遠遠不及一些成熟公司的,這些沉澱和積累就是成熟公司在技術上的先發優勢,當技術沒有出現變革的時候我們沒有選擇,但是當技術正出現重大變革的時候,如果我們還做同樣的技術選型,那麼也需要花同樣的時間和成本才能達到成熟公司的水平,然後等大家都開始遷移到新的技術上的時候,這些技術沉澱和積累就可能會變成技術債務。

技術選擇上一定要服務好業務,做好業務的發動機,技術與業務彼此配合才能相互成就。所以初創公司應該去預判技術趨勢,選擇面向未來的技術,在技術上彎道超車,避免自己的技術債務。

成本與效率的權衡

MySQL 相比較 TiDB 而言,MySQL 的集羣高可用需要 DBA 和基礎架構團隊花時間成本去解決,MySQL 的大表分庫分表方案需要 DBA、基礎架構團隊和業務研發團隊花成本去解決,這些都是隱性成本。

面對機器越來越便宜,人才越來越值錢的趨勢,選擇 TiDB,將複雜性交給 TiDB 去做,是經過對成本與效率進行充分權衡後的結果。

技術生態與紅利的思考

選擇一個技術,其實也是選擇了這個技術的生態,如果技術生態完善,做事情往往會事半功倍,極大地提高研發效率。TiDB 全面兼容 MySQL 協議,讓 TiDB 的用戶在享受到 NewSQL 能力的同時也享受到 MySQL 的生態。

同時,選擇 TiDB 意味着可以享受技術紅利,通過新技術去優雅而高效的解決問題。比如,面對大表的解決方案,MySQL 提供的解決方案是分庫分表,業務研發和 DBA 一起配合非常低效地解決這個問題,但是對於 TiDB 而言,單表爲無限大,從根本上解決了這個問題,業務研發和 DBA 不再爲數據的增加而不停地進行分庫分表,這個就是巨大的技術紅利。
所以,基於上面的一些討論與思考,伴魚決定「All in TiDB」。

獲得的成效

由於篇幅關係,在這裏就介紹 TiDB 在伴魚應用中的兩個典型的場景。


  1. 在線課堂白板記錄存儲

在線課堂包括了學生與教師互動信息,教學白板、場景內容展示等信息,是在線教育必備的核心業務之一,面對線上教育需求暴漲,特別是在今年三月份短時間內用戶量和上課量均增長超 100% 的情況下,伴魚技術團隊在對數據庫架構沒有調整的情況下,圓滿的支撐了業務的增長其中,TiDB 數據庫滿足了面對大規模業務增長所需的水平擴展能力,僅在線課堂中白板操作軌跡記錄數據,單表就達到了 1.5 T,總數據量 4.3 T。

  1. 在線核心交易系統

作爲一個商業化的在線教育平臺,要很好的實現付費,一個必要的商城及交易系統是必不可少的。目前交易系統包括:伴魚繪本,少兒英語等等各 APP 內的現金、虛擬貨幣支付交易業務。

交易相關的場景對數據安全的要求極高,交易數據不能丟,不能錯,需要選擇支持強一致性和原子操作等 ACID 特性的數據庫,同時由於今年用戶量和併發量的爆發性增加,擴展性也是必選項,TIDB 作爲核心交易的底層數據庫,從去年 12 月到今年 10 月,付費用戶實現從 50 多萬到 200 多萬的躍遷,增長幅度達 300% 的背景下,平滑穩定的支撐着交易業務。


現在伴魚有 10 套 TiDB 數據庫,60+ 數據庫實例,6 個 QPS 過萬核心集羣,999 線基本維持在 16~30 ms 左右,響應時間、穩定性、擴展性都達到預期。所以,從目前的情況來看,伴魚選擇 All in TiDB 是一次非常正確的選擇。

在數據庫技術方面彎道超車,避免了對 MySQL 技術的重複建設與積累,享受了 NewSQL 數據庫 TiDB 在高可用和水平擴展等方面的技術紅利,一套基礎設置及人員服務了多條產品、業務線,提高了業務研發和 DBA 的工作效率,降低了人力開銷成本。從而釋放更多的人力及公司資源在業務拓展及產品打磨上,這也意味着伴魚將比同行擁有更多增加營收和驅動創新的機會。

當前,教育正朝着全面提升用戶綜合能力的教育體系轉變,孩子們無論在城市還是鄉村、家境貧困還是富有,都可以接受最適合自己的教育,如何通過大數據、AI 等技術創新,提升用戶的學習體驗,幫助孩子提高學習效率,達到最好的學習效果,這是伴魚等頭部在線教育企業持續思考和落實的事情,人類社會的未來也將因此變得更加多元而美好。

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

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

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