推廣 熱搜: B2B  電子商務  電子  投資理財  市場分析  企業  機械  科技  手機  優匯網 

深度揭秘:騰訊存儲技術發展史

   日期:2020-11-03     瀏覽:311    評論:0    
核心提示:在騰訊內部,負責騰訊存儲技術研發的部門,一直被認為是生產技術專家的“黃埔軍?!?。騰訊不少技術方向的負責人,最早也都出自這

在騰訊內部,負責騰訊存儲技術研發的部門,一直被認為是生產技術專家的“黃埔軍?!?。騰訊不少技術方向的負責人,最早也都出自這個團隊。

 

這或許可以看出這只團隊的底蘊——對于騰訊來說,存儲是幾乎所有業務開展的基礎,存儲技術和架構的迭代是騰訊最關注的技術方向之一。

 

作為海量數據的堅實承載,騰訊存儲技術支撐了微信、QQ、QZone、郵件、微云、流媒體等內部業務的快速發展,同時也為快手、OPPO、小紅書、???、獵豹、58同城等幾十多萬個客戶騰訊云上客戶提供了可靠的服務,整體數據量高達EB級別。

 

本文中,我們將采訪騰訊云存儲技術相關負責人,深度揭秘騰訊云存儲從零開始,到如今支撐起ZB級數據存儲系統的技術演進歷程,以及背后一些有趣的故事。



騰訊存儲技術演進歷程

 

騰訊存儲技術的演進基本上可以分為以下階段:


1. 海量存儲(2005~2010),支撐社交網絡,構平臺,撐海量

 

騰訊存儲技術的發展,起源于2005年前后國內社交網絡興起。QQ、QZone(相冊)業務的發展帶來了海量的圖片、文件、頭像等UGC數據。為應對海量存儲的挑戰,騰訊云開始自研并構建了幾套核心存儲平臺,包括TFS(通用性存儲平臺),CTFS(數據頻刪型存儲,用于短期臨時存儲),TDB(基于HDD的鍵值對存儲平臺),TSSD(基于SSD的鍵值對存儲平臺)。

 

這些自研平臺為騰訊對象存儲的發展奠定了基礎?;诖鎯ET容量模型,騰訊云構建起標準可控的運營體系,支撐起了QQ空間、微云、QQ等產品的海量存儲需求。


2. 跨地分布(2011~2013),分拆大體量業務,搬數據,騰機房

 

2011~2013年,QQ相冊等大體量業務的訪問量、存儲量迅速增長,對深圳的三通機房在機架、帶寬方面產生了較大壓力。為應對底層機房,帶寬等方面的瓶頸,存儲平臺啟動了相冊一通點等項目,海量業務數據開始從深圳向西安、杭州、廣州、上海等地分布,訪問帶寬同時調度到天津、南京、東莞等成本更低的一通機房。 

 

存儲平臺在做數據分布搬遷的過程中,自身也在同步迭代演進。比如TFS從3份存儲演進為同時支持1/2/3份數據的多副本存儲;CTFS從2份存儲演進為同時支持2/3份數據存儲。TSSD平臺也從僅支持單機獨享的Uin-Value定制存儲演進為支持多租戶的通用Key-Value存儲。


3. 冷存儲(2014~2015),分離冷數據,降份數,省成本

 

騰訊相冊、微云、郵件等業務在業務發展中,逐步積累起來較多的UGC歷史數據,這些歷史數據訪問量低、存儲量大,對業務的運營成本構成了較大的壓力。為了應對冷數據存儲的成本挑戰,2015年前后,騰訊基于糾刪碼研發了BTFS平臺(Backup-TFS)。對業務進行了數據分層,增量數據訪問量大,用TFS存儲3份;歷史冷數據從TFS平臺剝離出來,從3副本存儲轉向1.33副本的糾刪存儲,降低了存儲成本。這個階段中,騰訊優化BTFS,使得部分低訪問量業務的增量數據也可以直接存儲進來。


4. 云存儲磨合期(2016~2017),重構系統,兼容接口

 

在磨合期,騰訊云基于已有的存儲訪問接口和平臺架構對外提供服務。經過一段時間的運營,騰訊云發現外部第三方業務在體驗、可用性、成本等諸多運營方面有極高的要求。為支撐云的需求場景,騰訊云對存儲的接入層和索引層架構進行重構,架構扁平,模塊精簡,同時開始舍棄私有接口,轉為兼容AWS S3接口與功能。重構后存儲架構支撐了騰訊云COS近幾年的發展。(注:對象存儲COS,CloudObjectStorage,是由騰訊云推出的安全穩定、便捷易用、低成本的海量云端存儲服務。)


