TiDB X 伴魚 | 「寧花機器一分,不花程式設計師一秒」,使用者增幅 300% 背後的祕密武器

語言: CN / TW / HK

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

http:// qr32.cn/ED1h2q (二維碼自動識別)

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

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

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

面臨的挑戰

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

  • 首先,成本。 對於線上教育平臺來說,線上產品是運營核心,入口、後臺搭建,投入成本以及日常運維人員,都是一筆不小開支;
  • 其次,市場競爭激烈,產品同質化嚴重。 激烈的競爭帶來的是高速的產品迭代節奏和層出不窮的新業務。

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

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

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

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

產品及業務上的創新發展,離不開底層 IT 基礎設施的支撐。在這個背景下,隨著伴魚產品矩陣快速發展帶來的資料量和一對一線上課堂的併發量爆炸性增長,業務側對伴魚 IT 系統整體的響應速度及穩定性的要求也更為嚴苛,特別是資料庫這個關鍵的基礎設施。面對業務快速發展、創新的需求,伴魚技術團隊開始謹慎思考資料庫選型的問題,他們理想型的資料庫是這樣的:

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

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

為什麼選擇 TiDB

寧花機器一分,不花程式設計師一秒。

——伴魚技術中臺負責人陳現麟

  1. 技術後發優勢的理解

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

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

2. 成本與效率的權衡

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

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

3. 技術生態與紅利的思考

選擇一個技術,其實也是選擇了這個技術的生態,如果技術生態完善,做事情往往會事半功倍,極大地提高研發效率。TiDB 全面相容 MySQL 協議,讓 TiDB 的使用者在享受到 NewSQL 能力的同時也享受到 MySQL 的生態。同時,選擇 TiDB 意味著可以享受技術紅利,通過新技術去優雅而高效的解決問題。比如,面對大表的解決方案,MySQL 提供的解決方案是分庫分表,業務研發和 DBA 一起配合非常低效地解決這個問題,但是對於 TiDB 而言,單表為無限大,從根本上解決了這個問題,業務研發和 DBA 不再為資料的增加而不停地進行分庫分表,這個就是巨大的技術紅利。所以,基於上面的一些討論與思考, 伴魚決定「All in TiDB」 。

獲得的成效

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

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

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

2. 線上核心交易系統

作為一個商業化的線上教育平臺,要很好的實現付費,一個必要的商城及交易系統是必不可少的。目前交易系統包括:伴魚繪本,少兒英語等等各 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 願與伴魚及每個客戶一起,攜手並肩把事情做好。