2013中国软件开发者大会(以下简称SDCC)于8月30-31日在北京新云南皇冠假日酒店举办。作为CSDN和《程序员》杂志倾力打造、千人规模以上的顶级技术盛会,今年SDCC 2013以“软件定义未来”为主题,来自于国内外一线的技术精英,就大数据分析与BI、架构实践、研发管理、IT基础设施与运维、产品与设计、开放平台等专题和参会者进行了深入的分享和探讨。此外,32小时编程马拉松、CTO论道论坛等量身定制的特色环节也受到了参会者的强烈关注。
来自阿里技术保障部DBA负责人周宝方分享了《阿里“去IOE”战略》为主题的精彩演讲。他跟大家分享了阿里“去IOE”战略历程、核心技术与心得体会。
阿里技术保障部DBA负责人周宝方(后羿)
IOE三个单词分别表示:IBM、Oracle、EMC,更确切地说是IBM小型机、Oracle数据库与EMC存储设备的组合。他表示,斯诺登事件让更多企业考虑“去IOE”的必要性,但是“去IOE”拥有很高的技术门槛,较大的技术风险,水很深。而集中式的严重制约是“去IOE”的核心原因,而IOE本身限制了很多开发者技术的发挥和许多企业的长远发展。同时,他还认为,“去IOE”技术难以复制,对接该技术的云计算平台更合适,需要信念,才能走下去。
周宝方向大家介绍了阿里的“去IOE”战略,包括2010——2013年预算指导原则的演进、阿里“去IOE”历程中所用到的技术架构及心得体会。并且还在大会上对一些坊间传言进行了澄清,比如阿里是使用MySQL去IOE的,其实除了MySQL,还有OceanBase、RDS。
2010~2013年预算指导原则的演进
做预算一个很重要的指导原则是阿里技术的不断发展,每年阿里做预算不单单是盘点钱的事情,而是梳理未来技术一年的规划。在这个过程中,阿里逐步确定了以云计算的思路来逐步展开应用。下面是周宝方对这四年“去IOE”整个预算过程的总结:
- 商用技术
- 开源技术
- 自主技术
- 云计算
“去IOE”历程
阿里”去IOE“前架构
首先对业务进行垂直拆分,就是按照功能拆分,misc/bmw/shoop相继拆分;然后再进行水平拆分,就是大家所说的分库分表。后来阿里又逐步放弃使用RAC来处理大数据,而是以云的思路来处理大数据。
至于为何一定要“去IOE”呢?他在大会上也跟大家进行了具体的分享,技术上主要包括以下几点:
- 集中式的严重制约:集中式强大单点远远满足不了阿里特别是当时淘宝爆炸式业务增长应用的模式,这里可分为三个方面,稳定性、跨IDC容灾切换、快速扩容;
- 技术面临失控,创新潜力受限;
- 专用设备规模化场景下诸多限制;
- 成本:这应该是整体最次的因素;
- 安全。
除掉以上核心因素,他还跟大家分享了当时的内外部环境、去IOE核心技术、需要克服的技术难点及“去IOE”里程碑。
(1)内外部环境
内部环境,主要源于2009年11月份的预算报告初稿,当时决定阿里以后不再购买小型机。外部环境主要包括:PC服务器处理能力增强、以及Flash技术的出现。
阿里”去IOE“后整体架构
(2)去IOE核心技术:
- 存储技术(MySQL/OceanBase/RDS);
- 分布式数据处理技术;
- 数据流;
- 规模化运维体系和研发支撑体系。
(3)“去IOE”需要克服的技术难点:
- 功能:Oracle到MySQL功能上落差大、存储过程、join操作;
- 高可用:小型机、存储高冗余机制、PC怎么做;
- 数据一致性:Oracle物理级别的一致、MySQL有没有问题。
对以上技术详细进行拆分,还可分为:
- 如何去存储过程;
- 如何无缝数据迁移;
- 如何分库分表分事务;
- 如何数据路由;
- 如何异构数据实时同步;
- 如何数据安全;
- 如何面对规模运维。
在克服掉以上这些困难后,
(4)“去IOE”里程碑
时间 | 关键事件 |
2010年1月 | 三淘核心系统”去IOE“启动 |
2010年7月 | 完成商品库"去I“ |
2011年7月 | 完成商品库"去OE" |
2011年9月 | 完成交易库"去IOE“ |
2012年12月 | 完成三淘"去IOE“ |
2012年6月 | B2B/阿里金融启动 |
2013年4月26日 | CBU/ICBU完成"去I" |
2013年5月21日 | 支付宝完成"去IE“ |
2013年6月4日 | 阿里最大的现金流结算系统"去O" |
2010年1月份启动,大概2011年7月份完成商品库的“去IOE”,这也为后期交易的“去IOE”奠定了坚实的技术基础,这期间主要经历了三个阶段:
- 16套读写分离Oracle,后来压力太大,根据卖家查询的部分,从数据库移至实时搜索;
- 2010年7月,商品去小机;
- 201年7月,商品KOE项目,使用Flashcache和PCIE-SSD。
心得体会
在完成”去IOE“后,周宝方感触很深,他表示,”去IOE“首先赋予了阿里非常灵活的技术架构,支撑业务的快速发展,比如双十一,阿里可以很淡定地做业务扩展;其次是阿里掌握了技术自主可控操作;另外还包括基础工程技术和人才的积累、技术的沉淀、成本、安全性的提升等等。
最后他还跟我们分享了一些心得体会:
- 对I、O、E们客观上造成误伤,本质是以自主可控的分布式Commodity PC架构替代集中专用的IOE架构,并非为了做而做,也并非纯粹为了成本或纯粹为了不用外国技术,更不是用某些国产PC/RDBMS/存储作为替代技术;
- 个人的技术成长方向有必要和企业发展所需的方向契合,甚至推动变革;
- 很高的技术门槛、较大技术风险、水很深;
- 开源只是在入手时零成本,而后(对传统企业)会是极高的维持和发展成本,这并不为很多人所意识到;
- 并非所有企业都适合“去IOE”,但规模型的企业需要考虑;
- “去IOE”技术难以复制,对接“去IOE”技术的云计算平台更合适“去IOE”;
- 需要信念,才能走的下去。
相关推荐
SDCC软件SDCC 软件SDCC 软件SDCC 软件SDCC 软件SDCC 软件
用于SDCC的CH554软件开发套件 这是CH554 SDK的端口,从Keil C51到SDCC。 CH55x系列微控制器之所以引人注目,是因为它具有极低的成本,USB设备和主机外围设备以及预加载的USB Bootloader。其他资讯包含翻译后的注释,...
包括sdcc-4.2.0-x64-setup,sdcc-src-4.2.0.tar.bz2
sdccman手册,2.9.0的,找了好久,要的那去。
详细的sdcc c编译器介绍文档,纯英文版
源代碼是針對SDCC編譯器C語言所改編的,是(單片機C語言程序設計實訓100例--基於8051+Proteus仿真)書中的基礎篇範例,註解皆改為繁體中文,且所有範例均經過(SDCC編譯器(免費8051整合環境編譯器).zip)安裝完的編譯器編譯...
SDCC Compiler 快速上手的说明
windows下的sdcc, 适合64位系统, SDCC的全称是Small Device C Compiler,所以不仅仅是单片机的编译器;目前SDCC支持Intel 8051, Maxim 80DS390, Zilog Z80与Motorola 68HC08 等系列CPU的代码编译。免费、开源、跨...
sdcc 4.3 x64 windows 安装包
windows10 64位应用sdcc,开源程序,用于MCU(比如80c51)开发,支持多种C标准,不放心的移步原地址下载(文中有)
sdcc功能强大,几乎小型编译器环境交叉编译实现了keil的功能
2017年本次SDCC大会的 PPT精选整合, 方便大家一起下载
SDCC 2.8 这个版本比较适合 Eclipse。
2016SDCC开发者大会PPT分享 共5部分 分包压缩
使用 sdcc 编写51单片机.zip使用 sdcc 编写51单片机.zip使用 sdcc 编写51单片机.zip 使用 sdcc 编写51单片机.zip使用 sdcc 编写51单片机.zip使用 sdcc 编写51单片机.zip 使用 sdcc 编写51单片机.zip使用 sdcc 编写51...
支持SDCC编译器的自动编译。使用make或mingw32-make实现目录内全源码自动编译的Makefile。
Linux下51等单片机调试和下载sdcc_stcgal SDCC是可重定目标的,优化的标准C(ANSI C89,ISO C99,ISO C11)编译器套件,针对的是基于Intel MCS51的微处理器(8031、8032、8051、8052 等), Maxim(以前为Dallas)。...
该文档来自SDCC2013中国软件开发者大会上,CSDN创始人&董事长蒋涛的开幕致辞。
sdcc:这是svn:svn.code.sf.netpsdcccodetrunksdcc上Small Device C Compiler SVN存储库的最新镜像。
在SDCC社区的大力支持下,我在这里为可用的标准外围设备库的SDCC补丁。 对于相应的设备类型,只需搜索: STM8S / A:“ STSW-STM8069” STM8L10x:“ STSW-STM8012” STM8L15x-16x-05x-AL31-L:“ STSW-STM8016”...