我正准备将 Firebird 用于一个项目时,有人告诉我 DB2 Express C 也是免费的,并且有很多工具,而且也很成熟。
我读过 Firebird 也很适合用作企业客户端/服务器数据库。
那么它与 DB2 Express C 相比如何呢?
有经验的能不能解释一下。
我首先要说的是,作为一个DB2 人,我自然而然地偏向 DB2。我还想说,虽然我确实有一些使用 Firebird 的经验,但那是几年前的事了,甚至还没有被称为 Firebird。因此,我认为不应该依赖我对两者进行任何直接比较。
那里有许多 DBMS,有时对于同一个项目,几个可能是一个不错的选择。如果您正在寻找一个数据库,那么 DB2 Express-C 是一个不错的选择:
基本上,DB2 Express-C 是真正的 DB2(完全相同的代码)。它与世界上最大的公司使用的 DB2 相同,但您可以免费获得它。如果这对您有吸引力,那么绝对不要使用DB2 Express-C,您不会失望的。如果您决定尝试 DB2 Express-C(即使您不尝试),我建议您也获得一本关于 DB2 Express-C 的免费书籍。
我将从 Firebird Facts http://www.firebirdsql.org/guide/Firebird_Factsheet.pdf开始想要使用您的 delphi/c#/php... 应用程序,您可以将其用作小型嵌入式 dll,或者当您在deskopt/server 机器中有更多内核时,您可以将其用作多线程服务器,因此与 db2 express 相比没有我们支持的不仅仅是处理器的脑筋急转弯:只有 2 个内核和超过 2G 的内存(我认为这是非常小的)
真正的自由是,如果您发现一些错误(是的,所有数据库引擎都有),您可以将补丁/增强功能发回,并且您可以加入 Firebird 社区并成为开源开发人员或社区成员(如果您愿意)。
从那时起,Firebird 有了很大的改进。实际上,有非常好的驱动程序、组件和库允许使用 Firebird 进行良好的 WAN 连接。我们已经在布宜诺斯艾利斯(阿根廷)和圣何塞(哥斯达黎加)之间建立了连接,它可以在两秒钟内检索 1000 条记录。对于两个国内连接来说还不错。
DB2 Express C 的唯一目标是以后使用 DB2。
这里有一些限制
尽管 DB2 不是开源的。
我认为 Firebird 用户与 DB2 Express 用户不同。
Firebird 需要考虑的一件事是其较差的 WAN 性能。如果您要访问远程 PC 上的数据库,甚至要通过 WAN 网络设置数据复制,那么 Firebird 可能不适合您。
首先,你必须知道使用数据库的目的。对于小型数据库,没有支持和免费再分发,您不仅可以选择 Firebird,还可以选择 MySQL 或 Postgresql。同样,您可以选择一种流行的 noSQL 数据库。了解您为什么使用数据库并了解数据的未来将如何是一件好事。
开源数据库有很多,但我有一个问题:你什么时候修改一个数据库的代码?我认为,如果您是应用程序开发人员,您只信任您的数据库,您不应该关心数据库是否正确进行连接,您只相信它们是正确的。
您应该关心的问题是:您的数据将如何扩展?您的数据库是否准备好管理这些数据?使用真正的数据库管理器,您不必关心这些,因为供应商提供了许多选项来增加数据库的功能。
此外,您必须考虑到管理。DB2 是自我监控的,它会为您做出重要的决定(更改内存堆、表空间、备份、统计信息、重组)。我不知道,但许多开源选项没有自动化功能,您必须做出这些决定,即使它们会影响性能。如果您的数据库有问题,而您找不到问题的解决方案,这可能是一个大问题。如果您的数据不重要,那没关系,开源不受支持的数据库可以为您工作,但谁不关心数据?
选择数据库需要对市场进行全面分析。一个起点可以是维基百科:http ://en.wikipedia.org/wiki/Comparison_of_relational_database_management_systems
许多闭源数据库,现在都提供免费版(Oracle、MS SQL server、IBM DB2),但是,就前两个而言,免费版是旧版本,而不是最新版本。相反,IBM 发布了此版本中的最后一个修订包,它允许您使用 DB2 提供的最新功能。db2 免费版有限制,但它们足够大,可以开始,只是 IBM 不希望客户在没有支持的情况下使用大型数据库。看看开源数据库的支持价格,从长远来看,你会发现有支持的闭源数据库更有吸引力。
不要对查看数据库来源的可能性感到困惑,这并不重要。重要的是您的数据。