开源项目的数据库

5

对于一个开源项目,你会选择哪个数据库?

我希望能找到一个不需要最终用户进行太多设置的数据库。

更新:数据库大小将相对较小(少于100,000条记录)。应用程序将使用C#编写。


当您编辑问题时,您可以使用编辑工具设置此内容为社区维基,以便标记。 - Wayne Koorts
相当简略的描述... 您能更具体一些吗?您使用哪种编程语言?您预计数据库会增长多少?以多少条记录为单位(数百、数千、数百万)? - Seb
10个回答

14

8
SQLite是一个很好的选择,如果你想要一个可以进行SQL查询的数据库:http://www.sqlite.org/。它不需要服务器,你只需要在你的项目中包含和使用适当的API库。你的数据库会被存储为单个文件在磁盘上。

3

如果这是一个使用PHP和MySQL的Web应用程序...那么它几乎可以安装在几乎每个已经安装了PHP的地方(几乎所有的主机都支持PHP)。

如果不是这样的话...请参考其他答案 :)


3
这非常取决于数据库需要做多少重型工作,但我认为值得考虑SQLite。它是一段惊人的C/C++代码,采用公共领域许可证分发(意味着您可以随意使用它,包括转售)。
如果您不需要原子事务或非常强烈的类型检查,则可能没有更好的数据库了。您只需将库添加到应用程序中,就像使用SQL数据库一样。大多数编程语言都有其绑定。很难描述出需要其他数据库的情况。

2

选择SQLite。它不需要最终用户进行任何安装,只需使用即可。


2

那么像db4o.net这样的对象数据库怎么样呢?


0

你看过SQL Server Express吗?虽然它不是开源的,但是它是免费的。我很喜欢SQLite,但如果你在.NET世界中并想使用微软堆栈,那么它可能是更好的选择。它提供了一些像T-SQL和强类型系统这样的东西,而SQLite没有提供。它确实有性能和数据库大小限制,这些限制在完整的SQL Server版本中找不到,但这可能对你的应用程序无关紧要。


0

我同意关于SQLite的评论。它非常适合大多数小型、无需安装的数据库。

还有其他几个选择。

Firebird是其中之一。它具有相当令人印象深刻的功能列表,并且还包括一个 .net 提供程序(尽管仍处于测试版)。

另一个选择,虽然不是开源的,但是VistaDB是一个100%托管的选项,与SQLite和Firebird(以及大多数其他数据库)不同,因此具有许多优势。它与MS SQL语法相当一致,支持存储过程和许多其他很好的功能。他们有一个免费的“Express Edition”,可以用于开源项目。


0

这取决于你所说的“最终用户”的含义。正如其他人所说,如果你正在寻找可嵌入或桌面使用的东西,SQLite是一个很好的选择。如果你在考虑某种Web应用程序,我会推荐MySQLPostgreSQL,因为它们可以提供更好的性能,并能更自然地处理大型数据集。


0

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