您将在开源项目中使用哪个数据库?
我正在寻找最终用户几乎不需要设置的东西。
更新:数据库大小相对较小(少于100,000条记录)。申请将以C#编写。
答案 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)
答案 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是一个很好的选择,如果您正在寻找可嵌入或桌面使用的东西。 如果您正在考虑使用某种类型的网络应用,我会说MySQL或PostgreSQL,因为它们可以提供更好的性能,并且能够更自然地处理大型数据集。
答案 9 :(得分:0)
如果只有Windows,Sql Server Compact Edition是小型应用的不错选择。它可以自由再分发。