对于腾讯来说,存储是几乎所有业务开展的基础,存储技术和架构的迭代是腾讯最关注的技术方向之一。
腾讯存储技术支撑了微信、QQ、QZone、邮件、微云、流媒体等内部业务的快速发展,同时也为快手、OPPO、小红书、海康、猎豹、58同城等几十多万个客户腾讯云上客户提供了可靠的服务,整体数据量高达EB级别。
腾讯存储技术演进历程
腾讯存储技术的演进基本上可以分为以下阶段:
1. 海量存储(2005~2010),支撑社交网络,构平台,撑海量
腾讯存储技术的发展,起源于2005年前后国内社交网络兴起。QQ、QZone(相册)业务的发展带来了海量的图片、文件、头像等UGC数据。
为应对海量存储的挑战,腾讯云开始自研并构建了几套核心存储平台,包括TFS(通用性存储平台),CTFS(数据频删型存储,用于短期临时存储),TDB(基于HDD的键值对存储平台),TSSD(基于SSD的键值对存储平台)。
2. 跨地分布(2011~2013),分拆大体量业务,搬数据,腾机房
2011~2013年,QQ相册等大体量业务的访问量、存储量迅速增长。为应对底层机房,带宽等方面的瓶颈,存储平台启动了相册一通点等项目,海量业务数据开始从深圳向西安、杭州、广州、上海等地分布,访问带宽同时调度到天津、南京、东莞等成本更低的一通机房。
3. 冷存储(2014~2015),分离冷数据,降份数,省成本
腾讯相册、微云、邮件等业务在业务发展中,逐步积累起来较多的UGC历史数据,对业务的运营成本构成了较大的压力。2015年前后,腾讯基于纠删码研发了BTFS平台(Backup-TFS)。对业务进行了数据分层,增量数据访问量大,用TFS存储3份;历史冷数据从TFS平台剥离出来,从3副本存储转向1.33副本的纠删存储,降低了存储成本。这个阶段中,腾讯优化BTFS,使得部分低访问量业务的增量数据也可以直接存储进来。
4. 云存储磨合期(2016~2017),重构系统,兼容接口
在磨合期,腾讯云发现外部第三方业务在体验、可用性、成本等诸多运营方面有极高的要求。为支撑云的需求场景,腾讯云对存储的接入层和索引层架构进行重构,架构扁平,模块精简,同时开始舍弃私有接口