2016年4月14-15日,由51CTO传媒主办的WOT2016互联网运维与开发者大会在北京珠三角JW万豪酒店召开。秉承专注技术、服务技术 人员的理念,自2012年以来,WOT品牌大会已经成功举办了八届,积累了大量的技术专家资源,获得了广大IT从业者和技术爱好者的一致认可,成为了业界重要 的技术分享交流平台以及人脉拓展平台。
本次会议分为11个技术主题,分别是:数据库技术与应用,大数据与运维,云计算与运维,运维安全,移动运维,容器体系构建与实践,运维自动化,行业运维、监控与性能优化、高可用架构和分布式存储技术。51CTO作为本次大会的主办方,将以快速报道、现场专访与后期视频等形式展示这场盛宴。
下面是来自百度开放云资深工程师崔灿先生给大家带来的是主题为《百度对象存储系统的架构与演进》的精彩演讲。
百度开放云资深工程师 崔灿
对象是什么
对象是现实中实际存在的实体,有名字、数据和属性,一般来说,一个对象生成之后就会永远存在,不再作修改。在实际的系统中,一个MP3,一个视频文件,一个日志文件一般都可以认为是对象,而对象存储系统的重要使用场景也是在这类数据的存储和访问,比如说在线音乐视频播放,日志存储和处理等。
一般来说,一个对象可以通过对象的名字获取,是一个扁平的名字空间。
对象存储系统关注的点:可靠性、可用性、性能和价格。
可靠性是对象存储系统的最基本要求,简单的说是保证用户的数据不丢失。
影响可靠性的基本原因在于硬件故障,主要包括磁盘故障、单机故障、交换机故障和机房故障,目前看来,这些故障的概率大概趋于稳定。
存储系统架构于基本硬件之上,需要部分的容忍硬件故障,一般来说可以通过对硬件的冗余来提升系统的可靠性,但是对硬件的冗余会提升成本。
对存储系统可靠性的另外一个影响是硬件故障的修复时间,修复时间越短,系统的可靠性就越高。修复时间取决于磁盘容量 / min(磁盘带宽,网络带宽),其中磁盘带宽和网络带宽是参与修复的总量。
系统可靠性 = f(故障容忍度,故障修复时间)
百度内部的KV存储系统,采用3副本,能容忍单机故障,而且通过分布式修复以及磁盘故障预测,能大幅减少修复时间。
百度开放内部kv存储系统,对外发布对象存储系统,主要遇到两个方面的挑战:
1. 从用户角度来看,一是用户量增加,导致对用户的帮助会降低,另外一方面直接面对大众,可能会遭到恶意攻击。
2. 从业务上来看,一方面是网络环境发生变化,从内网到公网。另外一方面对外部业务的增长并不可预期。
基于以上的一些问题,百度开放云商业化的时候作了以下几个方面的工作:
1. 安全性:开放云对象存储对数据安全和服务安全两个方面都作了一些改进。
数据安全有三个层次,数据不丢(基于可靠存储,多region, 多az来实现),数据不被非法访问(基于ak, sk的用户认证以及基于policy的权限认证),高级安全特性(https,服务端加密等)。
服务安全包括三个方面,用户间互相影响(通过频度 & quota服务),恶意攻击(通过百度私有防攻击系统以及运营商黑洞清洗来解决),机房地域故障(多region, 多az来解决)。
2. 易用性方面:通过对用户上云(网络、硬盘导入),用户使用,以及运维三个方面来提升用户的使用体验。
3. 性能的方面:主要对Http的性能作优化,通过多并发的上传下载,流量调度,CDN集成等多个方面来提升http性能。
依托于百度内部大数据存储的经验,特别是网盘数据的存储经验,百度开放云提供了冷备服务,在不降低系统可靠性的前提下,降低存储成本,降低用户的使用成本。
开放云对象存储的一个策略是为用户提供完整的解决方案,把百度内部优质服务共享给开发者,目前成熟的解决方案包括冷存储,多媒体(直播、点播、转码、图像处理等),数据处理(bmr, 机器学习等),在未来百度开放云会更进一步的包装百度内部优质服务,开放给开发者。
另外,崔灿也跟大家分享了百度开放云在面对超大数据存储方面所采取的方法是将数据多级索引存储,避免了索引量的暴涨。
同时也介绍了百度CDN的优势所在,一方面是和开放云的其它服务结合,形成完整的一套解决方案。其次百度CDN依赖百度多年的CDN经验,形成靠谱的IP库,保证流量调度合理,同时通过多级回源,BGP回源等策略,保证在源站服务能力有限的情况下保证客户的速度。CDN在应对攻击方面,若有超大流量攻击时,百度有和运营商有应对黑洞的策略方案。对于小流量的窃取流量的问题,可以采取将用户的请求回源站等方法来处理。
未来
崔灿介绍到,未来,百度将继续对存储的核心技术方面进行不断的研究,其次会不断提高产品的性价比,降低用户的存储成本,降低副本。第三是会继续提供解决方案。将百度内部的资源包装出来,使用户享受到更好的服务。