首页>会议文档 >

邹方明 - 《存储世界,不止如此 - EB级存储引擎背后的技术》

page:
邹方明 - 《存储世界,不止如此 - EB级存储引擎背后的技术》
邹方明 - 《存储世界,不止如此 - EB级存储引擎背后的技术》
邹方明 - 《存储世界,不止如此 - EB级存储引擎背后的技术》
邹方明 - 《存储世界,不止如此 - EB级存储引擎背后的技术》
邹方明 - 《存储世界,不止如此 - EB级存储引擎背后的技术》
邹方明 - 《存储世界,不止如此 - EB级存储引擎背后的技术》
邹方明 - 《存储世界,不止如此 - EB级存储引擎背后的技术》
邹方明 - 《存储世界,不止如此 - EB级存储引擎背后的技术》
邹方明 - 《存储世界,不止如此 - EB级存储引擎背后的技术》
邹方明 - 《存储世界,不止如此 - EB级存储引擎背后的技术》
邹方明 - 《存储世界,不止如此 - EB级存储引擎背后的技术》
邹方明 - 《存储世界,不止如此 - EB级存储引擎背后的技术》
邹方明 - 《存储世界,不止如此 - EB级存储引擎背后的技术》
邹方明 - 《存储世界,不止如此 - EB级存储引擎背后的技术》
邹方明 - 《存储世界,不止如此 - EB级存储引擎背后的技术》
邹方明 - 《存储世界,不止如此 - EB级存储引擎背后的技术》
邹方明 - 《存储世界,不止如此 - EB级存储引擎背后的技术》
邹方明 - 《存储世界,不止如此 - EB级存储引擎背后的技术》
邹方明 - 《存储世界,不止如此 - EB级存储引擎背后的技术》
邹方明 - 《存储世界,不止如此 - EB级存储引擎背后的技术》
邹方明 - 《存储世界,不止如此 - EB级存储引擎背后的技术》
邹方明 - 《存储世界,不止如此 - EB级存储引擎背后的技术》
邹方明 - 《存储世界,不止如此 - EB级存储引擎背后的技术》
邹方明 - 《存储世界,不止如此 - EB级存储引擎背后的技术》
邹方明 - 《存储世界,不止如此 - EB级存储引擎背后的技术》
邹方明 - 《存储世界,不止如此 - EB级存储引擎背后的技术》
邹方明 - 《存储世界,不止如此 - EB级存储引擎背后的技术》
邹方明 - 《存储世界,不止如此 - EB级存储引擎背后的技术》
邹方明 - 《存储世界,不止如此 - EB级存储引擎背后的技术》
邹方明 - 《存储世界,不止如此 - EB级存储引擎背后的技术》
邹方明 - 《存储世界,不止如此 - EB级存储引擎背后的技术》
邹方明 - 《存储世界,不止如此 - EB级存储引擎背后的技术》
邹方明 - 《存储世界,不止如此 - EB级存储引擎背后的技术》
邹方明 - 《存储世界,不止如此 - EB级存储引擎背后的技术》
邹方明 - 《存储世界,不止如此 - EB级存储引擎背后的技术》
邹方明 - 《存储世界,不止如此 - EB级存储引擎背后的技术》

邹方明 - 《存储世界,不止如此 - EB级存储引擎背后的技术》

所属会议:ArchSummit全球架构师峰会(深圳站)——实时处理技术与创新业务架构专场会议地点:深圳


下载

手机看
活动家APP客户端

扫二维码下载
或点击下载
Android iOS

