我希望在我的下一个开发项目中使用Firebird或Postgres ......很大程度上是因为两者都可以在类似BSD的许可下使用。
我在http://web.archive.org/web/20100305134128/http://www.amsoftwaredesign.com/pg_vs_fb
找到了两个数据库的比较但是这种比较已经有了4年多的历史,而且这两个数据库都有很长的路要走。
有没有人介意将比较表更新为与Firebird和Postgres的当前版本相关...或者有一个链接指向最近在两个数据库之间进行良好比较的网站?
答案 0 :(得分:28)
在比较功能列表时,您必须选择RDBMS之类的技术(仅限于),但要回答这些问题:
对我来说FB不是一个好选择。我可以指出两个故事:
我可以指出两三个,但这些足以让我说:不,FB不是我的选择,它不是RDBMS,它是一个玩具。
他们的文档很糟糕。事实上,每个版本都没有实际的引用。当人们在论坛中询问时:XX版本中的完整功能列表是什么?标准答案是:从上一个官方Interbase版本中获取一个列表,并从所有后续版本的“发行说明”中添加(删除)函数。
他们有奇怪的支持/发展策略。他们正在研究对他们感兴趣的东西,深层技术问题,而不是对用户真正重要或烦恼的东西。
答案 1 :(得分:18)
我一直在与Firebird合作很长时间,并建议不要以任何方式使用它。他们有许多Postgres没有的基本问题。不是说很多,只是说他们还没有'改变视图'命令。要更改视图,您必须删除并重新创建它,并根据它重新创建所有视图。这是FB的许多错误之一。根本不比较这些数据库引擎是不正确的。我有很多案例,当Firebird数据库损坏时,即使没有断电,通常的工作负载,等等。如果您还在决定,请不要使用Firebird!如果你已经选择了FB,你会在一段时间后记住我的话:)
答案 2 :(得分:10)
我可以对Firebird发表评论。自第一次比较以来,情况发生了变化:
多线程架构可用吗? 是(超级服务器)
实际上,Classic Server是可扩展性的首选服务器类型。从Firebird 2.5开始,还有一个名为SuperClassic的架构。我写了一篇关于差异的小帖子:SuperServer, ClassicServer or SuperClassic?
存储交易信息 文件作为数据?是(红色)
我不知道这可能是一个用红色写的问题。 Firebird使用仔细的写作 确保数据库结构始终保持一致。
临时表?否
Firebird 2.1中提供。 Release Notes
丰富的内置功能?否
Firebird 2.1也改进了这一点。 Release Notes
多种认证方法(即 LDAP)否
虽然没有LDAP支持,但Firebird 2.1允许Windows身份验证。 Release Notes
创建用户定义的类型?否
我不确定作者的意思,但Firebird永远拥有域名。
要求备份/恢复紧凑吗?是 (红色)
有争议。数据库空间被重用。我发现很难想象在生产中缩小数据库的必要性。
在查询中使用POSIX正则表达式?否
Firebird 2.5支持正则表达式。 Release Notes
数据库监控?否
是的,Firebird 2.1支持通过系统表进行数据库监控。 Firebird 2.5增加了对跟踪设施的支持 我至少知道一个优秀的database monitoring tool for Firebird。 ;)
能够在本地或远程的其他服务器上查询数据库。否
Firebird 2.5可以查询远程数据库。 Release Notes
答案 3 :(得分:3)
答案 4 :(得分:3)
AFAIK您引用的页面的Postgres列中的每个No仍然是No,尽管只读数据库可以通过仅授予数据库中所有表的select权限来实现。但是,自8.2以来,有许多新功能。一些from 8.4:
...和some from 8.3:
...... Firebird是否有这些,我不知道。
答案 5 :(得分:1)
基于文件系统的备份可能
是(邮政局长必须停止)
不是真的。从8.1开始(如果我没记错的话),可以激活WAL归档,然后创建基于文件系统的备份,而无需关闭任何东西。在文档中查找PITR(时间点恢复)以获取更多信息
答案 6 :(得分:1)
一个重要的事情是部署:
答案 7 :(得分:1)
对于那些使用Firebird的人,我建议阅读Firebird 2.1 Release Notes以了解在Linux上运行的旧版Firebird版本的数据库损坏问题。
简而言之,它与Linux中的错误有关。对于较旧的Firebird,解决方法是使用 sync 选项安装受影响的文件系统。问题在FB2.1中得到修复。