除非你是财富 500 强公司或政府机构,否则 Oracle 数据库最新版本的消息可能与你无关。
但它将于一月份发布,名为 26ai。这是继 23ai 和 19c 之后的又一款产品。而且还有免费版本。真的。
为什么要使用Oracle?
回到上世纪90年代,答案很简单:Oracle能做到其他数据库做不到的事情。人们选择Oracle正是因为它的功能。那时还是MySQL 3时代,这款产品甚至还不支持外键!SQL Server 2000当时还处于发展初期,直到2005/2008年,它的核心功能才真正开始赶上Oracle。Postgres虽然已经存在,但远不及现在强大,而且当时人们普遍认为,在没有大型企业支持的情况下运行关系型数据库管理系统(RDBMS)是不可取的。
快进到2025年,Oracle依然能做到其他数据库做不到的事情……但竞争对手已经迎头赶上。Postgres(最先进的开源数据库)或许只能做到Oracle的80-85%,但这足以满足大量应用场景的需求。关系型数据库已经商品化。SQL Server现在功能强大得多,IBM的DB/2早在几十年前就已涉足开放系统领域,但这些产品价格也相当昂贵。
那么,为什么大家还没有放弃Oracle呢?
生态系统,宝贝
Oracle 销售的首要驱动力是生态系统。你购买一款软件应用,而它需要 Oracle,所以你也需要购买 Oracle。Oracle 自身的应用(例如 eBusiness Suite、PeopleSoft 等)也需要 Oracle。几年后,你的企业可能已经与 Oracle 建立了数以亿计的集成,你永远也无法摆脱它。
这种堆栈向下驱动的架构现象在 30 年前更为普遍。例如:
- 我认识的一家公司想进军仓库管理领域,当时的主流解决方案需要Informix数据库和HP-UX服务器,所以他们就购买了相关设备并配备了相应的人员。数据库和操作系统/硬件对这家公司来说都是陌生的,但为了这个应用,他们又不得不使用它们。
- 我朋友工作的那家银行想进军抵押贷款这个细分市场,但当时主流的解决方案只能在AS/400上运行,所以他们就买了一套。这意味着他们需要一套支持AS/400的备份方案、一套可以监控AS/400的监控方案、一批能管理AS/400的新员工、一套AS/400灾难恢复方案等等。
如今,大多数商业应用要么是SaaS产品,要么运行在Linux或Windows系统上。在数据库层面,非SaaS产品越来越多地支持Postgres,但有些产品仍然需要Oracle或SQL Server。
2025年,除非已经拥有大量Oracle数据库,并且有熟悉Oracle数据库的团队,否则没有人会开发全新的Oracle数据库应用程序。如果你已经有100个基于Oracle的应用程序,并且有了新的需求,那么第一个应用程序当然会选择Oracle。但如果你要启动一个全新的项目,你肯定不会去找Oracle。目前,没有一家大型互联网或人工智能公司(例如谷歌、Facebook等)使用Oracle,即使使用,也仅限于会计或人力资源管理方面。
Oracle 免费版
Oracle 26ai 有免费版本。Oracle 早在 2000 年代中期就开始提供其软件的“快速版”,从版本 11 开始。SQL Server 和 IBM 的 DB/2 也提供类似的服务。
它们确实是免费的。虽然不是完全开源的(因为它们并非自由软件),但也没有任何陷阱……你一分钱都不用付。即使你购买了支持服务合同,也只能在社区论坛获得支持(如果你买了,你可能就会使用完整版了)。
这些免费版/快速版的功能都非常相似,都存在资源限制。例如,Oracle 26ai 免费版限制为 2 个核心、2GB 内存和 12GB 数据,并且部分集群和其他横向扩展选项不可用。这意味着即使将其部署在拥有 256 个核心和 2TB 内存的服务器上,它也只能使用 2 个核心和 2GB 内存。
理论上,这些快速入门版旨在成为用户的入门选择。用户开始使用 Oracle,爱上它,然后就会准备购买正式版。但我怀疑这种情况是否真的会发生。我遇到过一些供应商,他们使用这些快速入门版来交付产品,因为他们对 Oracle 或 SQL Server 非常熟悉,而且产品的数据量永远不会超出限制。
例如,Bitwarden 使用 Docker 容器运行 SQL Server Express Edition 来存储所有数据。我遇到过一些行业垂直领域的应用程序,它们底层也使用了 SQL Server Express,就像使用 SQLite 一样。
如果您想运行 Oracle Free (以前称为 Oracle XE),您可以将其作为 Docker 镜像运行,或者您可以下载 x86-64 二进制文件并将其安装在 RHEL 或与 RHEL 类似的镜像上。
当然,你还需要具备Oracle DBA的资格才能真正使用它。Oracle比MySQL或Postgres要复杂一些。不妨试试这个为期两天的DBA课程,它也是免费的。