3727次
浏览次数
ArchSummit全球架构师峰会(深圳站)——实时处理技术与创新业务架构专场所有文档 罗喆 - 快手在大数据驱动下的直播体验优化 Facebook Engineering Manager黄力菲,谭映辉 - 《Facebook代码工具》- 《Tools for Advanced Prototyping for Mobile Apps》-Joe 阿里巴巴- 陈鑫 - 《互联网时代的持续交付》 华为iSource 团队蒋鑫 - 《华为Git实践:工作模式创新,及多中心分布式架构 》 Mobvista 黄伟坚 - 《独角兽炼成记》 爱因互动 创始人洪强宁 - 《从程序员到架构师,从架构师到CTO》 千米网 曹祖鹏 - 《从大厂到创业公司,架构师经历的三次转身》 阿里巴巴 杨成虎 - 《造物先造人,八年架构与心路历程》 58到家蔡敏 - 《58到家支付系统架构与实践》 Sync 单忆南 - 《点融网金融科技的大数据解决方案》 阿尔山金融 韩昭芳 - 《区块链技术及其在金融领域的落地实践》 听云 龙成 - 《支撑千万亿级交易额的银行云计算架构演进》 Hulu 李彬 - 《Hulu基于DASH构建的高清直播系统架构及实践》 林正显 - 《YY直播基于软硬件的弱网深度优化》 腾讯 王磊 - 《亿级社交短视频播放实战》 Using sagas to maintain data consistency in a microservice architecture-Chris 有米科技 TO蔡锐涛 - 《从0 到1再到100,创业不同阶段的技术管理思考》 广州经传 刘小明 - 《从码农到CTO再到CEO过程中的认知升级》 百度 刘斌新 - 《Al筑巢;机器学习在凤巢的深度应用》 Bay沈则潜 - 《数据驱动电商零售运营》 同程旅游 王晓波 - 《从微服务到 Serverless 架构:享受纯粹的编程乐趣》- 华为 方国伟 - 《Cloud vNext :正在兴起的云计算新技术》 曹宁 - 《Data Outsourcing in Cloud Computing;Reliability,Security and Privacy》 新加坡南洋理工大学 黄广斌 - 《普适智能和普适学习;智能革命和智能经济的引擎》 百度 冯景辉 - 《人工智能在WEB安全中的实践》 阿里巴巴 胡四海 - 《风控场景的模型平台架构》 同程 刘新高- 《巡风系统在同程运维安全的实践 雅虎刘琳 - 《自然语言理解技术与智能问答实践》 秦苍科技 李炫熠 - 2017人工智能在消费金融领域的实践 小红书 赵晓萌 - 电商智能应用 华为 陈玉君 - 如何设计开发智能分析产品?供应链领域的实践启示 黄力菲+倪安迪 - 《Mobile Performance at Scale》 腾讯 罗成 - 《WEB加速,协议先行》 天猫 陈松涛 - 《无线动态化框架 LuaView性能优化》 腾讯周海发 - 《红包狂欢背后的秘密-手Q春节红包后台架构实践》 蘑菇街江龙 - 《蘑菇街分布式消息中间件Corgi在多场景下应用架构演进》 《Walmart eCommerce Search system architecture;intro and Evolution》_曹宁 阿里巴巴 谢吉宝 - 《阿里异地多活与同城双活的架构演进》 王飞 - 《广发证券新一代行情系统架构与优化》 付钱拉 周恒 - 《系统架构的加法与减法》 蘑菇街 陈宗 - 《支付体系架构与实践》 维优 陈浩 - 《公有区块链与区块链即服务》 阿里巴巴 陈皓 - 《建一支分布式远程团队》 施韵涛 - 《数字组织和人才战略》 手机卫士 卜云涛 - 《360手机卫士性能提升攻略》 阿里巴巴 胡文江 - 《Atlas 手机淘宝 Android 架构实践》 京东 刘享军 - 《京东3d数据平台》 腾讯 郭锐 - 《微信Android模块化架构重构实践》 阿里巴巴 周小帆 - 《全链路稳定性背后的数字化支撑-阿里巴巴鹰眼技术解密》 腾讯 聂鑫 - 《腾讯海量监控创新之道》 小米 陈帅 - 《小米监控实践之路》 携程 蔡峰 - 《携程容器云智能运维》 京东 鲍永成 - 《京东容器平台与数据中心基础设施协同发展实践》 新浪微博 韩冰 - 《微博机器学习平台混合云应用实践》 小米 李波 - 《小米生态云的应用引擎实践》 腾讯 甘恒通 - 《信鸽实时推送演进和实践》 Agora 何丰 - 《质量实时监控-声网全球音视频实时传输的关键帧》 百度外卖 蒋凡 - 《大数据驱动业务增长:百度外卖商业智能推荐系统实践》 美团 王兴星 - 《美团外卖原生广告推荐实践》 TensorFlow 李嘉璇 - 深度学习在推荐系统中的应用和实现 Joel pobar - 《Move Fast and Break Things :Engineering at Facebook》 贝贝网 徐裕键 - 《独角兽团队的持续迭代》 PingCAP黄东旭 - 《Dynamic Multi-Raft;强一致高可用系统设计与实践》 小米云 孙伟杰 - 《分布式实现那些事儿:Pegasus 背后的故事》 airbnb曾洪博 - 《airbnb数据平台实践》 刘新宇 - 《Secret Kung Fu Stream Processing with Apache samza》 美团谢语宸 - 《美团点评数据平台融合实战》 网易 金晓军 - 网易流计算服务化平台架构实践 UCloud朱锋 - 《无惧挑战 ——站式构建轻运维高可用架构》 大疆创新张清平 - 大疆服务网关全球化设计和实践

