为.NET Web站点选择免费的数据库管理系统

时间:2011-04-06 05:23:54

标签: database postgresql firebird mariadb

我需要帮助才能选择。我想为我的.NET网站选择一个database_management_system。 我目前的变种是:

- MariaDB
  - PostgreSQL
  - Firebird

我使用的是MS SQL,没有经验,无法比较它们。

我需要的是:.NET的稳定性,速度,自由和良好的ORM,帮助我选择其中一个。

有一会儿我更喜欢Postgres,但不知道为什么。

补充:而且我认为我需要一个真正的杀手级功能来改变我的观点。

3 个答案:

答案 0 :(得分:5)

我随时更喜欢PostgreSQL而不是MySQL。 PostgreSQL在SQL语句(窗口函数,递归公用表表达式)方面具有更多功能,可以更好地支持约束和索引(例如,基于部分和函数的索引)。

我仍然不确定GPL许可证何时强迫我购买商业许可证 - 尤其是商业应用程序。这是我避免使用MySQL的另一个原因 - 许可证情况对我来说太不清楚和模糊。

在需要具有负载平衡读取写入语句的真正集群的环境中设置PostgreSQL更加复杂。

高可用性(即主服务器死机时接管的备用服务器)是 - 尤其是使用9.x - 就像使用MySQL一样简单。

就速度而言,它们之间可能没有太大区别。它们中的任何一个都可以很快,其中任何一个都可能很慢。这取决于你如何使用它以及工作负载的特性(PostgreSQL似乎更快,高并发读取写入 - 但这可能已经改变了MySQL 5.5和改进的InnoDB引擎)。

Firebird在SQL功能方面也非常强大(AFAIK它是第一个支持递归公用表表达式的开源DBMS)。

我对Firebird的最大担忧是杂乱的文档。由于许可问题,没有单一的大型手册,但它是原始Interbase手册的集合以及每个版本的发行说明。因此,如果您需要检查某种语法,请从Interbase手册开始,然后查看FB 1.5的发行说明,然后查看FB 2.0,然后查看FB 2.1。有点笨拙,但团队正在努力,文档正在改进(仍然无法匹配PostgreSQL或MySQL手册)。

无论如何,我不是ORM的忠实粉丝,我从未使用过PostgreSQL和.Net,因为我只使用Java。所以我不能对此发表评论

答案 1 :(得分:2)

NHibernate是我推荐的流行ORM,虽然它起初的学习曲线相当陡峭。它支持许多DBMS,包括列表中的PostgreSQL和Firebird,当然还有MySQL - 这不在你的列表中吗? - 它与.Net很好用。

如果稳定性和速度是您唯一的要求那么您可以使用MySQL(社区版)或PostgreSQL - 当您必须考虑高可用性或高可扩展性方案时,辩论才真正开始,但这不是如果它是一个小应用程序的问题。

我没有使用Firebird(nee InterBase)或MariaDB的经验,因此无法发表评论。

答案 2 :(得分:1)

我是Firebird

的粉丝

比较here