技术开发 频道

优异数据库专家访谈:IBM DB2 Viper全程实录

  【IT168技术访谈】才子英:关系型数据库有了原形之后,怎么发展成为IBM的DB2呢?

   王云:计算机里面最重要的两个组件一个是CPU,另外一个最重要的就是信息。作为一个人来说他的聪明才智反应在哪些方面呢?有的人说这个人好聪明你讲什么他都知道,这是他的记忆力好。还有人说这个人好聪明,比如去饭店买东西买单他一下就算出来了,这运算力强。其实IT基础支柱一方面是信息,一方面是运算。因为IT基础架构一个是运算一个是数据。数据提供了非常理想的接近自然的方式代表我们的关系,数据本身是不具有很大的价值的,必须要把关系串起来,最后变成有用的信息。

   最近DB2在主机方面发布了新的产品,代码超过了300万。这二十多年走过的历程从30几万到300万有十倍的成长,被客户、业界能够广泛的拿来做应用,不断延伸的结果。我们当年20年前我们要招聘做数据库的研究或者开发的时候,会问同学你学过这个课程没有?我们现在招聘一个员工就要问他有多少年开发工作的经验?所以数据库从尖端的技术变成了普遍化的过程。

   才子英:你觉得DB2数据库在这个过程中有哪些发展的转折点?

   王云:数据第一代产品是集中式的。后来就是客户与服务,架构变成了数据库和应用是分布式的。就是从应用和数据库集中在一起,经过转化变成了分布式的运算。

   第二步转折,有了分布式之后,最早的关系型数据库是处理商业上的应用。就是谁在什么时候做了一个什么样的商业性的交易?这是数据库最基础的。数据库本身提供了很高的功能,后来把它应用在了其他的方面,所以最早的观念是从应用的角度看复杂的对象?在做性能上的工作的时候,发现有一些东西不能突破,所以回过头能不能从关系型数据库上能不能跟应用做一个好的结合?这就是从信息作为一个出发点,但是可以把面对对象的观念加进去。这是另外一个转折。这个转折的结果让我们关系型数据库本身要变成是开放式的,它通过客户自定义,可以把客户的运算分到数据库中来。让我们的关系型数据库变得更开放了,让外来的数据可以插进去。

   再一个就是怎么面对Internet的挑战,我们目前最大的挑战就是从关系型数据库走过这一代代之后,现在怎么样针对Internet做一个新的出发。 

   才子英:现在很多人认为数据库已经发展到了非常非常成熟的阶段,它是不是没有再发展的方向了呢?这方面从一个研究者的角度,请问周教授和王院士有什么看法?

   周龙骧:数据库和关系型数据库是两个概念,数据库是应用性技术,要应用就是周围的现实世界,现实世界非常复杂、非常丰富多彩。我们认识的条件有限,因此我们认识到只是现实世界的一部分,叫做我们认识的现实世界。对认识的现实世界我们要把一些应用放上去的话就必须再简化才能做得到。因为还是太复杂了,所以模型就是很好的概念,模型是把主要的框架抽出来,次要的忽略掉。这个模型就是能了解这个世界最基本的出发点。

   现实世界中最容易进入我们视野的最直接的模型是什么?就是树型结构,比如学校有系、系里面有教研室,这就是层次型的。像我们国家中华人民共和国、下面有各个省、省下面有市、市下面有县。因此最普通的,最常见的模型就是树型结构。因此数据库开始做的依据模型就是树型结构。

   王云:IMS树型结构是40多年前IBM的产品系列,当时为什么会有这个系列出来呢?当时有一个美国登陆月球的太阳神计划,这个计划里面有很多,从大到小,计划里面有原料、项目的管理等等,怎么管理这么庞大的计划?所以当时觉得用传统的文档不足以支援的,IMS是帮助美国当时把这个太阳神计划做好。

   周龙骧:树型模型做的很好,后来觉得树型结构还不够,树型就是每一个结点“有一个父亲”,但是现实生活中更复杂一些,比如北京市即是在河北省这个地方,又是我们的首都,又和国家分不开。有时候关系是比较复杂的,因此进一步发展网状的结构。这样对象就更多了,网状结构也是发展的相当成熟。有一个科学家CW.Barkman写了一个论真,树形结构和网状结构关系都是用户设计,关系简单的时候还好办,复杂的时候用户顾不了这么多。Barkman的报告写了程序员就是领航员,这样程序员的工作太繁重了,太复杂了。在这样的情况下出了关系模型。只有关系模型是先提出模型然后再去用的,关系模型提出来以后差不多全世界的数据库学者进行了差不多十年的研究,研究的比较透。关系系统从理论上钻研的非常非常透。我们认为数据库系统最怕就是结构的变化,变化以后信息会损失到,或者没有的信息增加了是最害怕的。树形结构和网状结构最头疼的就是修改,在关系模型里这些就研究的非常透了。

   才子英:它是否还能再有跨越性发展了呢?

   周龙骧:不用担心它的查、添、删改,取得这些成果也很困难。像我们知道一个数据模型有三个主要成分,一个是数据结构,一个是在数据结构上的操作,还有一些约束条件。关系模型上面有一些查、添、删改的运算。还有一个就是完整性,一个是组件的完整性,还有一个完整性约束条件就是外界的完整性。比如我在学校里学生的关系里有不的名字,我也可能在图书馆借书,那儿也有我的名字,这两个地方都有我的名字这是两张表。这两张表其实是有关系的。经常会发生这种问题,一个学生毕业走了,学生把自己的名字删掉了,如果这个事情办的不好的话,图书馆的名字还在呢,可能人家以你的名字借的书还没有还。一个好的数据库系统不会发生这样的问题。这个地方学生处的名字删掉了,图书馆那个地方的名字也会删掉。这就是外界的完整性。

   才子英:我们刚才讨论了关系型数据库已经到了很高的层次,已经到了一个瓶颈了?

   周龙骧:不是瓶颈,就是发展的相当成熟了。 

   才子英:不能在技术上很大程度的跨越了?

   周龙骧:跨越不是为跨越而跨越,而是应用的需求。

   才子英:现在有什么样的技术跨越关系型数据库所达到的高峰呢?

   周龙骧:比如有面向对象是过去十几年研究的,现在已经有很成熟的产品了。面向对象的模型就增加了结点到结点之间的关系。
0
相关文章