Postgres与Firebird

Ted*_*edi 24 database postgresql firebird

我希望在我的下一个开发项目中使用Firebird或Postgres ......主要是因为两者都可以在类似BSD的许可下使用.

我在http://web.archive.org/web/20100305134128/http://www.amsoftwaredesign.com/pg_vs_fb找到了两个数据库的比较

但是这种比较已经有了4年多的历史,而且这两个数据库都有很长的路要走.

有没有人介意更新比较表,以便与Firebird和Postgres的当前版本相关...或者有一个链接到最近在两个数据库之间进行了良好比较的网站?

小智 29

您必须在比较功能列表时选择RDBMS之类的技术(仅),但在回答以下问题时:

  • 它是否足够可靠满足您的需求?
  • 它适合您的所有需求吗?
  • 什么是观点/支持/发展/文献?

对我来说FB不是一个好选择.我可以指出两个故事:

  • 我在桌子上写了约束.用户向表中添加一些字符串.一段时间后,用户试图再添加一个字符串,但FB抱怨约束.怎么了?这个新字符串肯定受到限制.问题出在之前添加的最后一个字符串中!该字符串是在前一段时间添加的,它是错误的,到目前为止它在DB中,并且谁知道DB中现在有多少错误的数据.很坏.FB以错误的方式实现约束.
  • 我写了一个存储过程(SP).FB将其存储在DB中,FB可以运行它,并且它可以工作 - 按预期选择数据.没有人警告.然后备份完成没有错误.只有在恢复FB时才会抱怨SP出现问题,以及...现在还没有可恢复的备份副本.

我可以指出两三个,但这些足以让我说:不,FB不是我的选择,它不是RDBMS,它是一个玩具.

他们的文档很糟糕.事实上,每个版本都没有实际的引用.当人们在论坛中询问时:XX版本中的完整功能列表是什么?标准答案是:从上一个官方Interbase版本中获取一个列表,并从所有后续版本的"发行说明"中添加(删除)功能.

他们有奇怪的支持/发展战略.他们正在研究对他们感兴趣的东西,在深层技术问题上,而不是对用户真正重要或烦恼的东西.


Ale*_*dov 18

我已经和Firebird合作了很长时间,并建议不要以任何方式使用它.他们有许多Postgres没有的基本问题.不是说很多,只是说他们还没有'改变视图'命令.要更改视图,您必须删除并重新创建它,并根据它重新创建所有视图.这是FB的许多错误之一.根本不比较这些数据库引擎是不正确的.我有很多案例,当Firebird数据库损坏时,即使没有断电,通常的工作负载,等等.如果您还在决定,请不要使用Firebird!如果你已经选择了FB,你会在一段时间后记住我的话:)

  • 改变视图将在2.5阶段,在目前的β阶段,但我从1.5开始使用火鸟,并对这种错误非常生气.2.0没有解决这个问题.在我的1500次安装中,每天都会发生Db损坏. (3认同)
  • 像这样的答案很容易过时.FireBird 2.5及更高版本支持`ALTER VIEW`语句.答案应该说:"就目前而言(FireBird v2.0),FireBird不适合生产使用......" (3认同)
  • Firebird将有ALTER VIEW http://www.firebirdsql.org/rlsnotesh/rlsnotes25.html#rnfb25-new.你对数据库损坏感到非常惊讶! (2认同)

Dou*_*osi 11

我可以对Firebird发表评论.自第一次比较以来发生了以下变化:

多线程架构可用?是的(超级服务器)

实际上,Classic Server是可扩展性的首选服务器类型.从Firebird 2.5开始,还有一个名为SuperClassic的架构.我写了一篇关于差异的小帖子:SuperServer,ClassicServer或SuperClassic?

将交易信息存储在与数据相同的文件中?是的(红色)

我不知道这可能是一个用红色写的问题.Firebird使用仔细的写入来确保数据库结构始终一致.

临时表?没有

可在Firebird 2.1中使用.发行说明

丰富的内置功能?没有

Firebird 2.1也改进了这一点.发行说明

多种身份验证方法(即LDAP)号

虽然没有LDAP支持,但Firebird 2.1允许Windows身份验证.发行说明

创建用户定义的类型?没有

我不确定作者在这里的意思,但Firebird永远拥有域名.

要求备份/恢复紧凑吗?是的(红色)

值得商榷的.数据库空间被重用.我发现很难想象在生产中缩小数据库的必要性.

在查询中使用POSIX正则表达式?没有

Firebird 2.5支持正则表达式.发行说明

数据库监控?没有

是的,Firebird 2.1支持通过系统表进行数据库监控.Firebird 2.5增加了对跟踪设施的支持.
我知道Firebird至少有一个出色的数据库监控工具.;)

能够在本地或远程的其他服务器上查询数据库.没有

Firebird 2.5可以查询远程数据库.发行说明

  • 2.5 beta,2.5 beta,2.5 beta ... 2.5正在开发多年,但如果我现在需要PRODUCTION数据库引擎怎么办?我建议任何已经根据需要选择Firebird的人使用mysql 5.x. (2认同)