【大众浪潮厅】
1994年,Informix Dynamic Server正式问世。由Informix Corporation主导开发,面向跨平台平台用户。
动态可扩展架构的鼻祖,数据仓库与OLTP双料冠军。
技术特色:数据库、数据仓库、可扩展、创新。
影响力评估:技术维度 9/10,商业维度 6/10,文化维度 3/10,用户维度 5/10。
作为大众浪潮厅的经典代表,Informix Dynamic Server在软件发展史上留下了深刻的印记。
动态可扩展架构的鼻祖,数据仓库与OLTP双料冠军。
【大众浪潮厅】
1994年,Informix Dynamic Server正式问世。由Informix Corporation主导开发,面向跨平台平台用户。
动态可扩展架构的鼻祖,数据仓库与OLTP双料冠军。
技术特色:数据库、数据仓库、可扩展、创新。
影响力评估:技术维度 9/10,商业维度 6/10,文化维度 3/10,用户维度 5/10。
作为大众浪潮厅的经典代表,Informix Dynamic Server在软件发展史上留下了深刻的印记。
1994年,当互联网的浪潮刚刚开始涌动,当Windows 95还在娘胎里孕育,当大多数企业还在用大型机处理数据时,一款名为Informix Dynamic Server(IDS)的数据库软件悄然问世。它没有像Oracle那样拥有拉里·埃里森式的传奇创始人,也没有像Sybase那样在华尔街掀起IPO狂潮,但它在数据库技术史上留下的印记,却如同流星划过夜空,短暂而耀眼。今天,当我们站在软件博物馆的展柜前,透过那块泛黄的光盘和泛着金属光泽的包装盒,依然能感受到那个时代技术创新的脉搏。
故事要从1980年代的硅谷说起。那时,关系型数据库的商业化刚刚起步,Oracle、Ingres、Informix三足鼎立。Informix的创始人罗杰·西波(Roger Sippl)和劳拉·金(Laura King)原本是加州大学伯克利分校Ingres项目的开发者。1980年,他们离开校园,在圣克拉拉一间狭小的办公室里创办了关系数据库系统公司(RDS),一年后更名为Informix。这个名字是“Information”和“Unix”的合成词,暗示了它最初的定位——一款运行在Unix平台上的关系型数据库。1985年,Informix推出了第一款真正商业化的产品Informix-SQL,它基于Ingres的架构,但做了大量优化,尤其擅长处理在线事务处理(OLTP)场景。
然而,整个1980年代,Informix始终活在Oracle的阴影下。Oracle凭借其强大的销售团队和“可移植性”口号,迅速占领了市场。Informix虽然技术扎实,但规模小、资源少,只能在一些细分领域寻找机会。转折点出现在1990年代初。当时,数据仓库的概念刚刚兴起,企业开始意识到,除了日常事务处理,他们还需要从海量历史数据中挖掘价值。传统的OLTP数据库在面对分析型查询时显得力不从心——它们设计用于快速读写单行数据,而不是扫描百万行记录进行聚合计算。与此同时,硬件技术也在飞速发展:对称多处理(SMP)服务器开始普及,CPU核心数从单个增加到四个、八个甚至更多,内存容量也突破了GB级别。然而,大多数数据库软件还是静态架构——它们启动时分配固定数量的内存缓冲区和线程,无法动态利用新增的硬件资源。
正是在这种背景下,Informix的工程师们开始构思一个大胆的想法:能不能设计一种数据库,它能在运行时自动感知并利用新增的CPU、内存和磁盘资源,而无需停机重启?这个想法最终催生了“动态可扩展架构”(Dynamic Scalable Architecture,简称DSA)。DSA的核心是一个称为“虚拟处理器”(VP)的抽象层。每个VP可以绑定到一个或多个物理CPU上,负责处理特定类型的任务,比如数据页的读写、日志写入、锁管理或用户会话。当系统检测到新增的CPU时,它会自动创建新的VP,并重新分配负载。内存管理同样灵活——数据库缓冲池可以动态扩展,根据工作负载的变化自动调整大小。更关键的是,这些操作都是在线完成的,不需要关闭数据库。
1994年,IDS 6.0正式发布。它的全名是Informix Dynamic Server,版本号6.0,因为Informix跳过了5.x直接跳到6,以强调这是一次革命性的升级。当时,竞争对手的数据库产品,比如Oracle 7和Sybase System 10,虽然也支持多线程和对称多处理,但它们都是静态架构。Oracle的共享全局区(SGA)在实例启动时分配固定大小,如果要调整必须重启;Sybase的引擎线程数量也是在配置文件中写死的。IDS却可以在运行时通过SQL命令动态调整内存参数,甚至添加新的磁盘空间。这种能力在1994年堪称科幻。
DSA架构的另一大创新是“数据分片”(Data Fragmentation)。IDS允将一张大表水平分割成多个分片,分布在不同的磁盘或服务器上。查询时,优化器会自动决定是访问所有分片还是只访问相关分片,从而实现并行扫描和聚合。这对于数据仓库场景尤其重要——一个包含数亿行记录的表,如果分布在十个磁盘上,全表扫描的速度理论上可以提升十倍。相比之下,Oracle直到1997年的Oracle 8才引入分区表功能,而Sybase的分区方案更晚。
除了DSA,IDS还是最早支持用户自定义数据类型(UDT)和用户自定义函数(UDF)的关系型数据库之一。这个特性让数据库不再局限于整数、字符串和日期这些基本类型。用户可以定义自己的数据类型,比如“点”、“线”、“多边形”这样的空间几何对象,或者“DNA序列”这样的生物信息学类型,然后为这些类型编写自己的操作函数。这实际上为后来的对象-关系数据库(如PostgreSQL的扩展机制)铺平了道路。Informix甚至提供了一个名为“DataBlade”的模块化扩展框架,允许第三方开发者发布自己的数据类型和函数。1995年,Informix收购了Illustra——一家由著名数据库学者迈克尔·斯通布雷克(Michael Stonebraker)创办的对象-关系数据库公司。斯通布雷克是Ingres的创始人,也是PostgreSQL的精神导师。这次收购让Informix获得了更强大的对象-关系能力,比如继承、引用类型和复杂查询优化。IDS 7.x版本中,这些特性被深度整合,形成了所谓的“通用服务器”(Universal Server)。
从市场表现看,1990年代中期是Informix的黄金时代。根据IDC的数据,1996年Informix在全球关系型数据库市场的份额达到11.2%,仅次于Oracle(31.8%)和Sybase(12.5%),排名第三。在数据仓库领域,它甚至一度领先——1997年,世界上最大的数据仓库之一、美国电话电报公司(AT&T)的客户关系管理系统,就运行在IDS之上,管理着超过5TB的数据。在OLTP领域,IDS同样表现出色,尤其是在电信和金融行业。中国电信的早期计费系统、香港汇丰银行的ATM交易系统,都曾大规模部署IDS。1998年,Informix的营收达到创纪录的9.4亿美元,员工总数超过5000人。
然而,盛极而衰的转折点很快到来。1997年,Informix爆发了著名的“财务丑闻”。公司被曝出通过向经销商压货、虚构销售合同等手段虚增收入,实际营收被夸大了超过3亿美元。这一事件导致股价暴跌,CEO菲尔·怀特(Phil White)被迫辞职,公司信誉一落千丈。更致命的是,在丑闻爆发前,Informix正押注于一个名为“Universal Server”的宏大计划——试图将IDS与对象-关系能力结合,打造一个“万能数据库”。但这一计划进展缓慢,产品发布一再跳票,而Oracle则趁机推出了Oracle 8i,凭借其内置的Java虚拟机和对互联网的深度支持,迅速抢占了市场。Sybase也在1995年推出了Adaptive Server Enterprise(ASE),虽然技术上不如IDS灵活,但凭借稳定的客户关系和更强的销售能力,守住了自己的地盘。
1999年,Informix进行了大规模重组,剥离了应用工具部门(包括著名的4GL语言和Forms工具),将核心聚焦于数据库引擎。新上任的CEO彼得·吉恩(Peter Gyenes)试图通过裁员和产品线收缩来挽救公司,但为时已晚。2000年,Informix的营收已下滑至4.5亿美元,市场份额跌至5%以下。2001年4月,IBM以10亿美元的价格收购了Informix的数据库业务,包括IDS和Cloudscape(一个Java嵌入式数据库)。这笔交易在当时被解读为IBM为了对抗Oracle而进行的战略性收购——IBM的DB2虽然技术扎实,但在Unix和Windows平台上的市场份额一直无法突破,而Informix正好补足了这一短板。
收购之后,IBM对IDS进行了长期支持。它先后发布了IDS 9.x、10.x、11.x等多个版本。2002年,IBM出了“Informix Dynamic Server 9.30”,增加了对64位架构的原生支持;2005年的9.40版本引入了自动存储管理功能;2008年的11.10版本则加入了表级压缩和自动统计信息收集。这些改进让IDS在特定场景下依然保持着竞争力,尤其是在嵌入式系统和小型企业市场中。然而,IBM的战略重心始终是DB2,IDS被定位为“低成本替代品”或“迁移到DB2的跳板”。许多原Informix客户在IBM的鼓励下迁移到了DB2,导致IDS的用户基数逐渐萎缩。
2017年,IBM做出了一个让许多老用户震惊的决定:将Informix Dynamic Server的源代码开放给社区,并推出名为“Informix 12.10”的版本,将其更名为“IBM Informix”,并承诺继续提供商业支持。这一举措虽然迟来,但确实延长了IDS的生命周期。截至2024年,IDS仍然在运行,支持Linux、Unix和Windows平台,最新版本是14.10,主要服务于那些需要高可靠性、低维护成本的嵌入式应用,比如零售业的POS系统、制造业的MES系统,以及一些老旧的金融核心系统。
回顾IDS的整个生命周期,它的技术遗产远比商业成就更值得铭记。DSA架构中“动态扩展”的理念,后来被几乎所有主流数据库采纳。Oracle从Oracle 9i开始引入“自动共享内存管理”(ASMM),允许数据库自动调整SGA大小;IBM DB2在9.5版本中加入了“自调优内存管理器”(STMM);微软SQL Server 2005引入了“动态管理视图”和“资源调控器”。这些功能本质上都是在实现IDS早在1994年就做到的事情。数据分片的思想则直接影响了现代分布式数据库的设计,比如Google Spanner、Amazon Aurora和TiDB。用户自定义类型和函数的机制,在PostgreSQL中得到了发扬光大,成为其最强大的特性之一。甚至“DataBlade”这个名词,也被后来的数据库厂商用来指代扩展模块。
在软件博物馆的展柜里,IDS 6.0的安装光盘和用户手册静静地躺着。光盘上的标签已经褪色,但还能辨认出“Informix Dynamic Server 6.0 for Sun Solaris”的字样。旁边是一本厚厚的《IDS管理员指南》,封面上的蓝色波浪图案象征着数据流。翻开书页,还能看到当年工程师手写的批注:“VP调度算法需在启动时计算CPU亲和性”——这些细节,是那个时代技术创新的见证。
有趣的是,IDS的粉丝群体至今仍然活跃。在Reddit的r/Informix板块,老程序员们分享着当年用ESQL/C编写存储过程的技巧,回忆着如何通过“onmode -ky”命令强制关闭数据库的惊险时刻。一位用户写道:“我们银行的核心系统从1998年跑IDS 7.31,一直用到2019年才迁移到Oracle。16年间,IDS只出过两次故障,一次是硬盘坏了,另一次是运维人员误操作。这样的可靠性,让我至今对Informix心怀敬意。”这种情感,或许是对IDS最真实的评价——它没有成为最后的赢家,但它确实在数据库技术史上留下了不可磨灭的印记。就像一颗流星,虽然转瞬即逝,但划过夜空的那道光芒,却永远照亮了后来者的道路。
对技术发展和工程实践的推动程度
对商业模式和市场格局的影响深度
在科技文化和社会层面的持久影响力
用户群体的广度和普及程度