第 2 章
数据库的野心
企业软件史上最深刻的分歧,不是产品优劣,而是逻辑起点的根本不同。当SAP的五名工程师在曼海姆为标准化财务会计系统的代码分支失控而苦恼时,他们遵循的是一条从管理需求出发的路径——先理解企业如何核算成本、如何归集物料、如何合并报表,然后用代码把这些管理逻辑封装成标准产品。这条路径的每一步都扎根于具体的业务流程,扎根于德国工厂里的物料清单和生产排程表,扎根于会计师和工厂经理的日常决策。
但在大西洋的另一端,另一种企业软件的逻辑正在成形。这种逻辑不是从管理需求出发,不是从业务流程出发,而是从数据本身出发——从数据如何存储、如何检索、如何成为所有应用共享的基础设施出发。它的起点不是一家工厂的成本会计科目表,而是一篇学术论文。
把时间拨回到1970年。那一年,IBM圣何塞研究实验室的研究员埃德加·科德在《美国计算机学会通讯》上发表了一篇论文,标题是《大型共享数据库的数据关系模型》。
这篇论文提出的思想在当时看来近乎异端:数据库不应该按照数据的物理存储方式来组织,而应该按照数据之间的逻辑关系来组织。用户不需要知道数据存在磁盘的哪个磁道上,只需要用声明式的语言描述他们想要什么数据,系统自己找出最高效的检索路径。科德用了一套精确的数学框架——关系代数和一阶谓词逻辑——来支撑这个想法。在1970年的计算机科学界,这个想法受到的待遇是礼貌的冷漠。大型机上的层次数据库和网状数据库运行良好,IBM自己的IMS数据库管理系统正在为阿波罗登月计划处理海量数据。没有人觉得需要一场数据库革命。
但有一个人读懂了这篇论文的商业含义。他不是IBM的研究员,不是计算机科学的教授,而是一个在加州四处寻找下一个机会的年轻程序员。拉里·埃里森当时二十六岁,在安培克斯公司做程序开发工作。按他后来的说法,他读科德论文的第一反应不是技术上的赞叹,而是一个商人的直觉:如果关系模型能够实现,它将成为所有企业应用的底层标准。
谁控制了数据层,谁就能定义数据之上的所有业务流程。这个判断的穿透力在于,它看到了一个当时几乎所有人都忽略的结构性机会。在大型机时代,数据库是硬件厂商的附庸——IBM的IMS运行在IBM的大型机上,霍尼韦尔的IDS运行在霍尼韦尔的机器上。数据库没有独立的市场地位,它只是系统软件包的一部分,随硬件一起卖给客户。但关系模型暗示了一种完全不同的可能性:如果数据库能够跨硬件平台运行,如果它能够成为独立于操作系统的数据管理基础设施,那么数据库本身就可以成为一个巨大的市场。而且这个市场的锁定效应极强——一旦一家企业把核心业务数据装进某个数据库,迁移成本将高到难以承受。
这不是技术洞察,这是商业洞察。科德论文的学术贡献在于证明了关系模型的数学完备性,但埃里森看到的不是数学,而是市场结构。他后来多次提到,他比IBM更早意识到关系型数据库的商业潜力。
这句话的准确含义是:IBM有技术,有资源,有客户关系,但它没有动机去推动一场颠覆自己现有商业模式的革命。IMS数据库绑定在IBM的大型机上,为IBM贡献着数十亿美元的营收。如果关系型数据库成为标准,如果数据库可以跨平台运行,IBM的硬件锁定策略就会瓦解。IBM不会自己革自己的命。这正是机会所在。
1977年,埃里森与鲍勃·迈纳和埃德·奥茨在加利福尼亚注册了一家名为“软件开发实验室”的公司。迈纳是技术核心,一个沉默而极有天赋的系统程序员,负责把关系模型的理论变成可以运行的代码。奥茨负责处理客户需求和系统架构。埃里森负责销售和融资。三个人分工明确,但驱动公司前进的不是技术愿景,而是埃里森对速度的执念。
他们拿到的第一个大合同来自中央情报局。CIA需要一个能够处理海量情报数据的数据库系统,项目的代号叫“甲骨文”。这个合同给了初创公司第一笔资金和一个极其苛刻的交付期限。埃里森决定,公司就用这个项目代号作为未来产品的名称——Oracle。
这个命名本身就是一个销售动作:它暗示着通晓一切的智慧,暗示着这个系统能够回答所有问题。但1979年Oracle的第一个商用版本——Oracle 2——在技术上远远称不上完备。它没有事务处理能力,没有完整性约束,没有查询优化器,甚至不支持科德论文中定义的标准SQL语言——那要到IBM在八十年代中期将SQL标准化之后才会成为行业规范。Oracle 2的功能清单如果和IBM同期的实验性关系型数据库System R相比,差距是显而易见的。System R有完整的查询优化器、事务管理器和恢复机制,是计算机科学研究的杰作。但System R运行在IBM大型机上,而Oracle 2选择了一个完全不同的部署策略:它运行在数字设备公司的PDP-11小型机上。这个选择不是技术决策,是市场决策。
1979年,大型机市场被IBM牢牢控制,任何想在IBM平台上竞争的软件公司都面临着一个不可能三角:要么接受IBM的定价体系,要么被IBM的捆绑销售挤出市场,要么被IBM的硬件锁定策略限制住客户群。但小型机市场正在爆发。数字设备公司的VAX系列小型机正在进入企业数据中心,这些机器比大型机便宜一个数量级,运行的是Unix操作系统,没有任何一家厂商能够垄断这个新兴的硬件生态。选择在小型机上部署Oracle,意味着Oracle可以绕过IBM的渠道壁垒,直接触达那些正在用小型机构建新一代企业应用的客户。这个选择的后果比任何人当时意识到的都要深远。SAP的早期产品运行在IBM大型机上,它的客户群是那些已经拥有IBM基础设施的大型制造企业。
SAP的销售逻辑是:你们已经有了IBM的硬件,现在需要一套实时集成的财务会计系统来让这些硬件发挥管理价值。
Oracle的销售逻辑完全相反:你们不需要买昂贵的大型机,用小型机加Oracle数据库就能搭建自己的管理系统。SAP向上封装业务——在硬件和操作系统之上提供管理逻辑;Oracle向下渗透应用——用一个独立于硬件的数据库层来承载任何可能的应用需求。这两种逻辑的差异在八十年代初还不明显,因为两家公司还不在同一个市场里竞争。SAP的客户是德国和欧洲的制造企业,他们关心的是生产成本核算、物料管理和财务合并报表。Oracle的客户是美国政府机构和国防承包商,他们关心的是海量数据的存储和检索效率。
但结构性的张力已经埋下了:SAP在垂直方向上深化——一个行业一个行业地封装最佳实践;Oracle在水平方向上扩散——一个平台一个平台地部署数据库,积累客户基数。
Oracle的商业手段加速了这种扩散。在八十年代初期,数据库市场仍然被层次数据库和网状数据库主导,这些老牌产品有成熟的客户群和稳固的定价体系。
Oracle作为后来者,采用的策略是激进定价和快速迭代。第一版产品的价格定得比竞争对手低得多,甚至在某些合同中以接近成本的价格竞标。这不是亏损抢市场,而是埃里森对数据库经济学的一个基本判断:获取客户的初始成本可以被后续的维护费和升级费覆盖,而且一旦客户把数据装进Oracle,迁移成本会让客户长期留在Oracle的生态里。更激进的策略是承诺尚未实现的功能。当销售人员在客户面前被问到Oracle 2是否支持某些关键特性时,标准答案是“下一个版本就会有”。在某些案例中,开发团队甚至是在签完合同之后才开始编写客户需要的功能模块。
这种做法在SAP的德国语境下几乎不可想象。SAP的工程师文化强调交付确定性——产品必须经过严格的测试和客户验证之后才能推向市场。但Oracle的做法遵循的是一种不同的逻辑:速度比完备性重要,市场占领比工程完美重要,客户承诺可以驱动开发优先级。这两种逻辑分别对应着两种资本叙事。
SAP的创始人在1972年离开IBM时,他们的动机不是创造巨额财富,而是按照自己认为正确的方式构建企业软件。他们在曼海姆的一间小办公室里写代码,用自己的积蓄支付工资,从第一个客户开始就追求盈亏平衡。这种稳健治理的节奏一直延续到SAP上市之后:公司不追求爆发式增长,不进行大规模并购,不承诺激进的产品路线图。客户信任建立在长期关系和交付质量上。
Oracle的资本叙事完全不同。埃里森从一开始就把公司定位为一家高速增长的科技企业,他的目标不是做一个好的数据库产品,而是让Oracle成为所有企业应用的数据基础设施标准。这意味着速度必须快——必须在竞争对手反应过来之前占领尽可能多的客户站点。1983年,Oracle将数据库移植到Unix平台上,这是第一次有人把关系型数据库做成真正的跨操作系统产品。同一年,Oracle推出了可移植的SQL实现,让应用程序可以不经修改就在不同硬件平台上运行。
这些动作的技术难度不容低估,但驱动它们的是同一个商业逻辑:扩散,扩散,再扩散。到1984年,Oracle的客户数量已经超过四百家,数据库产品运行在从大型机到微型机的十几种硬件平台上。这个数字如果和SAP同期不到一百家的客户基数相比,似乎差距不大。但结构性的差异在于:SAP的每一个客户部署都是一次深度的业务流程改造,需要顾问团队驻场数月,梳理客户的成本会计逻辑和物料管理流程;Oracle的每一次部署都是一次基础设施的安装,数据库软件装上小型机,客户自己的开发团队或者第三方软件商在上面构建应用。SAP卖的是管理知识,交付周期长,客户关系深;Oracle卖的是数据容器,交付周期短,渠道伙伴多。
这种差异反映在营收结构上。SAP的收入主要来自软件许可费和实施顾问费,每一个新客户都意味着一个持续数年的服务合同。Oracle的收入主要来自数据库许可费和维护费,每一个新平台都意味着一个新的市场细分。
到1985年,Oracle的年营收已经超过两千万美元,而SAP的年营收还停留在几百万美元的规模。这不是因为Oracle的产品比SAP更好——它们根本不在同一个品类里竞争——而是因为Oracle选择了一个更容易规模化的商业模式。但这种扩散逻辑有一个隐含的代价:Oracle的数据库在企业计算栈中的位置决定了它必须依赖其他软件开发商来构建上层应用。Oracle自己不做财务会计系统,不做生产管理模块,不做人力资源软件。它的策略是提供一个通用的数据管理平台,让独立软件开发商和客户自己的IT部门在上面开发应用。这意味着Oracle对最终用户的业务流程控制力很弱——数据库里存了什么数据、这些数据如何被使用、业务流程如何运转,这些都不是Oracle能决定的。
埃里森很清楚这个弱点。他在八十年代中期多次公开表示,数据库是整个企业计算栈中最具战略价值的一层,因为数据比应用逻辑更难迁移。
应用可以重写,业务流程可以重组,但积累多年的交易数据、客户记录和财务历史一旦锁定在某个数据库里,迁移成本就会高到让企业财务官否决任何更换数据库的提议。这就是“数据霸权”的胚胎:谁控制了数据层,谁就能定义数据之上的所有应用逻辑。但这个霸权在当时还不完整。Oracle有基础设施,但没有应用子弹。它可以存储数据,但不能告诉企业如何管理采购订单、如何核算生产成本、如何合并跨国财务报表。这些管理知识恰恰是SAP的核心资产。
当SAP的工程师们在德国工厂里梳理物料清单和生产排程的逻辑时,他们积累的不是代码,而是对制造业业务流程的深层理解。这些理解被封装进SAP的标准模块里,成为企业愿意支付高额许可费的理由。
两种范式在八十年代中期尚未正面交锋,但它们各自的扩张路径已经预示了未来的碰撞点。SAP在垂直方向上深化——从财务会计扩展到物料管理,从物料管理扩展到生产计划,从生产计划扩展到销售分销,一圈一圈地扩大功能覆盖范围。
Oracle在水平方向上扩散——从PDP-11到VAX,从VAX到Unix服务器,从Unix服务器到PC,一层一层地向下渗透操作系统和硬件平台。当SAP在1985年拥有不到两百个客户时,它的每一个客户都是深度绑定的制造企业,SAP系统承载着这些企业最核心的管理流程。当Oracle在1985年拥有超过一千个客户时,它的每一个客户都是数据库的安装站点,Oracle软件承载着这些客户的一部分数据基础设施。SAP的客户迁移成本极高——替换SAP意味着重新梳理和配置所有的业务流程。Oracle的客户迁移成本同样极高——替换Oracle意味着迁移所有的数据和重写所有依赖Oracle的应用程序。两家公司都在构建护城河,只是护城河的形状不同:SAP的护城河是垂直的业务流程深度,Oracle的护城河是水平的数据基础设施广度。
这场不对称竞争的最早迹象出现在八十年代中期,当两家公司的扩张轨迹开始出现交叉时。
一些使用Oracle数据库的美国制造企业开始向Oracle询问:你们能不能提供一个生产管理模块?我们的数据库里已经存了物料清单和生产工单的数据,为什么不能直接在数据库上跑成本核算?这些需求来自Oracle的客户群,但它们指向的是SAP已经占据的领地——制造业应用软件市场。
Oracle面临一个选择:是继续做纯粹的数据基础设施提供商,把应用层留给合作伙伴和客户自己去开发;还是向上游进军,在数据库之上构建自己的应用软件套件?前一个选择意味着放弃应用层的利润,但保持了与所有应用软件商的合作关系;后一个选择意味着进入一个全新的竞争领域,与自己的合作伙伴直接冲突,但有机会把数据霸权转化为应用霸权。
这个选择的压力在1986年变得具体而紧迫。那一年,一家名为仁科的美国公司推出了基于Oracle数据库的人力资源管理系统,并且在市场上获得了快速成功。仁科的系统不需要自己的数据库引擎,它直接调用Oracle的数据库服务来存储和处理数据。这个案例让埃里森看到了一个他不愿意承认但无法忽视的事实。
这意味着仁科的核心竞争力在于应用逻辑——薪酬计算规则、福利管理流程、组织架构建模——而这些恰恰是Oracle没有积累的领域。仁科的成功证明了一件事:Oracle的数据库确实可以成为企业应用的通用基础设施,但这个基础设施之上的应用价值,正在被其他公司收割。
如果Oracle不能向上吞噬应用层,它的数据霸权就只能停留在基础设施层面,无法转化为对企业管理流程的控制力。如果Oracle决定进入应用层,它将面对已经在制造、财务、人力资源等领域深耕多年的专业软件公司——其中最难对付的一个,正在德国沃尔多夫的一栋办公楼里不断完善它的R/2系统。
当SAP的工程师们在1974年曼海姆的项目中为代码分支失控而苦恼时,他们正在酝酿下一代产品的核心架构——一个能够在不牺牲主干标准化的前提下吸收不同行业需求的系统设计。这个设计将定义SAP未来三十年的产品哲学。
这个设计要到七十年代末的R/2系统中才会成形,但它已经埋下了SAP未来三十年竞争策略的基因:用标准化的业务流程封装行业最佳实践,让企业客户在“按我们的方式做”和“定制开发”之间做出选择。
而在加利福尼亚,Oracle正在走向一条完全不同的道路。它不是在做选择——它是在做乘法。每一个新的硬件平台,每一个新的操作系统,每一个新的渠道伙伴,都在扩大Oracle数据库的安装基数。到1986年,Oracle已经完成了对关系型数据库市场的初步占领,产品运行在全球超过两千个客户站点上,覆盖了从国防部到银行到制造企业的广泛行业。
这些安装站点中的每一个,都是一个潜在的应用软件销售机会。基础设施武器已经就位。只差应用子弹。
这个不对称的态势将在接下来的十年中反复碰撞出激烈的竞争火花。但在1986年这个时间点上,两家公司还站在各自的轨道上,尚未意识到对方将是自己未来三十年中最重要的竞争对手。
SAP正在完善R/2系统的实时集成能力,把财务会计、物料管理和生产计划模块连接成一个无缝的管理系统。Oracle正在加速数据库的多平台移植,同时暗中筹备自己的应用软件战略。
两条轨道正在收敛,碰撞只是时间问题。这场碰撞的本质不是谁的产品更好,而是两种企业软件范式的对抗:SAP相信管理知识应该被封装在标准化的业务流程中,从上层向下定义企业如何运作;Oracle相信数据应该成为所有应用的共享基础设施,从下层向上渗透所有管理功能。前者是流程正统性——以最佳实践封装欧洲制造理性;后者是数据霸权——以数据库为支点向上吞噬应用层。
胜负手不在于技术本身,而在于谁能将自身范式转化为客户不可逆的迁移成本。
在1970年埃德加·科德发表那篇关系模型论文的时候,没有人能预见到它会引发一场跨越三十年的产业争霸。科德本人终其一生都在为关系模型的学术正统性而斗争——他不断批评那些不完全遵循关系代数标准的数据库产品,包括Oracle。但商业世界有自己的逻辑。
商业世界有自己的逻辑:技术完备性不是赢得市场的唯一条件,速度、渠道、定价和时机同样重要。埃里森看到了这一点,他用一个功能不完备但可移植的数据库抢占了市场先机,然后通过快速迭代弥补技术差距。这种策略在SAP的工程师文化中会被视为不负责任,但在美国资本市场的语境下完全理性——先占领客户站点,再完善产品功能,用客户需求驱动开发优先级。
到1986年底,Oracle的年营收突破五千万美元,员工人数超过一千人,客户遍布全球三十多个国家。SAP的年营收还在两千万美元左右徘徊,员工人数不到五百人,客户主要集中在德国和欧洲市场。数字的差距并不说明谁更成功——两家公司处在不同的发展阶段,面对不同的市场结构——但它揭示了两种扩张模式的速率差异。Oracle的水平扩散比SAP的垂直深化更快地产生营收增长,因为它每一次平台移植都能打开一个新的市场细分,而不需要像SAP那样为每一个新行业积累深度的管理知识。但速度也有代价。这个代价将在Oracle的下一个产品版本中集中暴露。
Oracle的快速扩张带来了产品质量问题。1986年发布的Oracle 5.0版本存在严重的稳定性缺陷,一些客户的数据库在负载高峰期崩溃,导致业务中断。投诉信开始堆积在Oracle总部的办公桌上。埃里森的反应不是放慢开发节奏,而是加大销售投入——用新客户的收入来覆盖老客户的服务成本。这种策略在高增长期可以维持,但它在积累一种危险:如果有一天增长放缓,被压抑的质量问题可能会集中爆发。
SAP没有这个问题,因为它的增长模式天然地排斥质量缺陷。一家制造企业如果发现SAP的成本核算模块计算错误,会导致整个工厂的生产决策失误,后果远比数据库崩溃更严重。SAP的客户容忍度极低,这迫使SAP在产品发布前进行极其严格的测试和验证。代价是产品迭代速度慢,新功能上线周期长,市场份额扩张缓慢。
但收益是客户信任度高,一旦部署成功,客户几乎不会考虑更换系统。这两种模式的优劣无法简单评判,它们分别是对各自生存环境的最优适应。
它们分别适应了各自的生存环境:SAP在欧洲制造企业的严密监管下演化出了工程完备性优先的文化;Oracle在美国资本市场的增长压力下演化出了市场占领优先的文化。
当这两个环境最终在全球化的企业软件市场中交汇时,两种文化将不得不正面较量。这场较量的起点可以追溯到1970年那篇论文,可以追溯到1977年那家初创公司的成立,可以追溯到1979年第一个版本的Oracle数据库在PDP-11小型机上运行的那一刻。但它的真正展开,要等到八十年代末和九十年代初,当SAP的R/3系统和Oracle的应用软件套件进入同一个客户预算表的竞争列项时才会到来。
在那之前,两家公司还在各自的轨道上积蓄力量。SAP在完善R/2系统的过程中解决了一个关键的产品架构问题——如何在不分裂主干代码的前提下吸收不同行业的特殊需求——这个解决方案将成为R/3系统横扫全球市场的技术基础。这个解决方案的代价,是SAP在标准化与定制化之间做出了一系列艰难的妥协,这些妥协将在R/2的每一次客户部署中不断累积。
Oracle在加速数据库多平台扩散的同时,开始秘密组建自己的应用软件开发团队——这支团队将在九十年代初期推出Oracle Financials和Oracle Manufacturing,直接挑战SAP的核心领地。
当SAP还在完善财务会计模块时,Oracle已经为即将到来的ERP战场准备好了基础设施武器。这个武器不是一套代码或一个产品,而是一个覆盖全球数千个客户站点的数据管理平台,以及一种与之匹配的商业扩张逻辑。这种逻辑相信速度胜过完备性,相信市场占领胜过工程完美,相信数据层控制力胜过应用层管理知识。它还没有装入应用子弹,但枪膛已经打开。
两种软件范式在1986年各自占据着企业计算栈的不同层面,彼此尚未直接冲突,但它们的扩张方向已经决定了碰撞的必然性。SAP从顶层向下渗透,每一层新增的功能模块都在强化它对客户业务流程的控制力;Oracle从底层向上渗透,每一个新增的数据库安装站点都在扩大它接触客户数据的广度。这两条路径的交叉点,就是即将在九十年代爆发的ERP全面战争。
当SAP的模块向下延伸到数据管理层面,当Oracle的数据库向上延伸到应用功能层面,这两条路径将在ERP这个交汇点上正面相遇。到那时,决定胜负的将不是谁的产品更符合某种技术理想,而是谁能让客户更难离开自己的生态系统。
这个问题的答案,要到八十年代末的R/3发布和九十年代初的Oracle应用软件套件推出时才会逐渐清晰。但在1970年科德发表那篇论文时,在1977年埃里森注册公司时,在1979年第一个Oracle数据库在PDP-11上启动时,这场对抗的底层结构已经就位。
而在1979年的路德维希港,SAP的创始人正在做出一个同样影响深远的决定——为巴斯夫的特殊成本核算需求打开第一个“用户出口”。这个决定将定义SAP未来三十年处理标准化与定制化矛盾的基本模式,也将成为Oracle在应用层发起进攻时最想攻破的堡垒。