JDelage Asked: 2009-07-08 04:34:28 +0800 CST2009-07-08 04:34:28 +0800 CST 2009-07-08 04:34:28 +0800 CST 开源与专有关系 db mgt 系统的优缺点是什么? 772 我正在寻找高级别的概括。例如: 成本: - 软件获取成本优势 -> 开源 - 维护 -> ... 性能: - 由 XYZ 定义 -> ... - 由 ABC 定义 -> ... 等等。 谢谢! windows sql-server mysql sql 6 个回答 Voted Best Answer ConcernedOfTunbridgeWells 2009-07-08T05:39:15+08:002009-07-08T05:39:15+08:00 首先,您需要知道您想要哪些 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 的早期商业化版本)派生的称为“刀片”的扩展。 MySQL 具有支持第三方存储引擎的插件架构。 如果您有这个特殊要求,您可能会发现开源系统提供了更多的灵活性。例如,有几个基于 Postgres 修改版本的数据仓库产品。 因此,开源与专有不是免费(如啤酒)和付费之间的选择,而是功能、成本、对支持选项和控制的信心的问题。 KennetRunner 2009-07-08T04:43:34+08:002009-07-08T04:43:34+08:00 实际成本 执照 维护 支持 知识成本 你能得到/雇用熟悉它的人吗,或者他们需要培训吗? 您是否已经具备 DBA / 开发人员技能? 您的平台/基础架构是否支持它 速度/性能/功能集 工具的可用性(DBA 和开发人员) - 此外,对于商业版本,您可以轻松地说“XXXX 有问题”,但如果您使用开源版本,那么通常没有人可以对问题负责(所以责任由您承担) - 如果那样是一个考虑因素;-) Evan Anderson 2009-07-08T04:43:45+08:002009-07-08T04:43:45+08:00 在我看来,这是开源软件的主要优势: 自由: 带有源代码的软件和允许您进行修改以供自己使用的许可证使您能够向任何您想“支持”该软件的人付款。软件背后没有“制造商”可以选择使您正在使用的版本“弃用”并迫使您“升级”或“不受支持”。您可以选择无限期使用该软件。 对于“封闭源代码”软件,“制造商”对源代码可用性的限制意味着您无法根据自己的标准(最优惠的价格、最好的技能等)选择支持该软件的一方,而是您被迫只选择“制造商”,而不管他们是否承诺“支持”您对软件的需求。 pgs 2009-07-08T04:47:13+08:002009-07-08T04:47:13+08:00 我认为您需要问的最大问题是“我可以获得支持合同吗?”。是的,有些人为开源软件提供支持。 Maxwell 2009-07-08T04:48:16+08:002009-07-08T04:48:16+08:00 话虽如此,与开源社区提供的支持相比,商业供应商的技术支持通常也很糟糕。 Steve Jones 2009-07-08T06:49:47+08:002009-07-08T06:49:47+08:00 我认为优势在于您的员工。如果他们可以支持它,并且它符合您的需求(如上面第一篇文章中所述),那么您应该考虑它。如果您没有员工,请不要使用它。 人们的成本,特别是如果他们必须学习平台或更改代码,远远超过任何许可成本或节省。选择你可以支持/建立的东西。
首先,您需要知道您想要哪些 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 的早期商业化版本)派生的称为“刀片”的扩展。
MySQL 具有支持第三方存储引擎的插件架构。
如果您有这个特殊要求,您可能会发现开源系统提供了更多的灵活性。例如,有几个基于 Postgres 修改版本的数据仓库产品。
因此,开源与专有不是免费(如啤酒)和付费之间的选择,而是功能、成本、对支持选项和控制的信心的问题。
实际成本
知识成本
您的平台/基础架构是否支持它
速度/性能/功能集
工具的可用性(DBA 和开发人员)
-
此外,对于商业版本,您可以轻松地说“XXXX 有问题”,但如果您使用开源版本,那么通常没有人可以对问题负责(所以责任由您承担) - 如果那样是一个考虑因素;-)
在我看来,这是开源软件的主要优势:
自由: 带有源代码的软件和允许您进行修改以供自己使用的许可证使您能够向任何您想“支持”该软件的人付款。软件背后没有“制造商”可以选择使您正在使用的版本“弃用”并迫使您“升级”或“不受支持”。您可以选择无限期使用该软件。
对于“封闭源代码”软件,“制造商”对源代码可用性的限制意味着您无法根据自己的标准(最优惠的价格、最好的技能等)选择支持该软件的一方,而是您被迫只选择“制造商”,而不管他们是否承诺“支持”您对软件的需求。
我认为您需要问的最大问题是“我可以获得支持合同吗?”。是的,有些人为开源软件提供支持。
话虽如此,与开源社区提供的支持相比,商业供应商的技术支持通常也很糟糕。
我认为优势在于您的员工。如果他们可以支持它,并且它符合您的需求(如上面第一篇文章中所述),那么您应该考虑它。如果您没有员工,请不要使用它。
人们的成本,特别是如果他们必须学习平台或更改代码,远远超过任何许可成本或节省。选择你可以支持/建立的东西。