浙江移动去IOE思考中国移动通信集团浙江有限公司信息技术部技术保障部郭岳2014年12月9日2自我介绍郭岳(三少)Oracle10GOCM(2009年)中国移动通信集团浙江有限公司信息技术部技术保障部数据平台组中国移动集团专利评审专家新浪微博:正牌三少微信:qq379622邮箱:guoyue@zj.chinamobile.com3第一部分去IOE背景及驱动第二部分去I分析第三部分去E分析第四部分去O分析4什么是去IOE?I指以IBM为代表的高端小型机、O指以Oracle代表的商用数据库、E指以EMC为代表的高端集中式存储,“IOE”架构是指针对企业关键应用,基于向上扩展(Scale-up)技术的高端商用产品而设计的传统集中式系统架构。应用软件数据库传统数据库(Oracle)物理存储磁盘阵列传统小型机典型IOE”架构去I•是指去掉以IBM为代表的小型机硬件设备,不再使用集中式技术架构,改为基于开放式X86硬件平台的分布式技术架构去O•是指以开源数据库以及大数据等方案替代Oracle、IBM等典型代表的商业数据库产品去E•是指不再使用EMC、HP、IBM等公司提供的高端集中式存储设备,改为使用开放通用的中低端存储或X86服务器本地存储去IOE的实质是“分布式+开源”架构替代“集中式+封闭”架构,是系统云化的重要组成部分020406080100购买价格便宜维护费用低性能高可扩展性好开放性自主可控IOE定性分析5去IOE驱动力分析“去IOE”起源于互联网行业,由阿里巴巴公司于2010年最先发起2010.1三淘启动去IOE2010.7商品库完成去I2011.7商品库完成去OE2011.9交易库完成去IOE2012.12三淘完成去IOE2013.5支付宝完成去IE2013.6阿里最大的现金流结算系统去O阿里“去IOE”有其自身内在驱动成本驱动•通过去IOE,引入标准化通用设备和开源数据库,大幅节省投资和运维成本,提升效益管理驱动•通过去IOE,减少在软硬件维保、技术支持、以及开发方面对供应商的依赖度,技术内化,加强对核心能力的掌控容量驱动•通过去IOE,建立分布式的开放架构,实现系统能力线性扩展,有效支撑未来业务发展,确保系统架构的先进性和能力领先业务驱动•阿里需要发展阿里云等业务,对外提供公有云服务,公有云的基础,需要低成本基础软硬件平台的支撑在去IOE中,去I和去E相对简单,能大幅节省成本,而去O较为复杂,不一定能节省成本。6第一部分去IOE背景及驱动第二部分去I分析第三部分去E分析第四部分去O分析7去I-驱动力分析“去I”是指去掉以IBM为代表的小型机硬件设备,不再使用集中式技术架构,改为开放式X86硬件平台的分布式技术架构驱动力分析•基于小型机的架构无法提供资源的线性增长,基于X86服务器的分布式架构为Scale-out模式,横向扩展能力强,资源增长量不受限制,且可在不同厂商产品间扩展•采购成本:相同处理能力的小型机采购成本是X86服务器的4-5倍•运维成本:单台X86服务器的年运维成本在数千元左右(不含OS及虚拟化软件运维),而单台小型机的年运维成本则在5-10万甚至更高•小型机设备相关技术集中于某一厂商,,设备扩容或替换受制于厂商;X86服务器为标准化设备,设备扩容和替换不受厂商限制,运营商可掌控力度相对较大•小型机技术封闭且非标准化,运营商无法掌控信息安全,可能影响企业、国家利益,有必要引入国产或定制产品,增强信息安全管控力度小型机集中式架构扩展性受限X86服务器成本低于小型机加强核心能力管控,减少对供应商的依赖引入国产或定制产品,保障信息安全8去I-技术难点分析及对策计算性能•单台X86服务器性能不足•X86单个CPU处理能力一直在提升,目前已达到或超越小型机单CPU处理能力•应用采用分布式架构,提升处理能力解决对策难点分析可靠性•X86服务器可靠性一般不超过99.99%,低于UNIX服务器•通过集群技术以及云化技术,确保整体可靠性应用迁移•X86服务器采用linux操作系统,小型机采用UNIX操作系统,基于C++架构的应用移植性较差•C++架构向Java架构迁移•软件模块化,降低耦合度去I主要难点在于技术架构,应用层会涉及部分代码重构,而数据库层则需通过数据库云平台等新技术手段实现去I小型机作为IT系统的主要计算设备承载了大部分的业务,但从扩展性、性价比、核心能力掌控等角度而言已经不适宜当前发展9去I-技术路线去I技术路线以直接替换为X86服务器为主,部分系统迁移至数据库云平台,OLAP主要迁移至大数据平台路线1:直接替换为X86服务器路线2:数据库云平台路线3:大数据平台应用层数据层IO性能要求不高核心OLTP及高IO性能要求OLAP100%19%45%26%10%63%23%14%26%45%29%64%36%10第一部分去IOE背景及驱动第二部分去I分析第三部分去E分析第四部分去O分析11去E-驱动力分析“去E”是指不再使用EMC、HP、IBM等公司提供的高档集中式存储设备,改为主要使用开放通用的X86服务器的本地存储驱动力分析•传统集中式存储设备单点扩展存在容量上限和接口带宽等限制,面对PB级的海量存储需求,难以通过线性扩展满足需求;基于X86服务器本地存储的分布式存储能实现容量、处理能力和I/O带宽的线性扩展•采购成本:传统高端盘阵集采价格约为2万元TB,而采用X86服务器本地存储的成本约为传统盘阵成本的15%•运维成本:X86服务器本地存储年运维成本较低,传统盘阵年运维成本则会高出十几倍甚至几十倍•传统存储设备相关技术集中于某一厂商,运营商无法掌控,设备扩容或替换受制于厂商;X86服务器存储为标准化设备,设备扩容和替换不受厂商限制,运营商可掌控力度相对较大••传统存储设备技术为封闭式非标准化,运营商无法掌控信息安全,影响企业、国家利益,有必要引入国产或开源产品,增强信息安全管控力度传统集中式存储设备扩展性受限X86服务器本地存储成本低于传统盘阵加强核心能力管控,减少对供应商的依赖引入国产或定制产品,保障信息安全12去E-技术难点分析及对策传统高端集中式存储是目前运营商IT系统中数据存储的主要介质,但从扩展性、性价比、核心能力掌控等角度而言已经不适宜当前发展存储性能•单个普通本地存储IOPS达不到中高档存储设备IOPS能力•本地存储整体存储性能不及中高档存储设备•采用SSD、FusionIO等技术提升单个存储能力,比如引入数据库云平台•利用分布式存储技术提升整体存储性能(SDS-技术尚未成熟,待继续研究)解决对策难点分析可靠性•X86服务器本地硬盘故障率相对较高,可靠性下降•采用分布式文件系统或分布式存储,将数据分布在多份副本上,提升数据可靠性容灾技术•传统盘阵下基于底层复制,去E后需要研究适用X86平台的容灾备份技术•采用基于开源的存储复制技术或数据库复制技术(如ADG等)去E主要难点仅限于技术架构,对应用基本无影响,但是进度依赖于技术手段的成熟度13去E-技术路线数据存储类型主要分为数据库与文件系统两大类,不同的存储类型,不同的的性能和容量要求需要采用不同的去E技术,任何一种单一技术都难以适应浙江公司全部数据采集、存储、处理的需求,多种技术并存才是发展趋势注:路线3远期目标为SDS软件定义存储,但考虑该技术目前尚未成熟,将继续跟踪研究路线1:数据库云平台路线4:分布式文件系统(如:HDFS)路线2:MPP数据库文件系统路线3:中低端存储OLTP-低容量OLTP-中容量低容量中容量高容量OLAP-中容量OLAP-高容量40%10%19%10%5%11%5%50%9%15%26%79%21%9%10%14第一部分去IOE背景及驱动第二部分去I分析第三部分去E分析第四部分去O分析15数据管理软件的发展历程数据管理软件综合组织数据,供多个用户共享,有较高的数据独立性和安全控制机制,到现在主要经历了四个阶段,人工管理阶段、文件系统阶段、数据库阶段和大数据阶段,逐步完善、发展。人工管理阶段文件系统阶段数据库阶段大数据阶段数据的管理基本是手工的,分散的,数据不保存在机器中,计算机还没在数据管理中发挥应有的作用,这种管理方式严重影响了计算机的使用效率。各个文件之间是孤立的,不能体现与现实世界事务之间的内在联系,各个程序之间不能共享相同的数据,造成数据冗余较大,并容易产生相同数据的不一致性,数据的表示和处理能力差,文件的结构和操作比较单一,不丰富。提供了完整的数据管理机制,保证了数据和程序的逻辑独立性,用户共享冗余度小,保证了数据的安全和完整性。主要经历了网状数据库、层次数据库、关系型数据库三个阶段。大数据时代,在大数据4V的冲击下,传统的关系型数据库已经无法满足实际应用的需求,因此数据管理技术出现了分化发展,其核心思想是引入了分布式技术。20世纪50年代后期至60年代中期60年代后期2000年以后20世纪50年代中期以前16分布式架构的关键约束——CAP理论AAvailabilityCAP理论CConsistencyPPartitionTolerance一个分布式系统不可能满足一致性、可用性和分区容忍性这三个需求,最多只能同时满足两个。——EricBrewerCAP理论:Consistency(一致性):分布式系统中,所有节点在同一时刻看到同一个值。Availability(可用性):每个请求都会收到一个应答,无论该应答是成功还是失败。PartitionTolerance(分区容忍性):即便在网络中断,消息丢失的情况下,系统照样能够工作。CAP理论并不意味着必须抛弃三个要素之中的一个。三者可以在程度上进行衡量。如:可用性可以从0%到100%之间进行变化。17•OLDSQL阵营在逻辑架构不变的情况下引入了分布式技术和虚拟化技术,以提升处理性能(一体机、云平台);•NEWSQL阵营通过把传统关系型数据库转变为MPP(shared-nothing)架构,在保证了强一致性的前提下,提升了海量数据处理能力,但是由于分布式事务的问题,导致很难应用在OLTP场景;•NOSQL阵营则通过降低一致性要求,引入多结构化数据处理能力,提高海量数据的离线处理和在线处理能力。•大数据时代的到来,海量数据的3V(数量Volume、速度Velocity、多样Variety)挑战着传统数据库曾经非常成功的“一种架构支持多类应用”模式。在互联网和大数据应用的冲击下,世界数据库格局正在发生革命性的变化,通用数据库(OldSQL)一统天下变成了OldSQL、NewSQL、NoSQL共同支撑多类应用的局面。分析一种架构支持多类应用事务查询OLDSQLNewSQLC&P分析+查询NoSQLA&P分析+查询OldSQLC&A事务多种架构支持多类应用大数据时代架构多元化数据管理软件发展趋势18强一致性强一致性或弱一致性最终一致性结构化非结构化单机结构SMP架构MPP架构传统上认为大数据技术=NewSQL+NoSQL(含流计算)。但是这些技术均不能解决海量数据下OLTP场景的问题(业界一般采用应用分布式改造的方案)与传统的先收集后计算不同,在流计算过程中,高级软件的运算法则在接收流数据时就开始对其进行分析。流计算提供了一组通用原语,可被用于“流处理”之中,用来处理源源不断的消息,并将处理之后的结果保存到持久化介质中。或用于“连续计算”,对数据流做连续查询,在计算时就将结果以流的形式输出给用户。OldSQLNewSQLNOSQL事务处理计算能力数据存储流计算数据管理软件发展趋势19数据管理软件发展趋势无法满足高并发事务请求无法满足海量数据即时查询无法满足海量多结构数据联机分析无法满足在线数据实时处理大数据和互联网业务(数据量大、实时性高、多结构化)对传统的关系型数据库带来的挑战,从Oracle、DB2包打天下,变成根据不同应用场景发展了不同的分支技术。•应用分布式改造,如使用TDDL将多个单点的数据库虚拟化成一个(本质上还是降低了一致性);•硬件架构云化,如PBData(提升了存储的性能)•NoSQL:如Hadoop(Hbase)•