开源与专有关系数据库管理系统的优缺点是什么?

开源与专有关系数据库管理系统的优缺点是什么?

我正在寻找高级别的概括。例如:

成本:
- 软件采购成本优势 -> 开源
- 维护 -> ...

性能:
- 如 XYZ -> ... 所定义
- 如 ABC -> ... 所定义

ETC。

谢谢你!

答案1

首先,您需要知道需要哪些 DBMS 功能以及系统的性能如何。例如:

  • MySQL 对于某些类型的应用程序来说速度很快,因此你可以在适中的硬件上处理大量事务

  • SQL Server 附带一套出色的报告工具,因此您可能不需要为此购买第三方工具。但是,它只能在 Windows 上运行。

  • Oracle 在服务器中内置了 JVM(您真的想按照 CPU 付费使用 Oracle 许可来运行 Java 应用程序吗?),通过良好的表分区、位图索引和各种有助于数据仓库应用程序的功能,对大型数据库提供了良好的支持。

  • 各种数据库系统可能支持或不支持分布式事务的 XA 协议

  • Postgres 具有空间索引,并支持多种语言的扩展和存储过程。

  • Teradata 具有无共享架构,没有中央瓶颈,因此可以扩展到任意大的数据集。

  • 不同系统支持的各种 SQL 方言具有或多或少的功能集或特定优势。

一旦您知道哪些专有或开源 DBMS 平台可以支持您的应用程序以及它们的支持效果如何,您就可以决定使用哪一个。

所有开源 DBMS 平台都提供可靠的支持服务,无论是通过供应商还是第三方。不用说,这些支持服务是商业性的,所以它们不是免费的。如果您确实不需要供应商支持,您可以将开源系统视为免费的,但这种情况并不常见。有一个特别有趣的极端情况,下面将进行讨论。

开源系统还将支持与供应商分离——大多数(如果不是全部)主要开源 DBMS 产品都可以获得可靠的第三方支持。

各种 DBMS 平台都允许开发扩展 - 事实上,这项技术最早是由 Stonebreaker 等人在 Postgres 上开创的,也是该系统开发的主要驱动力。不同的平台对此的支持程度不同 -

  • Oracle 和 SQL Server 的支持有些有限。

  • Postgres 对整个系统的扩展有广泛的支持。

  • Informix Online 支持源自 Illustra(其本身是 Postgres 的早期商业版本)的称为“blade”的扩展。

  • MySQL具有插件架构,支持第三方存储引擎。

如果您有此特定需求,您可能会发现开源系统提供了更大的灵活性。例如,有几种基于 Postgres 修改版本的数据仓库产品。

因此,开源与专有并不是免费(如啤酒)与付费之间的选择,而是功能、成本、对支持选项的信心和控制的问题。

答案2

实际成本

  • 执照
  • 维护
  • 支持

知识成本

  • 你能找到/雇佣熟悉它的人吗?或者他们需要培训吗?
  • 您是否已拥有内部 DBA / 开发人员技能

您的平台/基础设施是否支持它

速度 / 性能 / 功能集

工具的可用性(DBA 和开发人员)

-

此外,使用商业版本时,您可以轻松地说“XXXX 有错”,但如果您使用开源版本,那么通常没有人可以为问题负责(因此责任最终落在您身上) - 如果这是一个考虑因素 ;-)

答案3

在我看来,开源软件的主要优势如下:

自由: 带有源代码和许可证的软件允许您进行修改以供自己使用,这使您可以向任何您想要的人付费以“支持”该软件。软件背后没有“制造商”可以选择将您正在使用的版本“弃用”并强迫您“升级”或“不受支持”。您可以选择无限期地使用该软件。

对于“闭源”软件,“制造商”对源代码可用性的禁令意味着您无法根据自己的标准(最优价格、最佳技能等)选择支持该软件的一方,而是被迫只选择“制造商”,不管他们是否承诺“支持”您对该软件的需求。

答案4

话虽如此,与开源社区提供的支持相比,商业供应商提供的技术支持通常也很差。

相关内容