IBM DB2关系型数据库25年发展历程

2020年7月15日12:48:14
评论
5481 1574字阅读5分14秒
广告也精彩

IBM DB2关系型数据库25年发展历程关系型数据库的发展,从有人提出关系型模型的理论、历经SEQUEL查询语言的发展、效能调校的理论建立、接着产品化趋于成熟、普遍,至今已有将近40年,而号称继承这个「道统」的IBM DB2,在这段历史当中占了25年,如果不把DB2的前身SQL/DS纳入,Oracle几乎就是史上第一个商业化的关系型数据库产品。

此外,在数据库系统发展史上,许多今日我们耳熟能详的产品,他们的研发团队和创办人,彼此之间的关系非常密切。

回顾1970年代,有人即以不同关系型数据库系统的原型,将这些产品或公司分成2大阵营。一脉是源自IBM研究院的System R计划,包括DB2、Oracle等,使用的是SEQUEL的查询语言;另一脉是加州柏克莱大学的学生所成立的Ingres公司,里面包含了Ingres、Sybase等,使用的是QUEL的查询语言──从源头来说,微软SQL Server算是这个支系。其实这两个阵营的起源,仍旧是System R计划,因为关键在于提出查询最佳化理论的Pat Selinger,她将Jim Gray带入,一起参与开发,Jim Gray又是加州柏克莱大学的重要学者,该校的学生后来又成立公司开发出Ingres和Sybase。

除了关系型模型之外,还有根据其它模型所开发出来的产品吗?

在今天所有的数据库系统教科书上,我们还可以看到网络模型(Network Model)、阶层模型(Hierarchical Model),前者的产品较不知名,后者是IBM的IMS。

后来还有所谓的对象导向式模型(Object-Oriented Model)和对象关系型模型(Object-Relational Model),以对象关系型数据库来说,后来只要是遵守SQL:1999标准的产品,都被认可属于这类型,包括IBM DB2、Oracle database和微软SQL Server。

对IBM DB2来说,不少后续提升关系型数据系统的可用性、程序开发的便利性的做法,已大致底定。从IBM硅谷实验室资深技术经理傅毓勤口中,我们逐渐了解DB2在软件生命周期各阶段的环境限制,以及当时的发展重点。

傅毓勤曾参与DB2 For Linux Unix and Windows(LUW)的第2版至第6版,以及DB2 For z/OS的第7版至第9版的开发,也领导相关的开发团队,他强调任何一个成功的软件,每经过10~15年,一定要有个大改变。

人的眼光看得再远,产品当初的设计不可能一直不改,因为开发者无法想象10年后的软件形态和竞争态势。即使企业都认同这软件的质量好、具弹性,也能普遍应用,有效期一过,仍然会老旧。他很自豪地说,大部分软件都活不了那么久,所以不会有这种问题,而越成功的软件要有第二春,一定要渡过这样的时期!

在他的观察中,DB2初期发展时,新功能扩充得很快,一方面也是因为用户少,所以开发团队能够将心力全数花在新功能上。到了后来,用户数量越来越多,系统修改上须更加谨慎,不能随意乱加程序代码。

到了DB2 第8个版本的研发,IBM本身决心执行一个大规模的调整计划,那时傅毓勤自己也从LUW调至z/OS部门。以DB2目前版本来说,他认为现在的DB2处于刚完成Reengineering的状态,他估计5到10年后,DB2要重新执行一次同样的改造程序。

下一步DB2将会发展什么?

有一个值得特别注意的工具,它是与数据库相关,但不是数据库的产品──IBM Data Studio,它号称能处理所有与数据库相关的开发工作,包含设计阶段、测试环境阶段、部署、监控、管理,一系列的工具全部整合在这套工具上。它支持Eclipse、IBM的Rational和微软的Visual Studio 2005。它有一项功能pureQuery包含的功能与微软LINQ相近,但它叫做JLinQ,据说它包含LINQ的主要功能,而且是基于纯粹的Java平台。

  • 工程师微信二维码
  • 微信扫一扫添加好友可直接咨询数据恢复相关问题
  • weinxin
  • 关注盘首微信小程序
  • 扫描微信小程序查看大量数据恢复技术视频教程
  • weinxin
  • 本文由 发表于 2020年7月15日12:48:14
  • 转载请注明:https://www.nxssd.com/151.html
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: