我正在考虑使用SQLite。
它是一个自包含的、无服务器、零配置、事务性SQL数据库引擎,是开源的。
如果使用Blackfish而不是SQLite,我会得到什么好处吗?
"Firebird是一个关系型数据库,提供许多ANSI SQL标准功能,可在Linux、Windows和各种Unix平台上运行。Firebird具有出色的并发性、高性能和强大的存储过程和触发器语言支持。自1981年以来,它已被用于生产系统,在各种名称下运行。"
我会首先推荐使用Sqlite,因为它紧凑、轻量级且快速,但根据您的应用程序,您可以选择其他选项,如Firebird或PostgreSql。
例如,Sqlite在同一时间只能有一个写入者的限制对于大多数仅由一个用户使用的桌面应用程序可能不是问题,但它将无法在未来扩展到更多用户。
您可以选择FireBird嵌入式解决方案,它将像Sqlite一样运作,然后在需要更多用户时切换到Firebird服务器。
另一方面,BlackFish数据库将强制您在客户机上安装.Net框架,这在我的意见中不是很好,特别是如果您需要在互联网上分发应用程序,此外,当它扩展到开发人员版以上时,它将需要许可证。
另一个需要考虑的因素是如何访问您的数据。例如,如果您正在使用DBX4,则非常容易更改要查看的数据库。在这种情况下,建议尝试两者(以及其他人强烈推荐您尝试的任何其他选项)。另一方面,如果您正在使用Interbase或ADO数据访问组件,则更改能力会受到一定限制。