数据库领域颠覆先行者虽难 但总有机会-程序员宅基地

技术标签: 操作系统  移动开发  数据库  

导语:去年双11支付宝核心交易流量完全不依赖Oracle数据库,100%由阿里巴巴自主研发的数据库产品OceanBase承载的消息,不仅让OceanBase名声大噪,也让项目负责人阳振坤被推到了前台。不少人惊呼国产数据库发展了这么多年,很难有哪个数据库在企业级海量数据应用、金融电信等核心领域使用,而OceanBase做到了。有媒体评价OceanBase的出现是国产数据库里程碑事件。

 

本期访谈对象阳振坤(花名:正祥),OceanBase项目负责人,阿里技术研发部高级研究员。作为2016中国数据库技术大会专家顾问团成员之一,阳振坤是IT168的老朋友,但这却是我第一次采访他。他会是一个什么样的人?什么样的经历让他能够带领团队在5年时间内开发出OceanBase这款高技术含量的数据库产品?OceanBase又是如何支撑支付宝双十一14万/秒笔交易的?带着这些疑问,在采访前,我细细翻看他曾经的演讲和采访,不禁平添许多佩服。

阳振坤的经历相当具有传奇色彩,博士时师从王选院士,1995年其所在团队研究成果获国家科技进步一等奖(排名第四),1997年也就是他32岁那年被破格晋升为教授,在他人或许都安于现状之时,他却执着于对梦想的追求,毅然选择了离校,个中原因并不复杂,他的工作更偏于工程,而在工业界有更多的机会,也能发挥更大的作用。以云计算为例,无论是海量的数据还是大量的服务器,都可以在工业界找到,而在学术界很难找到。

 

2002年离开北大/方正的时候,其实内心已经很清楚自己必须要做点其他不同的事情,后来在联想研究院了解到分布式存储技术,在微软亚洲研究院、百度以及阿里巴巴/蚂蚁金服所从事的工作,虽然各不相同,但都属于分布式存储这个范畴。

 

去淘宝时,他甚至根本不知道自己会做什么事情。但到淘宝之后,发现无论淘宝还是支付宝,关系数据库都扮演着十分关键的角色,但已有的数据库,无论是商业数据库,还是开源数据库,都远远无法满足像淘宝和支付宝这样的互联网商业和金融对数据库的高扩展、高并发、高可用和低成本的需求。这时候他觉察到了机会,凭着科研人的一股子执着劲,他坚持下来,5年磨一剑,并最终收获,也才有了今天我们看到的OceanBase。



老鱼:工作之外你都喜欢做些什么?

 

曾经似乎有过一些业余爱好,现在好像只剩下“快走”:只要身体许可(没有生病),我每天会快走3千米,大约30分钟。

 

老鱼:读博士时你师从王选院士,毕业后留校,不到4年时间就破格晋升为教授,而且屡获大奖,前途一片光明,当时为什么会选择离校?

 

跟大学里的很多老师不同,我的工作更偏于工程,因此在工业界有更多的机会,也能发挥更大的作用,例如,以云计算为例,无论是海量的数据还是大量的服务器,都可以在工业界找到,而在学术界很难找到。

 

老鱼:离校后,你先后在方正技术研究院、联想研究院 、微软亚洲研究院、百度等公司任职,主要研究方向为云计算系统。后来你离开百度去了淘宝,这其中又经历了哪些故事?

 

在北大/方正技术研究院,我从事的工作是印前技术中的栅格图像处理,2002年离开北大/方正的时候,我清楚自己必须得做点其他不同的事情,后来在联想研究院了解到分布式存储技术,在微软亚洲研究院、百度以及阿里巴巴/蚂蚁金服所从事的工作,虽然各不相同,但大体都属于分布式存储这个范畴。

 

老鱼:为什么会从云计算系统研发,转向海量关系数据库的研发?做这件事情对你个人的意义在哪里?

 

其实我来淘宝的时候,根本不知道自己会做什么事情。到淘宝后,发现无论淘宝还是支付宝,关系数据库都扮演着十分关键的角色,但已有的数据库,无论上商业数据库,还是开源数据库,都远远无法满足像淘宝和支付宝这样的互联网商业和金融对数据库的高扩展、高并发、高可用和低成本的需求。我觉得这是我能为这家公司做出一点点贡献的机会。

 

老鱼:阿里巴巴自己研发OceanBase始于什么时间?最初的动机是什么?目前是否发生变化?

 

OceanBase的立项是2010年6月,最根本的动机是淘宝/支付宝对数据库的高扩展、高并发、高可用和低成本的需求,例如由于业务发展非常迅速,淘宝/支付宝的数据库经常要扩容,经常要面对各种促销的挑战,数据库的并发从传统商业和金融行业的几百/几千/几万到几十万/几百万甚至几千万,业务需要天级别的响应时间,而高端服务器、高端存储不仅扩展困难,采购、安装和调试更是以月甚至季度为单位。此外,除非使用高端存储,无论商业数据库还是开源数据库,其高可用以及高一致性依然面临巨大的挑战。

 

老鱼:OceanBase是如何支撑支付宝双十一14/秒笔交易的?

 

其实这也是当初研制OceanBase最根本的诉求之一,即高扩展性。如果是传统数据库,其扩容常常涉及到主机系统和共享存储的扩容,即扩展主机系统的内存容量和处理能力、扩展共享存储的存储容量和IO能力;OceanBase作为一个分布式系统,与传统数据库相比,最突出的优点之一就是水平、线性的扩展能力,线性扩展能力使得OceanBase能够很容易地应对支付宝双十一这种非常大的性能挑战。当然,OceanBase的稳定性、可靠性是这一切的前提。

 

老鱼:在淘宝工作,你遇到的最大挑战是什么?

 

“快”是互联网公司的共同特征,快速迭代、快速发展等等,而“稳”却是OceanBase作为一个关系数据库的根本需求,稳定、可靠、数据一致、99.999%可用等等。“稳”并且“快”是我在阿里巴巴/蚂蚁金服遇到的最大挑战。

 

老鱼:传统企业对数据处理的需求,和互联网公司有什么区别?OceanBase解决了哪些问题?

 

如果仅仅就联机事务处理(OLTP)而言,传统企业和互联网企业是一样的,都需要数据库的原子性、一致性、隔离性和持久性,即ACID。如果要说有差别,就是后者在扩展性和高并发上可能有更高的需求。OceanBase在廉价PC服务器上实现了高可用、高扩展的关系数据库,不仅克服了传统关系数据库难以扩展的困难,还使得关系数据库摆脱了高端服务器和高端存储,极大地降低关系数据库的成本。

 

老鱼:据说,OceanBase会以云服务的方式提供,这可能会面临可信任和可掌控的质疑,对于不少企业而言不能本地部署总是有些不踏实,对此你有什么看法?

 

云服务是迄今为止最低碳、最绿色的方式,许多企业把他们的系统和数据放在了云上,例如12306、微博、携程和高德的部分系统和数据就在阿里云上,等等。一百年前,国人认为把金子和银子藏在家里最安全最踏实,今年,几乎所有人都相信把钱放在银行里更安全更踏实。

 

老鱼:OceanBase一旦商用不可避免的会与Oracle在市场上产生正面竞争,OceanBase如何应对?

 

全球有数不清的各种数据库,OceanBase只是其中之一,甚至是其中最年轻的之一。OceanBase还很幼小,还远远谈不上跟世界顶级数据库竞争。

 

老鱼:在国内数据库研发领域,你认为最大的问题是什么?

 

数据库的技术相对比较成熟,不仅在中国,甚至在全世界,绝大多数的联机事务处理(OLTP)数据库的实现技术都非常类似,绝大多数的OLTP数据库的后来者踩着先行者的脚印在前进,先行者的缺点,例如高端服务器与高端存储的高成本、非常有限的扩展性,后来者全都有,先行者的优点,例如产品成熟、稳定、性能,仍然是后来者的缺点,由于数据库对于业务极其关键的作用,市场对这些后来者的接受度非常低,这些后来者颠覆和超越先行者的可能性非常小。

 

老鱼:你对国内基础软件领域几乎被国外巨头垄断的情形怎么看?

 

基础软件,例如操作系统、数据库等,投入大、投入周期长,颠覆先行者的困难比其他软件更大,但依然有机会,例如Google的手机操作系统Android就是一个最新的例子,并且获得了极大的回报。政府和厂商正在这方面努力,相信只要坚持不懈,总是有机会的,就像中国最终获得**奖一样。

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31448824/viewspace-2139537/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/31448824/viewspace-2139537/

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/cuanlielian4510/article/details/100490698

智能推荐

Flask、Django、Tornado三大框架的对比_tornado flask di-程序员宅基地

文章浏览阅读3.9k次。前言之前面试的时候我提到过自己有Flask、Django、Tornado框架的使用经验,于是面试官很自然就问到了这三大框架的区别、各自的特点这样的问题。回答了几次总觉得自己回答得不是太好,有些点没有回答到,亦或是逻辑有点混乱,于是想要归纳总结一下。框架的特点FlaskFlask诞生于2010年,是Armin ronacher用Python语言基于Werkzeug工具箱编写的轻量级Web开发..._tornado flask di

简单实现接口自动化测试(基于python)_接口自动化测试怎么写-程序员宅基地

文章浏览阅读9.3k次,点赞21次,收藏192次。一、简介本文从一个简单的登录接口测试入手,一步步调整优化接口调用姿势,然后简单讨论了一下接口测试框架的要点,最后介绍了一下我们目前正在使用的接口测试框架pithy。期望读者可以通过本文对接口自动化测试有一个大致的了解。二、引言为什么要做接口自动化测试?在当前互联网产品迭代频繁的背景下,回归测试的时间越来越少,很难在每个迭代都对所有功能做完整回归。但接口自动化测试因其实现简单、维护成本低,容易提高覆盖率等特点,越来越受重视。为什么要自己写框架呢?使用requets + unitt_接口自动化测试怎么写

JavaScript大数运算】实现高精度计算的JavaScript算法_js 用什么类型运算大数据和精度要求高的数据-程序员宅基地

文章浏览阅读104次。总结起来,JavaScript中的大数运算是一个挑战,但通过使用字符串表示大数并手动实现算术运算,或者使用专门的JavaScript库,我们可以实现高精度的数值计算。这为处理更大范围的数值提供了可能,使我们能够在JavaScript中进行各种复杂的数值计算。无论是手动实现算法还是使用现有的库,都能帮助我们在JavaScript中实现高精度计算,处理更大范围的数值。在上述代码中,我们将大数表示为字符串,逐位相加,并处理进位。这样,我们可以避免JavaScript的数值限制,从而实现了高精度的加法运算。_js 用什么类型运算大数据和精度要求高的数据

bbp公式求圆周率、python_【并行计算】六种方法计算圆周率-程序员宅基地

文章浏览阅读2.7k次。计算π的历史圆周率π可能是科学界内外最广为人知的自然常数了。早在公元5世纪时,南朝宋数学家祖冲之用割圆法将圆周率计算到小数点后7位数字。大约同一时间,印度的数学家也将圆周率计算到了小数点后5位。历史上首个π精确无穷级数公式(即莱布尼茨公式)直到约1000年后才由印度数学家发现。20世纪以来,随着计算机技术的快速发展,π的精度也在极速提高。截至2019年,π的十进制精度已高达1013位。虽然几乎所有..._chudnovsky算法

苹果快捷键怎么调出来_原来还有这么好用的CAD快捷键,文末附赠快捷键鼠标垫!留言走起...-程序员宅基地

