标签: 存储技术

深度揭秘:腾讯存储技术发展史

在腾讯内部,负责腾讯存储技术研发的部门,一直被认为是生产技术专家的“黄埔军校”。腾讯不少技术方向的负责人,*早也都出自这个团队。

 

这或许可以看出这只团队的底蕴——对于腾讯来说,存储是几乎所有业务开展的基础,存储技术和架构的迭代是腾讯*关注的技术方向之一。

 

作为海量数据的坚实承载,腾讯存储技术支撑了微信、QQ、QZone、邮件、微云、流媒体等内部业务的快速发展,同时也为快手、OPPO、小红书、海康、猎豹、58同城等几十多万个客户腾讯云上客户提供了可靠的服务,整体数据量高达EB级别。

 

本文中,我们将采访腾讯云存储技术相关负责人,深度揭秘腾讯云存储从零开始,到如今支撑起ZB级数据存储系统的技术演进历程,以及背后一些有趣的故事。

%title插图%num

腾讯存储技术演进历程

 

腾讯存储技术的演进基本上可以分为以下阶段:

1. 海量存储(2005~2010),支撑社交网络,构平台,撑海量

 

腾讯存储技术的发展,起源于2005年前后国内社交网络兴起。QQ、QZone(相册)业务的发展带来了海量的图片、文件、头像等UGC数据。为应对海量存储的挑战,腾讯云开始自研并构建了几套核心存储平台,包括TFS(通用性存储平台),CTFS(数据频删型存储,用于短期临时存储),TDB(基于HDD的键值对存储平台),TSSD(基于SSD的键值对存储平台)。

 

这些自研平台为腾讯对象存储的发展奠定了基础。基于存储SET容量模型,腾讯云构建起标准可控的运营体系,支撑起了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导致的闲置资源分散和隔离等多个主要矛盾,进行了全面应对和优化。

 

先从整体上对腾讯云存储有了一个大致了解后,我们再从各阶段一些重要节点事件,来了解腾讯云存储技术演变背后的逻辑,供业内参考。

 

%title插图%num

七八个人搞了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邮箱等产品中。

%title插图%num

腾讯史上*大数据搬迁

 

时间到了2009年,腾讯日益扩张的业务与激增的数据量使得存储的访问带宽问题暴露出来。

 

%title插图%num

2009年腾讯存储团队合影

那时,腾讯几乎所有的数据都在深圳,但当时国内的骨干网宽带与现在不可同日而语。QQ相册高峰时占用40-50G,而1G的流量对公司的网络就已经是很大的负担了。因此,在控制带宽高峰的驱动下,腾讯开始考虑把存储向西安搬迁。

 

谢明回忆,当时搬迁的*个设备的数据量是100T。现在看来,这个数字也许并不大,但当时却是腾讯历史上*大的一次数据搬迁,因为那时候基本上没有专线可用,数据搬迁都是趁着半夜公网空闲搬迁过去的!

%title插图%num

微信红包爆发带来存储压力

 

2014-2015 年,移动互联网崛起。

 

在这期间,腾讯也有两件大事发生。一是微信开始流行,2014年除夕的微信红包,连带着朋友圈的图片分享让微信火爆起来。原来在 PC 时代春节期间不怎么值班的腾讯工程师们发现,春节期间不得不安排更多人值班了,以应对除夕和元旦凌晨12点到12点10分这十分钟内,抢红包和图片发布剧增的数据。腾讯的存储系统面临着史无前例的压力。

%title插图%num

2016年腾讯存储团队春节值班零点后留影

 

为此,谢明团队与微信团队沟通,对大型缓存系统、延时通知等技术进行改进。水来土掩,兵来将挡,到2015年腾讯存储已经可以应对除夕夜突发性问题。

 

第二件大事是网络硬盘的发展给存储带来很大的成本压力。作为一项免费服务,如何控制成本成了谢明团队的又一个巨大的挑战。为此,团队于2014年完成并上线了基于纠删码的BTFS平台。

%title插图%num

业务也是技术发展的助推器

 

腾讯云存储技术能力的不断完善,也离不开业务不断提出的挑战。

 

郭振宇举了两个例子来说明当时团队面临的挑战,一个是微信与海外同类产品,如在东南亚人气很高的Line和WhatsApp。为了在竞争中获得优势,微信做了很多事情,比如东南亚用户与国内进行数据沟通时链路很长,团队就基于存储做了加速通道,从而加速了国内外数据传输,速度超过Line和WhatsApp。

 

另一个例子是游戏,QQ农场相信对于每个90后都不陌生,但不一定有人了解,全民偷菜的热情曾让腾讯的服务器数度崩溃。当时,农场访问量巨大,但腾讯还没有全存储系统,TDB是基于SAS盘存储的,在每秒数万的并发访问下,底层存储系统的延时和请求吞吐挑战非常大。

 