5. 多云時代(2018~),對標行業,比成本,拼質量

 

伴隨公有云的逐步普及,用戶存儲的數據成幾何倍數增長,硬件發展日新月異,公有云提供商間的競爭日趨激烈。2017年,騰訊云的數據量突破一個EB,成為騰訊存儲歷史上的一個標志性節點。

 

AWS S3的存儲訪問接口已成為公有云上對象存儲事實上的行業標準,存儲成本、運營質量成為客戶上云選擇產品提供方的主要考量。

 

在這一階段,騰訊重新審視了機房,機型等方面的技術演進趨勢,重構了公有云對象存儲引擎(詳解見下文)。新架構采用大容量高密度存儲機型,針對存儲SET導致的閑置資源分散和隔離等多個主要矛盾,進行了全面應對和優化。

 

先從整體上對騰訊云存儲有了一個大致了解后,我們再從各階段一些重要節點事件,來了解騰訊云存儲技術演變背后的邏輯,供業內參考。

 


七八個人搞了TFS

 

2005年,QQ空間發布,大量存儲需求爆發。

 

騰訊云副總裁 、云架構平臺部總經理謝明,以及騰訊云架構平臺部系統研發中心總監郭振宇,都是騰訊云在2005-2006年開始做統一存儲架構時期的重要親歷者。

 

2003-2004年,谷歌發表了俗稱“三大件”的論文,即BigTable、GFS和MapReduce,這是從原先的企業級存儲向互聯網時代大規模使用廉價的分布式存儲的一個較早期的實踐。

 

受此啟發,謝明、郭振宇與團隊中七八個人開始做通用性存儲平臺TFS,把RPC框架和通信協議、存儲相關的數據遷移、巡檢系統等逐步做起來,第二年初就將這套存儲系統用到了 QQ 相冊。

 

用上TFS后,QQ相冊解除了每天800萬張圖片的上傳限制,結束了那段只有QQ黃鉆用戶才能無限上傳圖片的歷史,普通用戶再也無需凌晨24點守在電腦前搶著上傳圖片。

 

但與谷歌 GFS 主要面對搜索場景,因此主要解決的問題是大文件存儲不同,騰訊的業務里圖片較多,小文件才是要解決的主要問題,但是TFS并不適合做小文件存儲,因此又創建了KV存儲平臺——TDB。

 

再往后,騰訊云的業務中又出現了一些需要頻繁刪除的場景,CTFS應運而生,用于短期的臨時存儲。這套系統在頻刪型的場景,如文件中轉站中非常實用。積累了一定口碑后,其他業務也逐漸遷移到CTFS。

 

除了這些,團隊還針對業務場景進行用戶體驗優化,例如優化了索引。原先的文件系統索引有很多層,拓展性強,但是每次硬盤要進行多次訪問。當文件較大,硬盤多次訪問會造成延時。為此,TFS設計之初就力爭硬盤只訪問一次,把chunkID(段表示)和FID索引放在一起,用戶讀取索引時就能知道圖片在哪塊盤上,只要訪問一次硬盤就能讀取圖片,減少磁盤IO次數提升了用戶體驗。

 

之后,TFS又陸續被用于網絡硬盤、QQ郵箱等產品中。


 
打賞
 
更多>同類頭條資訊
0相關評論

推薦圖文
推薦頭條資訊
點擊排行
網站首頁  |  關于我們  |  聯系方式  |  使用協議  |  版權隱私  |  網站地圖  |  排名推廣  |  廣告服務  |  積分換禮  |  網站留言  |  RSS訂閱  |  違規舉報
 
财神论坛公式规律 体彩泳坛夺金技巧 e8彩票平台怎么样 股票交易 流程 安卓捕鱼达人2无限金币 河北11选5开奖结果走势 开元棋牌有没有假 竞彩篮球大小分规律 挖莱特币矿机 博九娱乐城真人百家乐—官方网址 排列三走势图500图表网 海王捕鱼一直破产 湖南双色球兑奖规则 三升体育是什么平台 彩票投注率 篮球比分 qq游戏陕西麻将外挂