【发布时间】:2010-10-20 23:30:48
【问题描述】:
我应该为 Web 应用程序使用 Postgres 还是 Oracle XE为什么?
它们既可免费获得,也可用于商业用途。
为什么我应该使用一个数据库而不是另一个?
【问题讨论】:
标签: database oracle postgresql
我应该为 Web 应用程序使用 Postgres 还是 Oracle XE为什么?
它们既可免费获得,也可用于商业用途。
为什么我应该使用一个数据库而不是另一个?
【问题讨论】:
标签: database oracle postgresql
好吧,使用 Oracle XE,如果您达到极限,您必须购买 Oracle 或将整个应用程序迁移到不同的数据库。使用 PostgreSQL,没有任何限制,而且该软件是完全免费和开源的。
【讨论】:
如果您选择 Oracle XE,需要注意以下几点:
如果这些限制对您来说不是问题,并且您喜欢 Oracle 方法,那么请试一试,否则请考虑使用没有上述限制的开源服务器,如 Postgres 或 MySQL。
如果您确实选择了 XE,但后来发现您的要求发生了变化,那么 Oracle 的下一个版本是 5 个席位 900 美元,每个席位增加 180 美元。这实际上比 MS SQL Server afaik 便宜一些。
选择 Oracle 有一些很好的理由,特别是如果您是 Java 开发人员,例如您可以用 Java 编写存储过程,而且我认为对 Java Web 服务有本机支持。但是,最终您需要权衡成本与应用程序的要求。 MySQL 和 Postgres 将允许您免费扩展您的应用程序(显然硬件除外)。
【讨论】:
您没有提供太多信息,但除非您已经是 Oracle 专家,否则我认为没有理由选择 Oracle XE 而不是 PostgreSQL。 PostgreSQL 将永远是免费的,并且功能更强大,可扩展性更强。
您可以选择在 Windows、Mac OS X 或 Linux 上运行 PostgreSQL。我认为 Oracle XE 仅限于 Windows 和 Linux。
【讨论】:
在选择数据库供应商时,请注意将您的应用需求与供应商数据库产品的优势相匹配。并注意他们的弱点。
例如,如果您知道写入与读取一样频繁,并且两者会同时发生,那么您就会想知道您考虑的每个供应商如何处理并发性。如果您预计应用程序的负载会很重,那么依赖具有复杂锁升级方案的复杂锁管理器的供应商可能会给您带来麻烦。您将花费更多时间尝试解决数据库的锁管理器问题,而不是实际解决您的问题。
这是一个例子。每个数据库都有其优点和缺点需要考虑。做你的研究,找到一个比较供应商的网站,并做出一个平衡你的需求的选择。如果你能得到一份评估副本,那就更好地运行一些概念验证测试。编写脚本,以类似于您期望您的应用程序生成并从那里开始的内容来攻击数据库。当你在做的时候,从每个供应商那里获取你脚本中的 SQL 查询计划,看看你可以从中学到什么关于每个供应商的优化器是如何工作的。
还有很多要说的,但希望你能明白要点。
【讨论】:
您选择的平台是什么?如果是 Windows,我会选择 Oracle 或 MySQL,因为我只听说过在 Windows 机器上运行 PostgreSQL 的坏消息。
此外,Oracle 具有更多的 GUI 配置方法,因此如果您不是 Linux 黑客,您可能会更喜欢它。
另一方面,Postgres 有一种更高级的 SQL 控制台和控制台工具,一般来说,它更发达,更易于使用。 Oracle 有更多工具,但不错的工具(如 PL/SQL 导航器)不是免费的,而且免费的工具很烂。
请记住,选择数据库是一项长期决定,因此还要考虑您的应用程序需求可能发生的变化。如果您不准备最终在 Oracle 上花钱,最好选择 Postgres——安全的选择。对于大多数项目来说已经足够了。
【讨论】: