Oracle数据库是由Oracle Corporation研发的商业专用多模型数据库管理系统,也是世界上最大的关系数据库管理系统(RDBMS)。尽管Oracle依旧是市场上排名第一的数据库,但是2013年以来,其受欢迎程度逐渐下降了18%。是什么造成了这一巨大转变?是开源数据库势不可挡的崛起。尤其是PostgreSQL开源数据库,导致了Oracle市场份额的大幅度下降。在本文中,我们对Oracle与PostgreSQL进行比较,概述了SQL数据库成本、功能以及对于开发人员及数据库管理人员的易用性之间的差异。查看PostgreSQL vs. Oracle信息图表。
成本比较: 比较开源PostgreSQL社区版本与Oracle标准版和Oracle 企业版的成本差异 |
功能比较: 比较PostgreSQL与Oracle在可用工具、功能和服务方面的功能。 |
易用性比较: 比较兼容性、扩展、调优、操作系统、语言和支持提供商方面的易用性。 |
PostgreSQL是一个开放源代码的对象关系数据库系统,拥有30多年的积极开发经验。它也被公认为增长最快的数据库,在2018年和2017年被DB-Engines评为年度DBMS,并在2019年继续增长。事实上,PostgreSQL非常的受欢迎,根据2019年PostgreSQL趋势报告,11.5%的PostgreSQL用户正在向RDBMS迁移,考虑到这是全球第四大最受欢迎的数据库,这是一个惊人的比例。该报告还分析了PostgreSQL的最受欢迎的数据库组合,其中27.3%的组织目前同样在使用Oracle数据库。这主要归因于从商业到开源的转变,组织将使用开源数据库来开发新的应用程序,但是旧系统依旧保留在Oracle上。这些新应用程序是企业公司在迁移整个基础架构之前测试PostgreSQL的好方法。
现在我们已经介绍了两个数据库的当前状态,下面将比较一下PostgreSQL与Oracle的不同功能,易用性和成本:
PostgreSQL超过其他RDBMS的第一个原因是成本。免费的开源数据库是Oracle的很好的选择,因为它没有许可成本,可以节省DBA和开发人员的时间,因为他们不必参加冗长的许可讨论和谈判。你可以在免费版本的社区中找到所有需要的基础内容。同时任何其他的需求也可以在数百个社区开发扩展中找到。然而,Oracle将许多功能分解为单独的许可证,因此您必须为这些额外的功能进行支付,而且许多高级功能仅在其企业版中可用,例如滚动升级、高级安全性、高级复制和分区。
在此分类中,因为Oracle提供了数十个需要额外付费附加功能,我们仅比较PostgreSQL和Oracle之间的一些主要许可和支持成本。您可以在其Oracle技术全球价格表中比较其所有许可成本。
PostgreSQL社区 | Oracle标准版 | Oracle企业版 | |
单数据库版成本 | $ 0 | $ 17,500 | $ 47,500 |
集群、复制 | $ 0 | 无法使用 | $23,000 |
进阶安全性 | $ 0 | 无法使用 | $15,000 |
软件更新许可和支持每年() | $ 0 | 无法使用 | $18,810 |
花费总计 | $ 0 | $ 17,500 | $104,310 |
Oracle 企业版的$ 47,500许可费用仅用于一个CPU内核,最终必须乘以物理服务器的实际内核数。当选择在网上购买时,Oracle确实会提供给你10%的优惠。Oracle合作伙伴网络也很广泛,可以帮助您协商折扣,折扣通常在15%-30%之间,同时较大的帐户可以享受高达40%-60%的折扣。
PostgreSQL的功能通过开放源代码社区获得的各种工具和顾问而不断发展,使其几乎与Oracle数据库的所有方面都可以相提并论,却无需任何费用。Oracle需要更复杂的持续管理,因为所有数据库配置必须与数据模式和自定义代码共同发展。极端的复杂性还增加了产生错误的可能性,最终可能导致严重的错误,这些错误需要更多地时间和金钱来解决。这就是为什么在Oracle中的最佳做法通常是将每年更改次数限制为两次。
让我们看看这两个关系数据库管理系统的核心功能。
PostgreSQL | Oracle | |
扩展性 | PostgreSQL提供免费的扩展性,并且每秒可以扩展到数百万个事务。 | Oracle企业版建议用在有较高可扩展性的工作负载中,但是非常昂贵的。 |
更新 | 从最近几年开始,新的主要PostgreSQL版本每年都会发布,并且每3个月发布一次带有错误修复的次要版本。其中最棒的事情是PostgreSQL全球开发小组会提前宣布主要和次要版本的发布日期,以方便用户和潜在客户。 | 新的Oracle版本通常每2-4年更新一次。 |
安全性 | PostgreSQL提供了强大的安全功能,这是通过不同的身份验证选项(主机,LDAP,PAM和证书身份验证)和基于角色的访问控制(用户级别,表级别和行级别)来实现。而且可以使用免费提供的高级安全性插件(例如pgcrypto)来实现数据加密。 | Oracle提供了高级安全软件包,但作为商业数据库,它们是昂贵的附加组件。 |
复制 | PostgreSQL支持本机流复制和逻辑复制。 | 在Oracle 企业版的旧版本中,Oracle通过Oracle 数据流和Oracle multi-master支持主-从和主-主复制,对于所有类型的数据复制,现在已经被一个单独许可的应用程序(Oracle GoldenGate)所取代。 |
分区 | PostgreSQL支持声明式分区。 | Oracle支持所有RDBMS支持的常规水平分区。 |
云端部署 | 可以部署在任何云端提供商上,并提供各种PostgreSQL托管解决方案。 | 只能部署在Oracle Cloud和其他流行的云端提供商上,但用户必须自带许可证(BYOL)或使用随需应变的许可。 |
PostgreSQL还从版本10到版本11和版本12中引入了许多其他突破性功能,这些功能使其成为与Oracle真正的竞争者,例如分区增强,并行查询和逻辑复制。我们会在即将发表的帖子中介绍这些内容,您可以了解更多基于这些新功能的PostgreSQL的竞争优势。
PostgreSQL社区是最活跃的开源社区之一。对于每一种可能的场景,都有各种各样的工具和扩展,比如性能分析、审计等。这节省了开发团队真核自定义工具来解决他们的场景所需要的时间。Oracle同样提供了许多的工具,但是它们全部都是作为附加解决方案使用,并具有额外的处理器许可,软件更新许可成本和支持费用。与Oracle服务相比,Postgres的专家和顾问可以基于更加合理的价格被广泛提供。全世界许多当地的PostgreSQL用户组也提供了对PostgreSQL的免费支持,同时还有一个活跃的IRC和Slack社区。
PostgreSQL | Oracle | |
兼容性 | PostgreSQL PL/pgsql与其他关系数据库(例如Oracle)兼容,这使得向PostgreSQL迁移变得相对容易。 | Oracle基础架构不提供与开源RDBMS的强兼容性。 |
扩展组件 | PostgreSQL提供了许多免费的开源扩充组件,包括: PostGIS–支持地理空间对象的存储和查询。 CitusDB –在节点之间水平分布数据和查询。 pg_repack –在线重组表以回收存储空间。 | Oracle提供了商业附加组件,需要额外的许可费用。 |
调优 | PostgreSQL提供了更轻量级的调优功能,例如其查询优化器,而DBaaS平台如ScaleGrid提供了高级的慢查询分析。 | 由于数百种调优变量和复杂的系统要求,Oracle需要大量的安装和配置工作。自动工作量存储库(AWR)和数据库顾问提供的大多数调优功能都与需要企业版的Oracle Enterprise Manager、Database/Grid control捆绑在一起。 |
支持的操作系统 | · AIX · HP-UX · Linux · OS X · Solaris · Windows · z/OS | · FreeBSD · HP-UX · Linux · NetBSD · OpenBSD · OS X · SolarisUnix · Windows |
支持的语言 | · C# · C++ · Clojure · Cobol · Delphi · Eiffel · Erlang · Fortran · Groovy · Haskell · Java · JavaScript · Lisp · Objective C · OCaml · Perl · PHP · Python · Ruby · Scala · Tcl · Visual Basic | · .Net · C++ · Delphi · Java · JavaScript (Node.js) · Perl · PHP · Python · Tcl |
支持帮助 | 可以从社区免费获得PostgreSQL支持,并且还有许多支持提供方可提供高级帮助。 | Oracle对硬件和软件包的支持通常按其许可费用的22%收取。 |
毫无疑问,PostgreSQL是Oracle的强大替代品,并且在每次主要和次要的升级中都在不断完善。如今,许多利用Oracle的组织正在制定迁移到PostgreSQL的策略,以避免高昂的服务成本和供应商锁定,并且有数十个组织可以协助进行管理迁移。如果你想知道这是否适合你,可以参考这些已经做出转型的企业品牌,包括联邦航空局(FAA),Goldman Sachs 和Salesforce .
是否想更深入地了解拥有PostgreSQL与Oracle的总成本?下载我们的TCO,将小型和大型企业部署的成本与这两个SQL数据库进行比较,以了解如何在三年内节省多达69%的总成本:
https://postgresql.scalegrid.io/hubfs/ScaleGrid-Enterprise-PostgreSQL-vs-Oracle-Total-Cost-of-Ownership-Comparison.pdf