按:真正做技术的,就该这样。

以下为全文转载

(观察者网讯)

10月24日,阿里巴巴合伙人、高德总裁刘振飞在阿里云开发者社区发文,回忆从2009年启动“去IOE”工程到2019年OceanBase拿下TPC-C世界第一,这十年来阿里巴巴自研数据库之路。

刘振飞在文中回忆道,2009年9月,我奉命组建当时的淘宝技术保障部,随即启动了2010年的技术预算工作,但在给时任集团首席架构师的王坚博士汇报预算的时候,却被狠批一顿。

原来在汇报时,刘振飞得意地提出,“(淘宝)2010年不再购买小型机”。但王坚批评他称,既然2010年可以不再购买小型机,为何还要给自己留下活口,2011年以后还可以买呢?

“加一个字:2010年起不再购买小型机。” 王坚说道。

阿里巴巴去IOE(IBM的小型机、Oracle的数据库、EMC的存储设备)历程自此开启,走上自研之路。

今年10月2日,权威机构国际事务处理性能委员会(TPC)官网显示,中国蚂蚁金服自主研发的金融级分布式关系数据库OceanBase,在被誉为“数据库领域世界杯”的TPC-C基准测试中,打破了由美国公司Oracle(甲骨文)保持了9年之久的世界记录,成为首个登顶该榜单的中国数据库产品。

中国工程院院士、计算机专家李国杰对此表示,这是中国基础软件取得的重大突破。

TPC-C是全球主流计算机硬件厂商、数据库厂商公认的权威标准。过去数十年,TPC-C一直是海外传统数据库厂商竞技的舞台,Oracle更是制霸该榜单长达9年。而OceanBase创造的新的联机交易处理系统(OLTP)世界纪录,是Oracle最好成绩的两倍多。

资料显示,从1978年,“数据库”三个字首次出现在中国大学的课堂上,中国发展自己的数据库已经有40年历史。数据库和操作系统一样,是IT行业的重要基础软件。

但囿于技术实力与软件研发的滞后性,越过数据库这座大山并不容易。据科技日报报道,在我国数据库市场,以Oracle、IBM为代表的国外数据库软件长期处于主导地位,这不仅导致软件服务费用居高不下,在关键领域还存在信息安全的隐患。

报道称,作为基于云计算分布式的新一代数据库,OceanBase在性能指标上大幅超越Oracle等传统数据库,标志着国产数据库经过40年的探索和发展,在云计算时代迎来了换道超车。

专业人士评价称,OceanBase能够晋级数据库世界杯,显示了中国在数据库领域的技术积累超出业界想象。从内部和外部的实践中不断的打磨锤炼,中国科技人员正在实现一次又一次的技术创新和技术突破。

而刘振飞也在文中写到,“今天我们可以自豪地说,阿里巴巴数字经济体的小二们,十年磨一剑,终于解决了困扰国家已久的信息技术三大软肋(“CPU芯片、操作系统、数据库”)之一的数据库难题。”

刘振飞表示,性能大幅超越 Oracle 是第一步,期待后面10年时间的努力,OceanBase 也从市场占有率上超越 Oracle,那才是彻底完胜的姿势。

王坚后来在谈到成功“去IOE”时表示,每年,我都要负责整个集团技术预算拟定,当看到阿里巴巴对计算需求成指数级增长,并跟业务增长不成比例时,就意识到如没有技术的进步,一定会影响公司长远的发展。

他说,做预算不仅仅是“钱”的问题,而是考虑集团未来如何发展的问题,也是思考技术战略的机会。

为什么阿里能够率先成功?王坚说,“有三点重要原因:一是企业的战略决心是否足够强大,在这一点上没有巧可以取;二是这项工作是否能够坚持到底,并愿意承担技术上、组织上的各种风险;三是,也是最重要的,要有使命感的人和团队去完成一件看起来不可能的事。”

以下是刘振飞回忆全文:

十年前(2009年)的9月,我奉命组建当时的淘宝技术保障部;随即启动了2010年的技术预算工作,记得第一次给时任集团首席架构师的王坚博士汇报预算的时候,我得意地说到:“(淘宝)2010年不再购买小型机”,被王博士狠狠批评了一顿:“既然2010年可以不再购买小型机,为何还要给自己留下活口,2011年以后还可以买呢?加一个字:2010年起不再购买小型机!”

由此,启动了后面几年备受争议的“去IOE”工程。

2010年5月,邀请正祥加盟淘宝,由此拉开了OceanBase的自主研发之路。

中间历尽磨难,各种反对、讽刺挖苦……回想起来当时都是折磨、痛苦和眼泪,今天说起来可以算是传奇和笑话了。

2019年10月,OceanBase TPC-C 世界第一!热烈祝贺正祥和OB团队。

今天我们可以自豪地说,阿里巴巴数字经济体的小二们,十年磨一剑,终于解决了困扰国家已久的信息技术三大软肋(“CPU芯片、操作系统、数据库”)之一的数据库难题,OceanBase 100% 完全自主研发、安全可控!

从2009年启动“去IOE”到2019年OceanBase拿下TPC-C世界第一,这十年漫长的时光,有无数次可能让OceanBase夭折,坚持到今天真是一个特别了不起的奇迹。

性能大幅超越Oracle 是第一步,期待后面10年时间的努力,OceanBase 也从市场占有率上超越Oracle,那才是彻底完胜的姿势!

“去IOE”工程的战略价值何在?我们总结有三点:

架构灵活支撑业务飞速发展

基础工程技术和人才的积累

大幅降低成本

当然,今天我们可以自豪地讲“去IOE”工程结出一个硕果:OceanBase

===“去IOE”工程的关键时点===

2009.11 王坚博士决策启动阿里“去IOE”工程

2010.01 大淘宝核心系统“去IOE”工作启动

2010.05 正祥加盟淘宝,OceanBase立项

2010.07 完成商品库“去I”

2011.07 完成商品库“去OE”

2011.09 完成交易库”去IOE”

2011.11 OceanBase第一次支持双十一,服务淘宝收藏夹

2012.06 B2B/阿里金融启动“去IOE”

2012.11 OceanBase转战支付宝

2012.12 完成大淘宝“去IOE”

2013.04 CBU/ICBU 完成去I

2013.05 支付宝完成“去IE”

2013.06 阿里妈妈完成“去O”

2013.06 支付宝官微宣布:【再见!亲爱的小机】

2014.11 OceanBase承担支付宝交易10%流量

2015.11 OceanBase承担支付宝交易100%、支付50%流量

2016.11 OceanBase承担支付宝交易100%、支付100%、花呗账务30%流量

2017.11 OceanBase承担支付宝交易100%、支付100%、账务100%流量,“去O”大功告成!并第一次走出阿里,应用到南京银行互联网核心系统

2018.09 云栖大会发布了OceanBase 2.0,正式宣布兼容Oracle

2019.10 OceanBase发布Oracle兼容版本2.2,并公布TPC-C结果

