← 返回故事列表

数据库界的“火箭科学家”:IDMS与一场改变数据世界的豪赌

时代:1964
阅读时间:8 分钟
浏览:7
点赞:0

1964年,波士顿一间狭窄的办公室里,一个中年男人正盯着满桌的IBM穿孔卡片发呆。他叫John Cullinane,前IBM销售员,刚刚辞去稳定工作,创立了一家只有三名员工的公司。当时的计算机世界正被IBM的磁鼓和磁带机统治着——数据只能以扁平的“文件”形式存储,一个公司的库存记录和客户信息像孤岛一

# 数据库界的“火箭科学家”:IDMS与一场改变数据世界的豪赌 1964年,波士顿一间狭窄的办公室里,一个中年男人正盯着满桌的IBM穿孔卡片发呆。他叫John Cullinane,前IBM销售员,刚刚辞去稳定工作,创立了一家只有三名员工的公司。当时的计算机世界正被IBM的磁鼓和磁带机统治着——数据只能以扁平的“文件”形式存储,一个公司的库存记录和客户信息像孤岛一样彼此隔绝。没有人能想到,这个前销售员将在未来十年里,用一套名为IDMS的网状数据库系统,向蓝色巨人发起一场惊心动魄的挑战,并最终让“数据库”这个抽象概念第一次走进企业的核心机房。 ## 前销售员的“反叛”:从文件到网络的豪赌 1960年代初,数据处理的世界正经历一场静默的阵痛。当时的大型机用户面临一个尴尬的现实:如果你是一家制造企业,你的订单数据存在一个文件里,库存数据存在另一个文件里,客户信息存在第三个文件里——它们之间唯一的联系,是程序员必须手动编写复杂的COBOL代码来“拼凑”关系。IBM的IMS系统虽然率先引入了“层次模型”,但它像一棵严格分级的树,每个子节点只能有一个父节点——这在处理复杂的网状关系时(比如一个零件可能同时属于多个产品)显得笨拙不堪。 John Cullinane在IBM销售部门干了八年,他见证了无数客户在数据管理上的痛苦。“我们卖给客户的是一台价值百万美元的机器,但客户连把两个文件关联起来都要花两周时间写代码。”他在一次内部会议上抱怨道。IBM的工程师们对此不以为然——他们认为大客户需要的只是更快的磁带机和更强的批处理能力。 1964年,Cullinane做出一个疯狂的决定:离开IBM,创办一家专门做“数据管理软件”的公司。当时的软件产业几乎不存在——IBM只卖硬件,软件是免费附赠的。没有人相信一家独立的软件公司能生存下去,更别提挑战IBM了。 但Cullinane看准了一个技术趋势:CODASYL(数据系统语言协会)数据库任务组刚刚发布了一份报告,提出了一种全新的数据模型——网状数据库。与IBM的层次模型不同,网状模型允许一个记录同时属于多个“集”(sets),记录之间可以用指针直接建立多对多的复杂关系。这听起来像数据库界的“火箭科学”——但Cullinane意识到,这正是企业用户急需的:一个能把订单、库存、客户、供应商像蜘蛛网一样连接起来的系统。 Cullinane的团队只有三个人,包括两位刚从麻省理工学院毕业的年轻程序员。他们在IBM 360/40上夜以继日地工作,用汇编语言手写代码。核心挑战在于如何实现“记录间的指针”——这在今天看来稀松平常,但在1964年,这意味着要在磁带上模拟出类似“链表”的结构。一位团队成员后来回忆:“我们甚至不知道什么叫做‘数据库’,我们只是觉得用户不应该在每次查询时都重写整个COBOL程序。” ## 决战大型机:IDMS如何从IBM口中夺食 1971年,IDMS的第一个商用版本终于发布。它有一个响亮的名字:Integrated Database Management System(集成数据库管理系统)。但市场反应冷淡——大型机用户对IBM的忠诚度极高,没有人愿意把核心数据交给一家只有二十名员工的小公司。 转折点出现在1973年。当时美国最大的汽车制造商之一——福特汽车公司——正在寻找一个能管理其全球零部件供应链的系统。IBM推荐了IMS,但福特的IT团队发现了一个致命问题:一个零部件可能同时用于多个车型,而IMS的层次模型无法处理这种“多对多”关系。福特的IT主管在一次行业会议上遇到了Cullinane,后者当场演示了IDMS如何用“集”的概念轻松实现这种关系——一个零件记录可以同时属于多个“产品集”。 福特的订单让Cullinane公司一夜成名。但真正的挑战来自IBM的反击。IBM的销售团队开始向客户施压:使用非IBM的数据库,意味着无法获得IBM的技术支持,而且一旦出现问题,IBM将不负责修复。Cullinane做出了一个大胆的决策:他主动联系IBM的竞争对手——比如Burroughs和Univac——与它们合作,让IDMS可以在这些厂商的硬件上运行。这一招“借力打力”让IBM陷入了两难:如果IBM继续打压IDMS,反而会推动客户转向其他硬件平台。 1974年,Cullinane在纽约举行了一场轰动业界的新闻发布会。他当众宣布:“IDMS的架构比IMS领先整整一代。IBM的数据库是1960年代的思维,而我们的数据库是为1970年代设计的。”他出示了一份由独立审计公司做的性能报告:在同样的硬件配置下,IDMS的数据查询速度比IMS快40%,而存储空间节省了30%。这份报告像一颗炸弹投进了数据库行业。 更致命的一击来自技术层面。IDMS引入了“模式/子模式”的概念——允许不同用户从不同视角访问同一份数据,而无需改变底层结构。这在当时被称为“数据独立性”,它意味着财务部门、销售部门和仓库可以共享同一份数据库,但各自看到的是定制的视图。IBM的IMS直到1980年代才支持类似功能。 到1970年代末,IDMS已经征服了全球超过2000家大企业,包括美国国防部、英国银行和日本汽车制造商。Cullinane公司从三人小作坊成长为年收入超过1亿美元的软件巨头,成为继IBM之后最大的独立软件公司之一。但成功也引来了新的敌人:1983年,一家名为“Computer Associates”(CA)的年轻公司开始收购小型软件公司,并最终在1989年以1.4亿美元的价格吞并了Cullinane公司。 ## 数据之网:IDMS的遗产与未竟之路 IDMS的落幕颇具戏剧性。CA收购后,将其作为核心产品继续维护,但CA的战略重心逐渐转向更流行的关系型数据库。1990年代,Oracle和Sybase等关系型数据库以SQL语言和更灵活的“表”结构席卷市场,网状数据库开始显得过时。但IDMS并未消失——直到2024年,仍有数百家大型银行、保险公司和政府机构在大型机上运行着IDMS,处理着每天数以亿计的交易。 IDMS最大的遗产,在于它证明了“数据库软件”本身是一门可以独立于硬件存在的生意。在Cullinane之前,软件只是硬件的附属品;在IDMS之后,企业愿意为“更好的数据管理方式”支付真金白银。约翰·库利南(John Cullinane)本人也被誉为“独立软件产业的先驱”,他创立的公司为后来的Oracle、微软等软件巨头铺平了道路。 更重要的是,IDMS的网状模型启发了后来所有数据库系统的设计。虽然关系型数据库最终胜出,但现代图数据库(如Neo4j)的核心思想——用节点和边表示复杂关系——本质上与IDMS的“记录和集”一脉相承。甚至NoSQL运动中的“文档数据库”也借鉴了IDMS的“模式灵活”理念。 ## 评论 IDMS的故事揭示了一个常被忽略的真理:技术史上的胜利者并不总是最好的,而是最“适应环境”的。网状数据库在表达复杂关系上比关系型数据库更直接,但它输给了SQL的简单易用性和IBM的生态系统。这提醒我们,软件创新不仅要解决技术问题,更要解决“人的问题”——开发者学习成本、企业迁移风险、厂商锁定策略,这些非技术因素往往比技术本身更能决定一个产品的命运。同时,IDMS的崛起也证明了“挑战者”的力量:一个前IBM销售员的小公司,可以凭借对用户需求的深刻理解和技术上的激进创新,在蓝色巨人的阴影下杀出一条血路。这种“以小博大”的创业精神,至今仍在激励着每一个试图颠覆行业的软件创业者。 ## 参考资料 - [IDMS - Wikipedia](https://en.wikipedia.org/wiki/IDMS) — 提供IDMS技术细节、历史沿革和行业影响 - [John Cullinane - Computer History Museum Oral History](https://archive.computerhistory.org/resources/access/text/2015/06/102702720-05-01-acc.pdf) — 库利南本人的访谈记录,包含创业初期的第一手口述 - [CODASYL - The Database Task Group Report (1969)](https://www.ibm.com/docs/en/zos/2.4.0?topic=databases-codasyl-database-task-group) — CODASYL标准文档,解释网状模型的技术原理 - [The Rise and Fall of the Network Database Model](https://www.dataversity.net/rise-fall-network-database-model/) — 分析网状数据库为何被关系型数据库取代的深度文章 - [CA Technologies Acquires Cullinane (1989)](https://www.nytimes.com/1989/07/11/business/company-news-cullinane-accepts-bid-by-computer-associates.html) — 《纽约时报》对收购事件的报道,记录商业博弈细节

发布于 2026/7/4