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

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

导语:去年双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

智能推荐

从零开始搭建Hadoop_创建一个hadoop项目-程序员宅基地

文章浏览阅读331次。第一部分:准备工作1 安装虚拟机2 安装centos73 安装JDK以上三步是准备工作,至此已经完成一台已安装JDK的主机第二部分:准备3台虚拟机以下所有工作最好都在root权限下操作1 克隆上面已经有一台虚拟机了,现在对master进行克隆,克隆出另外2台子机;1.1 进行克隆21.2 下一步1.3 下一步1.4 下一步1.5 根据子机需要,命名和安装路径1.6 ..._创建一个hadoop项目

心脏滴血漏洞HeartBleed CVE-2014-0160深入代码层面的分析_heartbleed代码分析-程序员宅基地

文章浏览阅读1.7k次。心脏滴血漏洞HeartBleed CVE-2014-0160 是由heartbeat功能引入的,本文从深入码层面的分析该漏洞产生的原因_heartbleed代码分析

java读取ofd文档内容_ofd电子文档内容分析工具(分析文档、签章和证书)-程序员宅基地

文章浏览阅读1.4k次。前言ofd是国家文档标准,其对标的文档格式是pdf。ofd文档是容器格式文件,ofd其实就是压缩包。将ofd文件后缀改为.zip,解压后可看到文件包含的内容。ofd文件分析工具下载:点我下载。ofd文件解压后,可以看到如下内容: 对于xml文件,可以用文本工具查看。但是对于印章文件(Seal.esl)、签名文件(SignedValue.dat)就无法查看其内容了。本人开发一款ofd内容查看器,..._signedvalue.dat

基于FPGA的数据采集系统(一)_基于fpga的信息采集-程序员宅基地

文章浏览阅读1.8w次,点赞29次,收藏313次。整体系统设计本设计主要是对ADC和DAC的使用,主要实现功能流程为:首先通过串口向FPGA发送控制信号,控制DAC芯片tlv5618进行DA装换,转换的数据存在ROM中,转换开始时读取ROM中数据进行读取转换。其次用按键控制adc128s052进行模数转换100次,模数转换数据存储到FIFO中,再从FIFO中读取数据通过串口输出显示在pc上。其整体系统框图如下:图1:FPGA数据采集系统框图从图中可以看出,该系统主要包括9个模块:串口接收模块、按键消抖模块、按键控制模块、ROM模块、D.._基于fpga的信息采集

微服务 spring cloud zuul com.netflix.zuul.exception.ZuulException GENERAL-程序员宅基地

文章浏览阅读2.5w次。1.背景错误信息:-- [http-nio-9904-exec-5] o.s.c.n.z.filters.post.SendErrorFilter : Error during filteringcom.netflix.zuul.exception.ZuulException: Forwarding error at org.springframework.cloud..._com.netflix.zuul.exception.zuulexception

邻接矩阵-建立图-程序员宅基地

文章浏览阅读358次。1.介绍图的相关概念  图是由顶点的有穷非空集和一个描述顶点之间关系-边(或者弧)的集合组成。通常,图中的数据元素被称为顶点,顶点间的关系用边表示,图通常用字母G表示,图的顶点通常用字母V表示,所以图可以定义为:  G=(V,E)其中,V(G)是图中顶点的有穷非空集合,E(G)是V(G)中顶点的边的有穷集合1.1 无向图:图中任意两个顶点构成的边是没有方向的1.2 有向图:图中..._给定一个邻接矩阵未必能够造出一个图

随便推点

MDT2012部署系列之11 WDS安装与配置-程序员宅基地

文章浏览阅读321次。(十二)、WDS服务器安装通过前面的测试我们会发现,每次安装的时候需要加域光盘映像,这是一个比较麻烦的事情,试想一个上万个的公司,你天天带着一个光盘与光驱去给别人装系统,这将是一个多么痛苦的事情啊,有什么方法可以解决这个问题了?答案是肯定的,下面我们就来简单说一下。WDS服务器,它是Windows自带的一个免费的基于系统本身角色的一个功能,它主要提供一种简单、安全的通过网络快速、远程将Window..._doc server2012上通过wds+mdt无人值守部署win11系统.doc

python--xlrd/xlwt/xlutils_xlutils模块可以读xlsx吗-程序员宅基地

文章浏览阅读219次。python–xlrd/xlwt/xlutilsxlrd只能读取,不能改,支持 xlsx和xls 格式xlwt只能改,不能读xlwt只能保存为.xls格式xlutils能将xlrd.Book转为xlwt.Workbook,从而得以在现有xls的基础上修改数据,并创建一个新的xls,实现修改xlrd打开文件import xlrdexcel=xlrd.open_workbook('E:/test.xlsx') 返回值为xlrd.book.Book对象,不能修改获取sheett_xlutils模块可以读xlsx吗

关于新版本selenium定位元素报错:‘WebDriver‘ object has no attribute ‘find_element_by_id‘等问题_unresolved attribute reference 'find_element_by_id-程序员宅基地

文章浏览阅读8.2w次,点赞267次,收藏656次。运行Selenium出现'WebDriver' object has no attribute 'find_element_by_id'或AttributeError: 'WebDriver' object has no attribute 'find_element_by_xpath'等定位元素代码错误,是因为selenium更新到了新的版本,以前的一些语法经过改动。..............._unresolved attribute reference 'find_element_by_id' for class 'webdriver

DOM对象转换成jQuery对象转换与子页面获取父页面DOM对象-程序员宅基地

文章浏览阅读198次。一:模态窗口//父页面JSwindow.showModalDialog(ifrmehref, window, 'dialogWidth:550px;dialogHeight:150px;help:no;resizable:no;status:no');//子页面获取父页面DOM对象//window.showModalDialog的DOM对象var v=parentWin..._jquery获取父window下的dom对象

什么是算法?-程序员宅基地

文章浏览阅读1.7w次,点赞15次,收藏129次。算法(algorithm)是解决一系列问题的清晰指令,也就是,能对一定规范的输入,在有限的时间内获得所要求的输出。 简单来说,算法就是解决一个问题的具体方法和步骤。算法是程序的灵 魂。二、算法的特征1.可行性 算法中执行的任何计算步骤都可以分解为基本可执行的操作步,即每个计算步都可以在有限时间里完成(也称之为有效性) 算法的每一步都要有确切的意义,不能有二义性。例如“增加x的值”,并没有说增加多少,计算机就无法执行明确的运算。 _算法

【网络安全】网络安全的标准和规范_网络安全标准规范-程序员宅基地

文章浏览阅读1.5k次,点赞18次,收藏26次。网络安全的标准和规范是网络安全领域的重要组成部分。它们为网络安全提供了技术依据,规定了网络安全的技术要求和操作方式,帮助我们构建安全的网络环境。下面,我们将详细介绍一些主要的网络安全标准和规范,以及它们在实际操作中的应用。_网络安全标准规范