技术开发 频道

王云:数据库的历史、发展与展望

【IT168 技术文章】IBM院士王云:大家早,大家好。今天我看起来,相对很简单,刚刚lnhi给大家讲了这么多听起来大家很兴奋,将来这些很有挑战性的计划和蓝图。我今天和大家分享一些老故事。我和大家谈谈数据库历史发展和展望。

  我准备两个图片在屏幕上。我一直在想数据库这是一个软件工程,怎么样可以有一个图片关联起来呢?所以我在IBM网站上找到了一个当年最早我们在主机上开发出关系型数据库的一个图片,我把它放在这里。

  其实谈历史,就是谈一些小故事。我今天来的路上就在想,差不多十年前,在1998年的时候,我陪我的师傅一起来中国,也是在替DB2的数据库做一些宣传的工作。当时我有一个很简单的讲题,讲完之后,我的老板跟我说:你讲的我全都听明白了。我大吃一惊,为什么呢?我老板是一个老外。他说我用中文演讲,他都听明白了,所以我大吃一惊,他说你用的词句都是英文,串在一起就听明白了,这表示什么?表示我的演讲非常不成功。今天也有一些外宾在场,十年前演讲你英文讲他有中文翻译。今天我用中文讲,不知道台下的这位外宾是不是听得懂我的演讲。所以我今天的第一个目标,希望我讲的内容,外宾朋友们听不懂我讲的,那我就成功了。

  讲到这个事情,我想到带着两个宝贝来和大家一起分享。在关系型数据库的历史发展来看,从1970年初,到1970年后半段,基本上是由研究单位推出的一个关系型数据库的模型。我带来了一本教科书,这本教科书是《数据库系统的简介》,这本书1975年出版。这本书我在来中国以前,我就在网路上搜寻了一下,现在亚马逊上正在卖这本书的第八版,这本书的作家是C·J·戴夫。当时我在念研究生的时候读了这本书,第一个反应就是对IBM非常佩服,没有想到我后来有机会加入到IBM工作,能够从事数据库的开发工作,也算是梦想成真了。如果大家有兴趣,我们中午的时候可以一起进行考古,到底1975年的时候数据库在学什么。

  1975年Don Chamberlin创造了他的数据库的新语言“SQL”,我把这个故事介绍给大家有几个重点。第一,从70年代初期到70年代末期,由IBM研究实验室推出了IMS,开始有了关系数据库的模型。然后怎么样让这种模型使用者很容易的使用呢?所以提出了数据库的查询语言。Don Chamberlin提出大家都耳熟能详的SQL。不知道在座的朋友们,当时有没有这个概念。,语言发生的时候是以英文为主体的没有架构的语言。如果当时在中国发展很可能这个语言就不叫“SQL”而是叫“CQL”,就应该是中文作为查询的基本精神了。

  除了我们有一个数据库的关系模型之外,有了一个强有力好用的语言,怎么样落实生根,真正提供给我们高效能,高共用性,大家可以共同分享的数据库系统,那就是系统2的应用模型。在IBM来讲有很多员工的共同努力,当有一个划时代新的技术的时候,是需要一个强有力的团队,而且这个团队要互相影响才能真正碰撞出火花来。

  我讲这个故事的时候希望把时间拉回到以前,我们了解到当时是什么样的姻缘机会产生出这样一个跨时代的应用技术。

  最早期在70年代到80年代是一个从研发单位起源出来的新的数据模型。如果当时没有IBM实验室提出关系型的数据库这一套系统理论和技术,那今天会是什么样呢?还在爬树。因为我们提供了关系型数据库的平台,大家现在开始找关系。我们中国人很会找关系的。假如说我们在车上看见一个很可爱的女生,我们会和她找关系,说“我弟弟的妹妹好象和你一个学校吧”。这是开玩笑了。但是如果当时没有IBM的关系型数据库技术,说不定今天还在爬树阶段。那到底好不好呢?也许很累,也许让XML数据库早诞生20年。

  在80年代初期到90年代初期,这10年间,基本上是数据库系统从研究单位进入到市场正式开花结果。从90年到2000年关系型数据库被整个IT业界全盘接收。我详细讲这一段时间的发展了。但是大家如果有时间可以看看每个时间点有一个新的技术出来了,这个技术是属于什么方面。在我们最早提出关系型数据库的,它着重于两方面,一方面是怎么样让数据库可以在应用上更加方便容易开发新的应用,另一方面怎么把下阶层的信息,包括操作系统、I/O系统怎么结合在一起。我们每四五年推出一个新的技术,到底是把我们的扩展能力加强了,还是抓住了底层的能力。某种程度的往上爬,把我们数据库变得更能够帮助应用开发新的业务需求,一方面是做横向,以及纵深的提升。可以把我们的系统资源更快、更好的运用起来,基本上在这两个主体方向上发展,跟我们当年在做研究系统的时候两个精神是一模一样的。我们说数据库在过去二十多年的时间当中这么成功,刚才邓宏给大家看了一枚“金币”,我今天也带了一块“金砖”,我拿的这个纪念品是DB2在1983年在上线的时候给公司员工的一个纪念品。当时我很奇怪,为什么不是“2”呢?结果它是“1”。我希望再过25年之后,IBM会收购这个纪念品回去,换我一个真金的,现在这个是包金的。当然这只是开玩笑了。

  我们在谈数据库的时候大家常常讲到数据库有一些优越的特性,比如说它最早有一种非程序性的语言,但是从现在的观念去看数据库在30年前的出发点时候,我们觉得数据库其实已经具备了我们现在觉得怎么样开发一个成功的软件工程的要件,其实在30年前我们在提出数据库技术的已经包括在内了。从一个角度来看,数据库在30年前已经有前瞻性,看出来整个软件工程一些重要方向、重要指标、重要特点,其实包括在内。所以现在我们来看,数据库是最成功的一个中间件,它本身有非常强的组合能力,它提供了所谓的虚拟化等等。但其中最重要的关键,这个产品为什么会这么成功?它是一个团队合作的结果。如果没有很强的团队合作的话是很难达到这么大的影响力。

  我在最后提到,它提供给我们一个经验,我们怎么样可以有一个创新型的、突破型的技术呢?如果我们今天看棵大树或者一栋高楼,如果没有很深的地基是不可能成高楼的,我们看一个大树有多高,就知道它的根有多深。我个人觉得数据库今天能够这么成功,它走过了几乎是十年的深度研究的结果。所以在早期的研究的工作是扎下了很深厚的根基,才可以在后来的25年开花结果。如果现在要在其他的IT领域要发展一些新的技术,关系型数据库、DB2的发展史是给提供了很好的参考价值。

  我们谈了数据库的历史、数据库的发展,我们发觉其实它是一脉相承的。当时它在做早期的架构设计的时候,这一路走来这30年的发展是环环相扣的。我们从以前的发展想到将来的发展趋势是什么呢?

  我在这张PPT上首先画了一个大象,中国有一个古话“盲人摸象”。我个人看到将来数据库可能是什么样的发展远景。我们回到30年前、40年前,历史告诉了我们什么。早期没有电脑之前,其实也有自动化处理,当时用的是打孔。在有了磁带机以后,我们正式进入了所谓的“批处理”年代。我个人在那个年代中做过,要打一大队的卡,然后要给操作员做业务处理。有了磁盘以后,我们进入了可以直接读取的年代,可以进行线上处理,有OLTP,有线上操作系统。虽然我们觉得今天生活在线上系统中有多少信息,其实还在批处理呢。如果邓宏打电话问银行我有多少钱,银行说500万,不是邓宏现在有500万,是昨天晚上有500万。其实很多信息是通过批处理,通过online以后告诉你的。其实现在资料库的速度,相对来讲比CPU和内存来讲,磁盘差了将近有10万倍的I/O的速度差异性。所以今天很多处理像在磁带的年代,只是这些处理变成了后台,而前台是线上处理。随着21世纪的信息大量增加,CPU Power的增加,信息处理面临着什么样的挑战呢?我给大家介绍一下“Information Agenda” ,这是我们每年和合作伙伴分享的全球技术展望,如果大家有兴趣可以和IBM研究院接触,IBM非常愿意把我们的技术展望和大家交流。在2008年的GTO,我们做了一个说明,早期在我们的信息处理的结构上,主要是内存在左边,磁盘在右边,它们在速度上,在储存量上几乎有10万倍的差距。可是现在随着有“毫米技术”的推展,所以现在我们正在研究推出一个新的存储技术。将来新的存储技术是具备了内存、磁盘共同的特性,它的速度会很快,它的存量会很大,它消耗的能量会很少,它会放进去就不会遗失掉。

  我刚才和大家提到过,在数据库发展历史上,它其实是一个中间件。它是怎么样让应用可以写的多快好省,它可以怎么样把我们的硬件资源运用的更恰当。所以说将来如果我们硬件资源有了一个新的形态,尤其是Information data有了一个新的结构出现了,我们是不是有一个软件结构来充分利用这一个新的技术的基本变化,这是指日可待的事情。

  对于数据库的挑战。我们最怕拜访客户的时候,他说你这个东西不work,其实第一步我们要推出一个新的功能、新的产品的时候,要make it cheap,讲起来很简单,但是其实是很辛苦的事情。但是客户绝不因此而满足,我们在make it work以后还要高效运转,客户希望还要更便宜,最好是免费的。不仅对于数据库的挑战,对于所有IT从业人员的挑战,我们在这个循环日以继夜不断努力希望提供最高的贡献给这个社会。

  我跟大家做了一个很粗浅的报告,希望大家记得IBM给大家做了一个贡献,我们大家要努力找关系,而不要努力爬树。
 

0
相关文章