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

cnd*_*cnd 2 database postgresql firebird mariadb

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

- MariaDB
- PostgreSQL
- Firebird

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

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

有一刻我更喜欢Postgres,但不知道为什么.

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

a_h*_*ame 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.所以我不能对此发表评论