文档介绍

本次演讲将主要分享从2006开始,腾讯内部从无存储平台到存储量达 EB 级别的 TFS2.0 存储平台这一过程中所经历的技术问题。 在社交图片和视频盛行的时代,存储系统的设计和运营如何进行适配,揭秘微信 C2C 图片和视频如何提升体验、降低成本,以及在云时代腾讯是如何开放内部的存储技术的。

演讲实录

1、序言

自从互联网从web1.0跨入到SNS时代,用户开始从站点获取数据跨入到用户自己产生数据,分享数据,这时用户的数据存储开始急剧增长。更重要的是时代的发展,用户内容从文字时代跨入到了图片时代,这个时代的明星产品--qq相册的诞生,更是让用户分享数据达到了一个顶峰。在这个数据开始飞速增长的时代,当时是没有合适的存储引擎和方案来支持的。在qq相册飞速发展的同时,由当时存储系统的万金油--mysql搭建的存储解决方案,遇到了访问延时高,扩容困难,成本高,等问题。而这一类问题也同样困扰着所有的互联网公司。因为那时是一个没有真正存储系统的混乱时代。这个时代,我们的存储还不到1PB。


这时在GFS,bigtable等论文中,各大互联网公司从困扰中找到灵感,纷纷效仿推出类GFS存储引擎。腾讯也不例外,由TEG--架构平台部研发的TFS存储家族横空出世,并全面推进了由没有定制存储系统的混乱时代向TFS1.0的演进。


2、TFS家族诞生

TFS家族1.0整体设计中包含对开发,运维,资源管理等各个要素的考虑,并由各个相关要素的组件组成。其中最重要的两个引擎组件为基于SAS和内存的KV索引存储引擎,以及基于SATA的数据存储引擎。正是这两个核心引擎解决了腾讯存储在跨越PB级别中,所遇到的存储上的难题。


2.1 KV存储引擎特性

以农牧场为代表,基于社交关系的各种应用和游戏越来越多。这类应用或游戏的特点是单个用户的一个操作会涉及大量数据的读写,而且是对于数据的部分读写,对后台数据存储带来的极大的性能挑战。传统关系型数据库如Mysql更偏向数据一致性的保证,复杂的引擎设计注定了性能相对较低,虽然读性能可以通过实现Cache解决,但是写性能始终是一个不能规避的难题。因此,key-value形式数据库特别适合,特点是小块数据的快速存取、数据弱一致性。TFS家族的KV存储引擎就是为这种业务场景而诞生的通用、高速、持久化Nosql存储系统。KV存储引擎具备高性能 、低成本、高可用的良好业务体验,能轻松应对海量数据访问、存储成本敏感、延时敏感等问题,并且安全可靠 ,拥有多份热点数据和流水落盘,备份中心备份数据和流水,具备回档能力。


业务根据数据读写时延的需求,可以自由选择内存,SSD,SAS等做为存储介质,甚至可以更通用的让系统自动选择冷热数据存储在不同的介质上。在内存中存取延时达到极致的us级别,支持超高并发的读写请求,普通单机可跑到30w/s读或11w/s 写。在加入多队列支持和10G网卡后单机性能超过100w/s。这种读写性能,完美的解决了农牧场的高并发写问题。


KV引擎最重要的特性是多个介质集群中,可以自动调度数据,下图就内存集群和SSD集群之间的数据自动调度。将热数据存储在内存集群,冷数据存储在成本更低的SSD存储集群有几个优点:用户访问是透明的,成本是降低的,体验是提升的。



2.2 文件存储引擎特性

TFS文件存储引擎分为数据层、索引层和逻辑层三个部分。数据层负责文件数据的存储,提供k-v接口,Value长度一般限定为1M,大文件由逻辑层切分成多个片顺序存储。索引层包含文件索引、目录索引和去重索引。文件索引保存文件的元信息(创建时间、修改时间、文件长度)、分片信息和业务自定义的blob字段。目录索引提供按照目录树组织的索引结构,索引中只保存文件、目录的元信息和在文件中的key。去重索引保存了分片的哈希值与数据层key的对应关系,用于上传时查找已经存在的数据分片,避免重复上传。逻辑层串联文件上传、下载、删除、修改等所有接口的流程控制,提供原子操作。



TFS文件存储引擎主要解决了索引数据的存储问题,数据层的管理,以及业务文件存储特性的需求。


