在我们的项目(使用.NET完全开发)中,我们使用大小约为2 GB的中型数据库。目前我们正在使用SQL Express版本;
SQL Server Express的替代方案如何执行?我主要考虑的是MySQL和PostgreSQL。 (Windows 7 x86,x64)
是否值得考虑这些替代方案,特别是考虑到我们是.NET商店这一事实?
我已经提到了这些相关的问题:
答案 0 :(得分:11)
我是一个不相信的人,因为你是一个.NET商店,你必须使用Microsoft SQL Server产品,尽管微软喜欢它,如果你这样做。当然,它与Microsoft的本机库和开发工具非常吻合。对我而言,SQL Server的优势实际上已经停止了,而且它更像是与其他数据库系统的公平竞争领域。
MySQL - 远离它,事情变得丑陋,现在甲骨文拥有它会变得更加丑陋。当我可以免费使用PostgreSQL而不必担心时,不值得为我使用二流开源数据库付费。
PostgreSQL - 一个非常好的选择。 BSD许可证可以免费使用并更改来源。对数据批次的功能没有限制。但是如果安装时间是你离开SQL Express的原因,那么PostgreSQL在Windows或Linux上的安装速度非常快,我不知道多快,因为我不关心我的系统需要1分钟或10分钟。在Linux机器上,如果您预先编译它或使用软件包安装,它会非常快,我会说不到10分钟。
本机.NET对象支持怎么样?不确定这是什么。
内置XML类型? PG是的。
支持二进制数据? PG是的。
支持像Management Studio这样的类似工具? PG是pgadmin或其他一些第三方供应商。
安装方便吗?比SQL Server更容易获得更多选项。例如,如果您愿意,可以使用不同的页面大小进行编译。
内存占用?根据您调整内存设置的方式,可以是小型还是大型。
这三个数据库的性能比较?那么SQL快递不能容纳超过4到10GB忘记2008快递可以做多少。所以你不是在这里比较苹果和橘子。但我会说如果使用得当,所有这些都可以表现良好。 PG表现很好。
是否值得考虑这种替代方案(特别是考虑到我们是.NET商店)?是的,值得考虑,但取决于成本对您而言是否重要。我的猜测在某种程度上你会发展快递版本并且必须开始购买付费版本。微软知道如何销售,它是你将发展快速模型的一部分。 如果您有机会测试它并在您的环境中验证它,那么使用PostgreSQL就不会出错了。不要只是因为你的.NET商店而默认使用SQL Server。
旧帖子增加了这一点,今天更加真实。 http://archives.postgresql.org/pgsql-advocacy/2005-07/msg00008.php
答案 1 :(得分:1)
如果你使用像LINQ to SQL这样的东西,它需要更多关注才能使它工作,并且不支持MySQL和PostgreSQL。
我终于使用DBLinq实现了我想要的MySQL,但是花了一些时间。
答案 2 :(得分:1)
SQL Server 2005 vs MySQL 5 vs PostgreSQL 8.3
在比较中已经提到了SServer2008的一些提及。我对Express版和企业版之间的差异不太了解。
PostgreSQL 8.3 vs SQL Server 2008
结论:PostgreSQL 8.3(旧版本)可以与SQL Server竞争,并且在调整时可以胜过它。
答案 3 :(得分:1)
我同意很多关于PG与StarShip3000的说法。
关于MySQL,我认为关于Orcle拥有它的说法太多了。它仍然是作为开源开发的。也许他们出售商业版本,但他们已经在MySQL AB下做了它。
除了猜测之外,我还有一些要点可以带来MySQL。因为它有一些不错的功绩,同样有不好的地方。
例如,MySQL最知名的是超级快速RDBMS。它是。当表使用MyISAM引擎时。这意味着什么?意味着即使是作为外键一致性的简单要求也将无法使用。然后你可以想象其余的一切。
如果您使用InnoDB引擎用于MySQL表,那么您可以使用FK计算安全事务,但性能不是那么快(与PostgreSQL相当,这很好)。啊,你不能指望全文搜索功能。
MySQL是这样的:或者你有性能,或者有一个体面的统治数据库,但从来没有。
Postgre,这是我的选择,功能齐全。没有MyISAM表的性能,但速度足够快。
大多数人都不知道,但Postgre的功能比你想象的还要多。让我告诉大家关于PG的一件好事。它将在其查询解析器上计算遗传算法。
查询解析器是解析查询的部分,并决定提取所请求数据时应遵循的计划。当它解析查询时,它可以实现一些不同的方法来提取相同的数据。它最快速地选择并执行。但它有时会执行其他计划,以确定它是否好。并记录有关这些运行的统计信息。
随着时间的推移,它通过统计数据知道什么是最快的计划,所以它自己变得更快。你使用它多少,速度越快。如果表格发生变化,这个过程可以让它自我优化。
好的,我说的太多了。
好吧,我真的不知道M $ Express Server,所以,我不能谈论它。但是现在我认为你有一个关于Postgre和MySQL的更好的全景。
干杯。