文章浏览阅读141次。▼相信大家都看过一些大神做CAD,那个图纸真是做的又快又好看!当然大神们其实也就基础好一点,把快捷键记得过目不忘,所以接下来小编就教大家一个非常Skr的方法,保证你对这些快捷键过目不忘,文末更有免费鼠标垫领取,千万别错过哦!这个方法就是建立我们的思维导图了,文字看了可能会忘记,但是通过导图的方式,就会变成思维图形,更加符合我们大脑的思考习惯,就可以牢牢记住这些快捷键啦:▼例如我们看到下面的就是绘图..._苹果cad快捷键

MATLAB的GUI 程序设计_制作一个曲面光照效果的演示界面,如图所示,三个弹出式菜单分别用于选择曲面形式、-程序员宅基地

文章浏览阅读7.2k次,点赞7次,收藏60次。第七章 MATLAB的GUI 程序设计Chapter 8: Design of MATLAB of GUI programGUI(Graphical User Interfaces):由各种图形对象组成的用户界面,在这种用户界面下,用户的命令和对程序的控制是通过“选择”各种图形对象来实现的。目前90%以上的应用程序和软件都是在GUI下运行的。MATLAB有两种GUI用户界面控件的创建方式,基于命令行的方式用程序来制作和基于GUI的方式制作。这里主要介绍基于GUI的方式。MATLAB 的._制作一个曲面光照效果的演示界面,如图所示,三个弹出式菜单分别用于选择曲面形式、

随便推点

【中级软考】软件设计-考试介绍_软件设计师 以考代评 考完就是中级职称-程序员宅基地

文章浏览阅读457次。软件设计中级软考基本内容,通过一下几点进行介绍:1、软考好处2、软件设计证书模版3、流程4、考点分布5、考试形式_软件设计师 以考代评 考完就是中级职称

linux7配网卡,CentOS 7 配置网卡-程序员宅基地

文章浏览阅读60次。VM安装了一个Linux系统CentOS,但是安装后发现ping www.baidu.com 报错 。查了一下发现需要配置网卡。1.首先需要进入目录 /etc/sysconfig/network-scripts这里我的centos的 iso版本是:CentOS-7-x86_64-DVD-1708.iso。进入目录之后可以看到有个ifcfg-ens33的文件。我们需要对这个文件做些修改。2.vi i..._wsl2 centos7 网卡配置

Android 通过蓝牙采集音频_android 蓝牙麦克风采集mic音频 无声-程序员宅基地

文章浏览阅读8.8k次。通过蓝牙的麦克风进行录音MainActivity.javapackage com.example.bluetothrecord;import android.app.Activity;import android.content.BroadcastReceiver;import android.content.Context;import android.content.In_android 蓝牙麦克风采集mic音频 无声

Accessing static Data and Functions in Legacy C_setyearanddayofyear-程序员宅基地

文章浏览阅读1.1k次。http://www.renaissancesoftware.net/blog/archives/430http://www.renaissancesoftware.net/blog/archives/450It’s a new year; last year was a leap year; so the quadrennial reports of leap y_setyearanddayofyear

vue把字符串分割成等长的若干字符串,根据特定字符分割字符串_vue 分割字符串-程序员宅基地

文章浏览阅读1.6w次,点赞2次,收藏20次。把字符串分割成等长的若干字符串,根据特定字符分割字符串_vue 分割字符串

朴素贝叶斯分类器的例子_朴素贝叶斯分类器 例子-程序员宅基地

文章浏览阅读1.1k次。一、病人分类的例子让我从一个例子开始讲起,你会看到贝叶斯分类器很好懂,一点都不难。某个医院早上收了六个门诊病人,如下表。  症状  职业   疾病  打喷嚏 护士   感冒   打喷嚏 农夫   过敏   头痛  建筑工人 脑震荡   头痛  建筑工人 感冒   打喷嚏 教师   感冒   头痛  教师   脑震荡现在又来了第七个病人,是一个打喷嚏的建筑工人。请问他患上感冒的概率有多大?根据贝叶斯..._朴素贝叶斯分类器 例子

推荐文章

热门文章

相关标签