SQLite还是Blackfish - Delphi应用程序应该使用哪个?

4

我正在考虑使用SQLite。

它是一个自包含的、无服务器、零配置、事务性SQL数据库引擎,是开源的。

如果使用Blackfish而不是SQLite,我会得到什么好处吗?

5个回答

10
为什么不选择Firebird?

http://www.firebirdsql.org

http://www.firebirdfaq.org

"Firebird是一个关系型数据库,提供许多ANSI SQL标准功能,可在Linux、Windows和各种Unix平台上运行。Firebird具有出色的并发性、高性能和强大的存储过程和触发器语言支持。自1981年以来,它已被用于生产系统,在各种名称下运行。"


+1. 你应该在你的回答中加上价格标签,以使它更明显,这可能比Blackfish更好。 - mghie
1
但是你能使用FB嵌入式启动第二个实例吗? - dmajkic
@dmajkic:无论如何,我都不会使用FB嵌入式,即使您将应用程序限制为一个实例,它也无法与快速用户切换或终端服务器很好地配合。这是一个有效的问题。 - mghie

6
坚持使用自由开源软件(FOSS)。
SQLite和Firebird都是很好的选择。两者都满足您的要求,都非常可靠,零配置并支持事务。
如果不了解您的意图,Firebird将是我的首选,因为它使迁移到客户端服务器部署几乎不需要任何努力,并具有非常强大的功能集。一切都取决于选择。
在我看来,Blackfish不是一个好选择 - “Blackfish SQL在.NET框架和Java平台上运行。”-言简意赅。

4
使用SQLite。它更小,开销更少,没有许可问题等等。最后,只有你能决定哪个数据库系统可以满足你的所有需求,哪一个拥有你需要支持的所有功能?John

3

我会首先推荐使用Sqlite,因为它紧凑、轻量级且快速,但根据您的应用程序,您可以选择其他选项,如Firebird或PostgreSql。

例如,Sqlite在同一时间只能有一个写入者的限制对于大多数仅由一个用户使用的桌面应用程序可能不是问题,但它将无法在未来扩展到更多用户。

您可以选择FireBird嵌入式解决方案,它将像Sqlite一样运作,然后在需要更多用户时切换到Firebird服务器。

另一方面,BlackFish数据库将强制您在客户机上安装.Net框架,这在我的意见中不是很好,特别是如果您需要在互联网上分发应用程序,此外,当它扩展到开发人员版以上时,它将需要许可证。


2

另一个需要考虑的因素是如何访问您的数据。例如,如果您正在使用DBX4,则非常容易更改要查看的数据库。在这种情况下,建议尝试两者(以及其他人强烈推荐您尝试的任何其他选项)。另一方面,如果您正在使用Interbase或ADO数据访问组件,则更改能力会受到一定限制。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接