乘云向未來 | 字節跳動超大規模數據庫產品技術演進之路
數據是支撐企業發展的關鍵生產要素。隨著業務場景的多元化,數據體量不斷增長,催生了數據類型多樣、交互式分析復雜等挑戰,業務對于數據的實時性、資源彈性、融合負載等需求也愈發高漲。由此,一款合適的數據庫產品,將成為企業實現數據管理的最佳工具。
在11月10日、11月16日和11月24日舉辦的“乘云·向未來”火山引擎公共云·城市分享會上,火山引擎以“字節跳動超大規模數據庫產品技術演進之路”為題,基于字節跳動業務的多樣性、規模化發展,解構了其數據庫產品體系特征及技術演進歷程,為企業疏解數據管理難題、帶來數據治理的良策。
以下為演講實錄:
字節跳動業務發展歷程與數據庫之挑戰
過去十年間,字節跳動的業務飛速發展。從2017年的1億日活躍用戶,到2019年的4億,再到2023年6億+,隨之而來的是業務的多樣性——抖音直播、抖音電商以及飛書等業務快速發展,也使得字節跳動的數據庫經歷了多代演進。
在2017年,集團數據庫的數據量只有2000個集群,且每個集群的規模通常為幾十萬的體量;到2019年,數據量達到了200+PB;直到今天,數據量已經發展到2EB,峰值吞吐量達到了20B+。面對如此龐大的量級,火山引擎始終在思考數據庫技術演進之道,大致可分為三個階段。
第一階段是2015-2017年,刀耕火種的石器時代,當時主要靠業務開發兼職運維,經常通宵進行線上運維和擴容。
第二階段是在2018-2020年,火山引擎發現過去的方式難以為繼,于是啟動了多品類的數據庫建設。基于原有的云原生數據庫,火山引擎開發了分布式數據庫等產品,在公司內部大規模應用。除此之外,火山引擎還開發了多個運維平臺,實現了超大規模集群的自動化管理,擺脫了過去純靠人工運維的局限性。
第三階段是從2021年至今,字節跳動開展了更多云原生化的工作,業務規模達到了數萬套庫/數百萬實例。在這個過程中,數據庫在技術和應用上遇到了不同種類的挑戰。
首先是業務種類的多樣性。支付類業務、電商類業務等不同場景對數據庫的需求并不一致;各種各樣的中臺產生的多種數據類型也對數據庫提出了更多要求,例如:海量結構化及非結構化數據的管理、用戶之間的關系管理等。
第二個挑戰是超大規模下高可用問題。在大規模業務同時運行的情況下,如何保證數據庫時時刻刻在線,成為每一個應用開發者都會思考的問題,火山引擎也不例外。
第三個挑戰是多模式融合負載。例如有些業務對于并發數要求非常高,但容量較小;而有些業務吞吐量較低,但數據量較大,分析類需求較多。
最后一個挑戰是資源彈性訴求變強。眾所周知,字節跳動的業務具有一定的“季節性”,比如618和春晚,需要通過自動的彈性來應對突發的流量。對此,降低業務成本、提供彈性能力,對數據庫而言是非常重要的一環。
火山引擎自研數據庫產品全解析
過去,業務很難用單一的數據庫來滿足所有的負載。因此,為了應對挑戰,火山引擎構建了多樣化、規模化、融合化、智能化的數據庫產品矩陣。
veDB云原生數據庫可以解決擴容拆分等一系列問題,實現存儲共享,極大降低存儲成本;同時,資源的彈性非常好,在解決業務彈性訴求后,能很快將資源彈出來,把計算算力縮下去,降低了用戶成本。目前,數據中心90%以上的業務都在用veDB。
在做業務過程中,遇到業務不感知的情況時,可以通過一些平臺自動化地解決問題。數據庫能夠跨三個超大機房進行部署,這一點在運維過程中,相比于過去的擴容、拆分,運維操作難度降低了80%。在此基礎上,火山引擎構建了HTAP產品,通過一體化的技術,集成了OLTP、內存等,這對用戶而言是完全透明的,復雜的查詢可以直接交其處理。
文檔數據庫DocumentDB是基于云原生技術進行的托管服務,相比于傳統數據庫,這類產品的數據可以做到實時的一致性,使得數據的“新鮮度”較高。目前,該類產品已在字節跳動內部大規模使用。
Redis Family緩存類產品的特點是兼容Redis協議,在性能上有很好的表現。該產品在內部分成了內存版和磁盤版兩個版本,其中磁盤版的容量可以達到上百T,減輕了業務考慮數據的搬遷。字節跳動內部諸如游戲和電商等大型中臺,都在使用這一產品。
在跨平臺業務中,云原生集群的數據規模也是非常大的,因此火山引擎打造了強一致KV數據庫ByteKV,它應用在支付/紅包等財務類業務居多,能夠保持元數據的安全性,同時支持分布式事務及CAS需求。
火山引擎自2018年開始自研,到2020年左右打造了第一代圖數據庫,其底層是分布式KV,能夠支持萬億點變量級,例如抖音中的相互關注、推薦關系、好友關系等,都是用圖數據庫來存儲的。
2022年,火山引擎打造了下一代的高性能多模態的圖數據庫。其整體是基于分布式存儲,將圖數據和非圖數據放在一起進行數據同步,減少了存儲成本。以極致性價比、統一存儲格式,支持一數多算,為用戶帶來一站式分析體驗。
此外,火山引擎還構建了超大規模圖計算/圖學習的能力。圖計算可以直接訪問分布式存儲、讀取數據,內含非常高效的數據流。在如前敘及的HTAP中,數據可以通過圖,實時用數據進行圖的計算和學習。典型的應用場景就是在抖音電商中,存在大量的風控、支付安全和黑產等需要提取信息的操作,該能力可以秒級查詢是否存在風險,為用戶帶來安全的體驗。
聚焦“4+1”戰略持續優化產品
面向未來,火山引擎聚焦“4+1”戰略對產品進行展望。
第一是智能化,基于AI模型的原生支持,數據庫在規模上得到了算力提升。數據庫團隊也在結合產品進行升級,讓零技術基礎的用戶也可以方便地對數據庫進行操作。
第二是將數據庫安全化。隨著時間推移,合規安全越來越重要,數據庫產品除了在本身的性能上提升以外,也在轉型可信數據庫。例如在企業辦公等場景下,每一個字段都是需要加密的,火山引擎要做的就是提升數據安全與隱私保護能力以及數據庫平臺合規能力。
第三是平臺化。火山引擎將在自動化運維、多云一體化部署上持續迭代升級,打造產品化、體系化的解決方案。
第四是在生態方面,火山引擎將與合作伙伴攜手,豐富開發者工具和資源,積極拓展市場和合作伙伴關系,共同完善數據庫生態建設。
最重要的是,火山引擎將持續進行數據庫內核極致優化,真正做到降本、增效;同時,深度整合火山引擎自研DPU等新硬件,持續挖掘硬件紅利,通過應用場景方面的融合和基礎設施層面的分離、整合,以橫縱雙融合的系統重塑應用緩存和數據庫,助力用戶增長。
掃碼了解veDB更多詳情