开源与专有关系数据库pipe理系统有什么优点和缺点?

我正在寻找高层次的普遍性。 例如:

成本:
– 软件采购成本优势 – >开源
– 维护 – > …

性能:
– 由XYZ定义 – > …
– 由ABC定义 – > …

等等。

谢谢!

首先,您需要知道您需要哪些DBMSfunction以及系统如何完成此操作。 例如:

  • 对于某些types的应用程序,MySQL是快速的,所以您可以在适度的硬件上处理高交易量

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

  • Oracle在服务器中内置了一个JVM(你真的想要支付每CPU的Oracle许可证来运行Java应用程序吗?),通过良好的表分区,位图索引和各种便于数据仓库的function,对大型数据库有很好的支持应用。

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

  • Postgres有一个空间索引,支持各种语言的扩展和存储过程。

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

  • 不同系统支持的各种SQL方言具有更多或更less的function集或特定的优势。

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

所有开源DBMS平台都有可靠的支持服务,可以通过供应商或第三方获得。 毋庸置疑,这些支持产品是商业的,所以他们不是免费的。 如果你真的不需要厂商的支持,你可以免费的看到一个开源系统,但这将是一个不寻常的情况。 有一个特别感兴趣的angular落案例,这将在下面讨论。

开放源代码系统也取消了供应商的支持 – 可信赖的第三方支持产品可用于大多数(如果不是所有的)主要开源DBMS产品。

各种DBMS平台允许开发扩展 – 事实上,这项技术是Stonebreaker等人在Postgres上率先开发的。 人。 并且是该系统发展的主要动力。 不同的平台对此有更多或更less的支持 –

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

  • Postgres对整个系统的扩展权提供了广泛的支持。

  • Informix Online支持从Illustra(它本身就是Postgres的早期商业化版本)派生的称为“刀片”的扩展。

  • MySQL有一个支持第三方存储引擎的插件体系结构。

如果你有这个特殊的要求,你可能会发现开源系统提供了更多的灵活性。 例如,有几个基于Postgres修改版本的数据仓库产品。

因此,开源与专有不是免费(如啤酒)和付费之间的select,而是支持选项和控制的function,成本和信心。

真实成本

  • 执照
  • 保养
  • 支持

知识成本

  • 你能find/雇用熟悉它的人,还是需要培训?
  • 你是否拥有DBA /开发人员的技能?

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

速度/性能/function集

工具的可用性(DBA和Dev)

另外,对于商业版本,您可以轻松地说'XXXX有问题',但是如果您使用的是开放源码版本,则通常没有人可以对问题负责(所以降价会停止) – 如果是一个考虑;-)

在我看来,这是开源软件的主要优势:

自由:自带源代码和许可证的软件允许您为自己的使用进行修改,使您可以向任何想要“支持”该软件的人付款。 软件背后没有“制造商”,可以select让你使用的版本“被弃用”,迫使你进入“升级”或“不受支持”。 您可以select无限期使用该软件。

使用“封闭源码”软件时,“制造商”禁止提供源代码意味着您无法根据自己的标准(最佳价格,最佳技能等)select支持该软件的一方,而是您被迫只select“制造商”,无论他们承诺如何“支持”软件方面的需求。

我想你要问的最大的问题是“我可以得到支持合同吗?”。 是的,有些人提供对开源软件的支持。

也就是说,与开源社区提供的支持相比,商业供应商通常也有不好的技术支持。

我认为这些优势是基于你的员工。 如果他们能够支持它,并且它符合你的需求(如上面第一篇文章所述),那么你应该考虑它。 如果你没有工作人员,不要使用它。

人们的成本,特别是如果他们不得不学习平台或更改代码,远远超过了许可成本或节省。 去与你能支持/build立。