腾讯基本上把公司所有闲置服务器都用在QQ农场,但仍远远不够,需要大量采购服务器。团队一方面通过疯狂的机器扩容,另一方面基于数据规模不太大但是访问量*高的业务特点,快速研发了全内存的分布式存储系统,在保障数据安全可靠的前提下,并发访问的性能得到*大提升。快速上线、快速验证,完全自研,团队再次闯关成功,“修为”再上一层楼。

%title插图%num

从开放平台到服务B端,很多事情变了

 

面向B端客户提供服务,是腾讯云存储技术的另一个关键节点。

 

从2010年起,腾讯就开始做开放平台云。2013年,腾讯云正式面向B端用户全面开放。

 

在计算云迅猛发展的大背景下,行业竞争日益激烈,客户可选择面较大,对功能、性能、质量、价格等方面的需求不断增强。

 

此外,从腾讯云自身现状来说,数据量的不断增大,随之带来软硬件成本、运维成本优化的收益日趋增大。

 

同时,行业下游的基础设施,如大型数据中心、新机型、新硬件、各种存储介质、网络环境的不断发展演进。相比十几年前,单个IDC机房从数千台,到腾讯目前超百万装机量超大规模机房;网络从千M网卡,发展到百G网卡,整个基础设施发生了天翻地覆的变化。

 

这些变化,都在呼唤腾讯云在存储系统架构上做出改变。

%title插图%num

YottaStore,打破传统IT存储系统架构

 

腾讯云从2017年开始构思,并于2018年正式启动了下一代云原生对象存储系统设计——YottaStore。

 

名字由来

 

YottaStore这个名字实际上取得很有深意,腾讯云架构平台部存储研发中心总监杨奋强介绍了Yotta这个词背后的含义。

 

对于做存储的同学来说,经常会跟GB、TB、PB、EB这些概念打交道。现在全球互联网非常大的巨头公司的数据量基本都是在EB这个量级。EB上面是ZB,全球互联网巨头数据起来也就几个ZB;ZB上面是YB,也就是YottaByte,目前全世界所有的数据加起来也不会超过一个Yotta。另外这个单词中文译名“有他”,给人安全可靠放心的感觉,系统的Slogan就是“存储有他,能力无限”。

 

所以,Yotta——有他既是腾讯存储同学们对这个系统海量数据存储能力的深厚期望,也是对服务质量和可靠性的巨大承诺。为了实现上述期望和承诺,YottaStore实现了众多业界独一无二的技术突破。

 

技术突破

 

集群规模:YottaStore是一个云原生的数据存储系统,这个系统的理论*限是一个集群可以管理超上千万台服务器。而要管理这上千万台的机器,元数据管理只需要用600G左右的空间,用一台机器就能存下索引结构,这在业界是*无仅有的。

 

资源利用率:当集群规模非常大的时候,其实1%的剩余空间量都是非常非常大的,所以YottaStore的硬盘利用率非常高,加上实时回收机制,有效数据占比达90%以上,这在业界非常少见。

 

另外,由于大集群的全集群均衡能力,服务器资源使用均衡,所以资源使用率也可以做得很高,这样服务器硬件可以*低位配置,所有尖峰流量在这个异常大的池子里,波澜不惊。所以无论是成本、还是服务能力,都很大程度受益于超大规模集群带来的红利。

 

灵活性:YottaStore单集群可以零研发成本同时支持各种不同的冗余模式,像两副本、三副本、四副本、五副本,任意的EC编码,任意的M、加任意的N、任意的算法;单AZ、双AZ、多AZ也都可以灵活支持;另外,整个集群可以自适应各种各样不同的机型,包括JBOD;各种硬盘介质,如磁带、HDD、SSD等,存储的拓扑结构、混合部署也都可以任意指定。这样的灵活性在业界首屈一指。

 

运营能力:以存储节点迭代升级为例,十万百万规模的一个集群,上线升级速度都是一样的,如果是同构的数据格式,分钟级就可以完成整个升级过程;而如果是异构的数据格式,集群可以在短时间内自动将数据格式透明收敛到*新版。

 

可用性:YottaStore开始上线大规模支撑业务的前三个月一直维持百分之百的可用性,到现在一年半了,系统一直单人值周零故障运行,在业界是*少见的。可用性数个9很容易,但是可用性100%非常难。例如机房网络抖动,如果容错做的不够好,就很容易就会出现失败。但是YottaStore在初期上线的很长一段时间都是百分之百的可用性。

 

业务支撑

 

YottaStore是腾讯云对象存储服务COS的数据存储引擎,支撑起整个腾讯云海量数据的存储。COS的标准存储、低频存储、归档存储、多AZ存储等产品形态都是基于YottaStore推出。

 