在TFS1.0家族的强力支撑下,我们解决了在图片时代,SNS场景的存储问题,这时用户的数据依然急剧增长,由PB级别,飞速发展到几百P级别。用户的SNS场景依然猛烈的发展,但用户内容却慢慢的由图片在向视频转变,随着IT技术的发展,用户的内容质量越来越高,视觉体验越来越好,这都意味着最底层的数据存储爆发式的增长。而这些增长下,TFS1.0家族显得越来越跟不上时代的发展,从而暴漏出了索引层成本高,功能不够丰富,数据层的数据安全与成本之间的矛盾。在新时代新存储矛盾的触发下,TFS家族由1.0升级到了2.0版本,从而应对降低存储成本以及新存储功能的需求。


3、新TFS时代

3.1.1 数据存储引擎的升级

为了降低数据存储成本,我们采取用计算换取空间的做法,与传统3副本存储方式相比, TFS新文件存储引擎的副本数只有1.X份,在保证数据可靠性的前提下,TFS通过牺牲一部分访问性能,换取更大的成本收益。采取的是RS编码方式,在M份业务数据块的基础上编码计算出X份校验块, 一共M+X个块组成一个条带落地存储。


3.1.2 索引存储引擎的升级

我们使用了多年的KV存储引擎,也遇到了新的挑战,不支持范围查询接口。业务有相关需求时,需要通过大量数据组织逻辑,以构建出适用的数据模型。所以TFS家族推出新的类LevelDB存储引擎,丰富TFS家族中的组件,主要设计如下:



通过业务场景和底层平台的深度配合,对外提供了丰富的数据处理接口。


3.1.3 业务形态的深度理解

在TFS家族核心组件全面升级的过程中,我们不光需要底层平台的强力支持,更需要在对业务深度理解的前提下,做出精准的存储策略,打造出专业的定制存储系统。


在基于TFS打造的专业图片平台,图片平台以稳定可靠的图片存储及加速下载为基础,配套以强大的图片处理、自动化的违禁图审核功能,并针对业务模型做冷热流量调度、存储数据降冷等一系列成本体验优化,为图片客户提供了一套完整的解决方案。强大的图片处理功能涵盖了各类应用场景,有图片缩放、裁剪、旋转,图片水印,格式转换,信息获取等,支持上传时处理后落地存储,也支持下载时实时生成。同时图片丰富的表现力,也让违禁图十分活跃,图片平台配有上传即可触发的全自动审核流程,平台具备整套审核及禁图操作,业务无需参与即可轻松享有。


在文件存储平台上,在TFS家族中推出了一系列针对不同用户场景使用的分支存储系统,包括适应腾讯视频等高频存储业务使用的多副本存储引擎,适应QQ离线传文件等临时存储业务使用的即删即用存储引擎,等等。往往一个业务的文件不可能只适应一个存储系统,大多数文件随着时间的推移会逐渐变冷,通过对各个业务的深入理解,对用户行为的深度理解,以及大量的数据分析,平台实现了文件在各个存储引擎之间的智能调度,大大节省了存储成本。


3.1.4 自动的运营体系


架平的运营体系主要包括基础配置CMDB、成本预算核算、报表&流程&测试、质量监控、现网操作这五大块,这五大部分组合成一个完整的运营体,为部门业务安全可靠高效的运营保驾护航。

CMDB:基础性的配置管理,包括了设备、机房、业务等基础信息,主要提供设备资源提前报备、到货验收初始化、高危端口管理、设备转移退役等功能;

成本预算核算:部门本身不直接对外营收,但却承载了公司海量的存储、CDN服务,部门每年的运营成本占了公司总运营成本的相当一部分,必然要有全面、严谨的成本管控核算,然后分摊到服务的各个业务部门;

报表&流程&测试:业务多报表多,需要有个报表系统来统一管理,现网变更的管理、突发事件产生后在哪里跟进、验证是否解决等,以及对现网质量关键的保障一环就是模块开发完成后发布到现网前,还需要先过自动化测试这一环节,以便发现潜在的BUG;

质量监控:我们的眼睛,时刻盯着数十万台服务器、成百上千个业务,一旦出现异常,最快秒级主动通知到负责人,降低对业务的影响时长;

现网操作:服务器达到数十万台、分布在各种不同运营商、甚至海外机房、aws等场景,我们有一套专用系统来支撑对现网安全、高效的操作。


4、结束语

正是有了新TFS家族,定制的KV引擎,文件存储引擎,以及对业务数据的深度理解,多年来积累的现网运营经验,才确保了EB级的数据,安全稳定的运行。在这个过程中,我们积累了多年的海量数据运营经验,也会在接下来的系列文章中,依次呈现,敬请期待。


×

打开微信扫一扫,分享到朋友圈