选择什么数据库

刚才一个朋友问我有什么免费的Windows下可以用的中等规模的数据库推荐。

他自己是想用Interbase,只是希望我能提供多几个选择。我就向他推荐了PostgreSQL,因为PgSQL8以后就有了纯Windows版本,而且功能强大,管理方便,并且外围支持也很丰富,最爽的还是BSD License。

但是他还是倾向于IB,并且他对PgSQL需要NTFS以及需要创建一个专用的pgsql用户不太喜欢。但我觉得PgSQL的这些要求正是为了最大限度地提供数据的安全保障,虽然增加一点麻烦,但是是值得的。

我不介意重申我对我MySQL的成见,所以不向他推荐这个。

那 么接下来的选择就是跟IB同出一门的Firebird。坦白说,早期的Firebird我不太喜欢,除了一个光秃秃的RDBMS,什么管理工具驱动程序全 是第三方的商业产品,算下来还不如直接找个商业数据库好了。但最近听说FB的情况还不错,未来也有一个不错的发展规划。可惜我看了一下,相关的外围工具还 是不够多。

最后他还是决定用IB。免费的IB6或是商业的IB75。

他下线以后我才想起来,其实还有一个选择:MSDE。不过这个虽然号称免费,但它的License我没有研究过,不知道MS是怎么说的。

在讨论Firebird的时候,他还给我看了一篇《傲慢的西方人,慎重采用 Firebird DB》,这个问题对中文用户的确会有比较大的影响。

但是我觉得,作为一个桌面的应用,在大多数情况下并不需要用到Firebird这样的数据库。像Access或是SQLite就能够满足绝大多数要求了。
要特别推荐一下SQLite,这个数据库以最小程序,提供了最多的功能,在大多数情况下比Access好多了。拿Firebird做桌面应用有一点杀鸡用牛刀的感觉。

总之,用什么数据库还是要根据应用的需要来的。当然,个人喜好也很重要,用一种不习惯的数据库,还是比较浪费时间和精力的。

没有最好,只有最合适。