得益于YottaStore在集群规模、资源利用率、灵活性等方面的技术突破,近期COS重磅推出的深度归档产品刷新了业界存储的*低价:1分钱/GB/月。

 

激烈竞争环境下,成本是存储业务胜出的关键因素之一。YottaStore是如何优化成本的呢?

 

资源利用率提高:基于前文所述的在超大规模集群和超高资源利用率上的技术突破,随着资源利用率的增高,单位存储的成本随之降低。

 

高密硬件适配:随着磁盘容量扩大,单机磁盘数变多密度增高,成本也随之降低;此外,CPU、网卡等新硬件的变化都会导致成本降低。

 

场景优化:针对海量小文件的用户场景,YottaStore采用多种冗余和数据组织策略持续优化成本。

 

此外,对于一套承载着用户业务数据的存储系统来说,数据一个都不能丢、安全可靠是*重要的承诺。在数据可靠性方面,YottaStore在数据冗余、数据巡检、数据修复、数据校验等方面做了很多工作,保障了数据的可靠性。

 

到这里,我们回顾了腾讯云存储技术发展的全部历程,也得以从中一窥互联网大厂在底层存储技术与业务发展紧密结合,“配合作战”成功的秘诀,希望对业内有一定的启发。云时代下,腾讯云存储还将有哪些创新,我们拭目以待。

云计算中运用哪些技术

没有基础怎么学云计算?云计算中运用哪些技术?云计算石近年来比较火爆的技术之一,受国家政策支持以及互联网更迭推动,云计算应用领域进一步扩张,云计算人才进一步增多。有很多零基础的人想要转行学习云计算,却又担心学不会。下面且看小编为大家分析一下。

%title插图%num

对于没有任何基础的人来说,如果想学习云计算并从事相关的工作岗位,应该先从构建基础知识结构开始,然后加强动手实践能力的培养。而这些仅靠自己摸索学习是远远不够的,你需要系统的学习和较多的项目练习。

如果你想从事云计算运维岗位,通常需要具备三大块知识体系:

一、计算机网络技术;

二、虚拟化技术;

三、存储技术。

在云计算系统中运用了许多技术,其中以编程模型、数据管理技术、数据存储技术、虚拟化技术、云计算平台管理技术更为关键。掌握这些技术点,你可以胜任Linux运维工程师、数据库管理员、Linux高级运维工程师、Linux集群/网站架构师、Python运维开发师、云计算运维工程师、云计算架构师、云安全工程师、开发运维工程师、高级系统工程师、信息技术架构师、企业架构师等职位。

值得一提的是目前企业对于云计算从业者的动手实践能力要求比较高,因此跟随专业人士进行系统的学习很有必要。不过云计算就业工资多少还是要取决自己的能力有多强,对于转行或者刚刚开始学习云计算的新手而言,选择专业学习无疑是非常便捷走进云计算的方法。

如果你想快速掌握企业所需的云计算技术、积累更多云计算实战项目经验,可以选择专业的学习,胜任运维工程师、云计算工程师以及Web渗透测试工程师等岗位,让自己轻松实现高薪梦!

友情链接: SITEMAP | 旋风加速器官网 | 旋风软件中心 | textarea | 黑洞加速器 | jiaohess | 老王加速器 | 烧饼哥加速器 | 小蓝鸟 | tiktok加速器 | 旋风加速度器 | 旋风加速 | quickq加速器 | 飞驰加速器 | 飞鸟加速器 | 狗急加速器 | hammer加速器 | trafficace | 原子加速器 | 葫芦加速器 | 麦旋风 | 油管加速器 | anycastly | INS加速器 | INS加速器免费版 | 免费vqn加速外网 | 旋风加速器 | 快橙加速器 | 啊哈加速器 | 迷雾通 | 优途加速器 | 海外播 | 坚果加速器 | 海外vqn加速 | 蘑菇加速器 | 毛豆加速器 | 接码平台 | 接码S | 西柚加速器 | 快柠檬加速器 | 黑洞加速 | falemon | 快橙加速器 | anycast加速器 | ibaidu | moneytreeblog | 坚果加速器 | 派币加速器 | 飞鸟加速器 | 毛豆APP | PIKPAK | 安卓vqn免费 | 一元机场加速器 | 一元机场 | 老王加速器 | 黑洞加速器 | 白石山 | 小牛加速器 | 黑洞加速 | 迷雾通官网 | 迷雾通 | 迷雾通加速器 | 十大免费加速神器 | 猎豹加速器 | 蚂蚁加速器 | 坚果加速器 | 黑洞加速 | 银河加速器 | 猎豹加速器 | 海鸥加速器 | 芒果加速器 | 小牛加速器 | 极光加速器 | 黑洞加速 | movabletype中文网 | 猎豹加速器官网 | 烧饼哥加速器官网 | 旋风加速器度器 | 哔咔漫画 | PicACG | 雷霆加速