database - 为 .NET 网站选择免费的数据库管理系统

标签 database postgresql firebird mariadb

<分区>

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

- MariaDB
- PostgreSQL
- Firebird

我使用的是 MS SQL,但没有使用这些的经验,因此无法比较它们。

我需要他们提供的是:稳定性、速度、免费且良好的 .NET ORM,请帮助我选择其中之一。

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

添加:而且我认为我需要一个真正的 killer 级功能来改变我的看法。

最佳答案

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

而且我仍然不确定 GPL 许可证何时会迫使我购买商业许可证 - 特别是对于商业应用程序。这是我避免使用 MySQL 的另一个原因 - 许可证情况对我来说太不明确和模糊了。

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

高可用性(即当主服务器死机时接管备用服务器) - 特别是对于 9.x - 与 MySQL 一样简单。

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

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

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

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

关于database - 为 .NET 网站选择免费的数据库管理系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5561830/

相关文章:

arrays - 在 Postgres 中过滤顶级 JSONB 数组文档?

firebird - 如何为 Firebird 数据库创建用户

sequence - 以十分之一递增的 Firebird 生成器

php - 对 MySQL 中最畅销的产品进行计数或求和

ios - 如何从 Firebase 向数组添加数据

database - 如何在playframework 2.0中配置FS数据库?

database - 社交整合平台(facebook、twitter、openid)id 的数据类型是什么?

sql - 在 PostgreSQL 中聚合 hstore 列

sql - 选定日期范围

sql - SQL 连接中的附加条件