ZT:阿里合伙人发文:十年磨一剑,自研数据库终拿世界第一的更多相关文章

  1. 十年磨一剑,王坚自研的MaxCompute如何解决世界级算力难题

    摘要: 2009年这项关于大数据的技术长征开始.王坚带队,目标是自研大数据计算平台MaxCompute统一阿里巴巴内部的数据和大数据计算体系. 大数据时代,随着企业数据规模的急剧增长,传统软件已无法承 ...

  2. 十年磨一剑 Delphi重新崛起再写传奇

    新年伊始,英巴卡迪诺公司(Embarcadero)就在其官网发布了"激动人心的RAD Studio2018年发展规划"公告(见上图).公告中指出,将在于2018年第一季度发布10. ...

  3. 十年磨一剑 Delphi再写传奇(不争辩,不解释,十年坚持不懈的努力)

    新年伊始,英巴卡迪诺公司(Embarcadero)就在其官网发布了“激动人心的RAD Studio2018年发展规划”公告(见上图).公告中指出,将在于2018年发布10.3.X新版本,新版本兼容Ex ...

  4. Seeing AI:计算机视觉十年磨一剑,打造盲人的“瑞士军刀”

    Mary Bellard(左)和AnneTaylor(右)是Seeing AI开发团队的成员,SeeingAI成果的背后是计算机视觉数十年研究的支持. 当Anne Taylor走进一个房间时,她像其 ...

  5. Peter Norvig:自学编程,十年磨一剑

    若要在某一领域内达到专家级的水平,其关键在于"审慎地重复",也就是说,并非是机械地,一遍又一遍地练习,而是要不断地挑战自我,试图超越自身当前的水平,通过不断的尝试挑战,并在尝试的过 ...

  6. 第十四章——循环神经网络(Recurrent Neural Networks)(第一部分)

    由于本章过长,分为两个部分,这是第一部分. 这几年提到RNN,一般指Recurrent Neural Networks,至于翻译成循环神经网络还是递归神经网络都可以.wiki上面把Recurrent ...

  7. OCM_第十五天课程:Section6 —》数据库性能调优 _SQL 访问建议 /SQL 性能分析器/配置基线模板/SQL 执行计划管理/实例限制

    注:本文为原著(其内容来自 腾科教育培训课堂).阅读本文注意事项如下: 1:所有文章的转载请标注本文出处. 2:本文非本人不得用于商业用途.违者将承当相应法律责任. 3:该系列文章目录列表: 一:&l ...

  8. OCM_第十四天课程:Section6 —》数据库性能调优_各类索引 /调优工具使用/SQL 优化建议

    注:本文为原著(其内容来自 腾科教育培训课堂).阅读本文注意事项如下: 1:所有文章的转载请标注本文出处. 2:本文非本人不得用于商业用途.违者将承当相应法律责任. 3:该系列文章目录列表: 一:&l ...

  9. m_Orchestrate learning system---二十九、什么情况下用数据库做配置字段,什么情况下用配置文件做配置

    m_Orchestrate learning system---二十九.什么情况下用数据库做配置字段,什么情况下用配置文件做配置 一.总结 一句话总结: 配置文件 开发人员 重置 数据库 非开发人员 ...

随机推荐

  1. js 实现复制功能的四种方式的优劣对比

    今日网上浏览别人项目,看到有人用了document.execCommand这个属性,于是想起之前我选用Clipboard.js 来实现.对于这种不常用的属性还是不太放心,于是随手查了下关于复制的资料, ...

  2. 最最常用的RAID

    若转载请于明显处标明出处:http://www.cnblogs.com/kelamoyujuzhen/p/8980696.html RAID stands for Redundant Array of ...

  3. Mybatis在xml文件中处理大于、小于、不等于号的方法

    在mapper.xml使用大于.小于等符号会和xml语法冲突,解决冲突有两种方式. 方法一: 使用转义字符: 字符名称 字符符号 转义字符 大于号 > > 小于号 < < 与 ...

  4. linux tar打包压缩排除某个目录或文件

    用tar打包时想剔除打包目录中的某个子目录或文件: 比如你想打包/home这个目录,但是/home/afish/目录和/home/www/afish.php文件你都不想打包,方法是: tar -zcv ...

  5. python_生成器

    生成器: # 生成器函数(内部是否包含yield) def func(): print('F1') yield 1 print('F2') yield 2 print('F3') yield 100 ...

  6. [唐胡璐]Selenium技巧- 如何处理Table

    由于webdriver中没有专门的table类,所以我们需要简单的封装出一个易用易扩展的Table类来帮助简化代码。 以下是我之前用C#语言来实现的一个简单的封装: 只是一个大概的思路,有些具体实现就 ...

  7. jQuery获取父窗口的元素

    js获取父页面的元素可以用 $(window.parent.document).find("#customer_id").val();这里的customer_id表示父页面某一个元 ...

  8. Codeforces Round #554 (Div. 2) E Neko and Flashback (欧拉路径 邻接表实现(当前弧优化..))

    就是一欧拉路径 贴出邻接表欧拉路径 CODE #include <bits/stdc++.h> using namespace std; const int MAXN = 100005; ...

  9. SIGAI深度学习第七集 卷积神经网络1

    讲授卷积神经网络核心思想.卷积层.池化层.全连接层.网络的训练.反向传播算法.随机梯度下降法.AdaGrad算法.RMSProp算法.AdaDelta算法.Adam算法.迁移学习和fine tune等 ...

  10. vue+axios+elementUI文件上传与下载

    vue+axios+elementUI文件上传与下载 Simple_Learn 关注  0.5 2018.05.30 10:20 字数 209 阅读 15111评论 4喜欢 6 1.文件上传 这里主要 ...