文 / 苏椰
名人堂
今天我们要介绍的人物,出身于二战,他来自美国陆军防空高炮师,名叫Charles Bachman。战争结束后,Bachman进入密歇根大学,1948年获得机械工程学士学位,1950年获得宾夕法尼亚大学硕士学位,同年获得沃顿商学院MBA学位。随后他加入密歇根州的陶氏化工。1960年,Bachman跳槽加入通用电气,并在这里开发了第一代网状数据库管理系统—IDS。 1940年代,计算机在特殊的世界局势中诞生,主要为了弹道计算、密码破译和原子弹研究等工作,这些全是基于数值的。当时的计算机只能处理数值,无法处理字母等其他符号;当时也没有大容量的存储器。到了1950年代初,这两个问题得到了历史性的突破,计算机可以处理字母等各种符号了,人们把磁带系统引入了计算机,作为外部存储器。但是,磁带不仅速度奇慢,更大的问题是,它是顺序读写的,对于一条磁带而言,数据结构没有意义,想取个数是需要倒带的。1956年,IBM公司推出了磁盘系统,容量大、转速很快,几乎是随机读写的。这个质的飞跃,使得数据的逻辑结构从此是非线性的了。此时最直观的想法,自然是树状结构,IBM 360系列引入了世界上最早的数据库管理系统之一IMS,此系统为1969年的阿波罗登月立下了汗马功劳,它就是基于树状结构的。无论程序还是数据,本质都是对现实世界的一种抽象,我们希望这种抽象能尽可能贴切反映现实世界中的关系。很明显,现实世界中的事物不都是树状的。于是我们又想到了网状结构。至此,我们就来到了Bachman当时所处的背景。 网状数据库,听起来很简单。线性结构就是树状的一种特例,我们花了10多年才完成这种泛化,因为这里面需要随机存储器,需要硬件支持。但是,从树状到网状的泛化,并不需要什么新型硬件,似乎只需要一个新型的数据库管理系统。然而这个管理系统并不容易实现。在树状结构中,任何结点有且只有一条访问路径,就像在日常操作系统中,不可能建出另外一个根目录,也不能建出一个同时属于多个目录的子目录。但在网状结构中,这都是可能的,可以有多个结点没有父结点(但此时已不能把它们叫做“根”了),一个结点也可以有多个父结点。有多个父结点就意味着,要访问一个结点,可能存在多条不同的路径。这样复杂的系统要如何管理?网状数据库还有很多类似的困难,等着人们来解决。 这一等,又将近10年。Bachman加入通用电气之后,负责涉及全公司各部门的综合管理系统,包括生产规划、配件和原材料供给、订单处理及反馈等许多方面。他要使用自家生产的GE 225计算机,设计全方位的企业生产信息和控制系统(MIACS)。1964年,该系统问世,包括很多组件,底层是集成数据存储系统,也就是我们前面所说的IDS,这就是世界上第一款网状数据库管理系统。 时势造英雄,Bachman抓住历史时机,结合工业界的需求,创造了革命性的产品。1970年,通用电气的计算机业务被霍尼韦尔收购,Bachman来到波士顿,在霍尼韦尔高级研究部从事数据库工作。他还曾为ISO委员会设计过开放系统互连(OSI)模型,并担任过美国国家标准委员会的数据库管理系统研究组副主席,致力于数据库管理语言的标准化工作。1971年,Bachman的研究组提出了DBTG报告,其中确立了包含外部、抽象和内部的三层模式,该模式在数据库领域有着极为深远的影响力。1973年,ACM授予Bachman图灵奖,表彰他在数据库领域,尤其是网状数据库管理系统方面的杰出贡献。Bachman始终活跃在工业界,他是仅有的几位没有学术背景、没有教职、甚至没有博士学位的图灵奖得主之一。 (本文选自《程序员》杂志11年05期,更多精彩内容敬请关注05期杂志) 《程序员》11年05期精彩内容:云计算应用之路! 《程序员》杂志订阅
Logo

20年前,《新程序员》创刊时,我们的心愿是全面关注程序员成长,中国将拥有新一代世界级的程序员。20年后的今天,我们有了新的使命:助力中国IT技术人成长,成就一亿技术人!

更多推荐