高清免费视频|成都冻货格|我可以再往深处一点吗视频|舌头伸进去添的我好爽高潮欧美|性都花花世家|无人区卡一卡二卡三乱码网站|草莓看视频在线观看免费

樂思軟件

提交需求|聯系我們|請電400-603-8000

NoSQL在騰訊的應用實踐


  二、【2006~2008】因QQ相冊而研發TFS、TDB


  回顧NoSQL在騰訊的發展歷程,需要從2006年騰訊分布式文件系統TFS 的研發開始談起,TFS目的是在公司內部構建統一的存儲平臺,為各個BU提供文件系統服務。第一期的重點是要能夠支持到QQ相冊的快速發展。當時QQ相冊使用傳統企業級存儲硬件+標準linux文件系統的老架構,在數百億的圖片數,每天近10億長尾下載的規模下已難以為繼。通過分析,老架構主要有下面三個問題:


  采用FC-SAN等高端企業級存儲硬件,這些硬件主要是針對電信、銀行等高ARPU值的行業客戶而生,價格通常比較貴,對盛行免費的互聯網企業來說,成本壓力大。


  使用通用的linux文件系統,對相冊海量小文件的場景,空間利用和IO性能都不能很好的滿足要求。


  元數據與對象數據耦合,擴展性和可維護性較差,單機故障以及擴容都是異常繁瑣的運維操作。


  TFS采用廉價的存儲設備,在軟件層面使用類似軟raid的技術來滿足系統基于不可靠硬件的可靠性要求。將對象數據與元數據分離:對象數據存儲采用自研的CHUNK文件系統,inode節點更小,空間分配采用了基于append + delete更為緊湊的管理方式,使得單機最大可以支持數10億的圖片文件;元數據使用MYSQL存儲。系統架構如下:
 

\
 

  上面的架構很好的滿足了數百億級別規模下的QQ相冊業務發展。大致在07的時候,QQ相冊采用TFS的新架構趨于穩定,同時業務發展需要,對用戶上傳也放開了限制,用戶上傳瀏覽的活躍度上升的一個新的量級,用戶目錄、文件索引等元數據規模突破千億。在使用MYSQL應對如此大規模的元數據的場景下,暴露出一些問題:


  索引低效:在QQ相冊的場景,上千億的記錄,使用MYSQL的B樹索引索引的存儲量消耗都在數TB到數十TB. 海量索引在無法全內存的情況會帶來IO的多次訪問,一方面增加了單次訪問的時延,另一方面降低了磁盤的IO利用率。


  數據搬遷:每天數億的圖片上傳導致系統擴容,IDC分布策略,導致數據搬遷是常態。使用MYSQL,使用select逐條記錄方式搬遷,不同的記錄分散在不同的磁盤偏移,一方面搬遷速度較慢,另一方面由遷移導致的磁盤隨機IO與業務正常訪問相互交織在一起,從而影響到在線業務訪問。

集成系統網絡情報信息數據庫

CIO頻道人物視窗
CIO頻道方案案例庫
大數據建設方案案例庫
電子政務建設方案案例庫
互聯集成系統構建方案案例庫
商務智能建設方案案例庫
系統集成類軟件信息研發企業名錄