开源项目数据库

时间:2009-03-18 00:01:28

标签: database open-source

您将在开源项目中使用哪个数据库?

我正在寻找最终用户几乎不需要设置的东西。

更新:数据库大小相对较小(少于100,000条记录)。申请将以C#编写。

10 个答案:

答案 0 :(得分:14)

如果您正在寻找嵌入式数据库(我想如果您要求最终用户使用方便的话),那么SQLite就是世界上的the most widely deployed SQL database

取决于您使用的语言,you might need appropriate wrapper用于SQLite库。

更新:对于.NET,SQLite的最佳包装器是System.Data.SQLite.dll from phxsoftware

答案 1 :(得分:8)

如果你想要一个可查询SQL的数据库,SQLite很好:

http://www.sqlite.org/

它不需要服务器;您只需要在项目中包含并使用适当的API库。您的数据库将作为单个文件存储在磁盘上。

答案 2 :(得分:3)

如果它是一个带有PHP的网络应用程序,那么MySQL ......它几乎安装在任何安装了PHP的地方(几乎每个主机)。

如果不是......请咨询其他答案:)

答案 3 :(得分:3)

这在很大程度上取决于数据库需要做多少繁重工作,但我认为值得研究一下SQLite。这是一个令人惊讶的小块C / C ++代码,它是在公共领域许可下分发的(这意味着你可以随心所欲地用它做任何事情,包括转售它)。

如果您不需要原子事务或非常强烈的类型检查,那么可能没有更好的数据库。您将库添加到您的应用程序,它就像一个SQL数据库。大多数编程语言都有绑定。您很难描述需要其他数据库的情况。

答案 4 :(得分:2)

使用SQLite。它不需要最终用户进行任何类型的安装。它只是有效。

答案 5 :(得分:2)

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

答案 6 :(得分:0)

你看过SQL Server Express它不是开源的,但它是免费的。我是SQLite的忠实粉丝但是如果你在.net世界并且想要使用微软堆栈,那么它可能是更好的选择。它提供了诸如T-SQL和SQLite不提供的强类型系统之类的东西。它确实具有在完整的SQL Server版本中找不到的性能和数据库大小限制,但这可能与您的应用程序无关。

答案 7 :(得分:0)

我是关于SQLite的评论。它的功能非常棒 - 对于大多数小型,没有安装DB,它运行良好。

但是还有其他一些选择。

Firebird是一种选择。它有一个非常令人印象深刻的功能列表,还包括一个.net提供商(虽然仍处于测试阶段)。

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

答案 8 :(得分:0)

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

答案 9 :(得分:0)

如果只有Windows,Sql Server Compact Edition是小型应用的不错选择。它可以自由再分发。