4

我想在 c# 中创建桌面应用程序,因为我想使用嵌入式数据库,如(sqlite,berkeley db),那么我该如何开始对这些数据库进行基准测试?

4

3 回答 3

5

最近,Oracle 在 BDB 的 btree 存储之上添加了 sqlite3 接口,因此您应该能够针对 sqlite3 编写代码,然后插入 BDB。问题是许可。BDB 强迫你要么付费要么开源;sqlite 让你随心所欲。

于 2010-08-26T16:46:55.363 回答
3

在考虑基准测试之前,您需要比较数据库的功能。

SQLite 和 BDB 在它们支持的功能上完全不同,如果数据很复杂,我建议使用 SQLite 来更轻松地查询关系数据(如果你的数据是这样布局的)

于 2009-08-13T04:58:11.973 回答
2

我同意 Osama 的观点,即您应该先比较您的功能。

但是,我不同意“复杂”的数据应该自动将您推向 sqlite。虽然我还没有看到任何基准(也不想写任何基准),但我有一个直觉反应(无论它值多少钱),说 BerkeleyDB 几乎每次都会表现出色。

那就是说。我不认为那是我用来做出自己决定的东西。它回到了那些功能。如果我想要的只是一个简单的数据存储,那么我可能会选择 sqlite,因为它会更容易。同样,如果我希望能够在任何字段上任意查询我的数据,或者可能有一天将其存储在“企业”SQL 数据库中,我可能会选择 sqlite,因为将来的迁移会更容易。然而,如果我打算超越一个简单的数据存储,并且着眼于事务安全、高并发、高可用性、拥有许多读者作者等,并且我有一组定义相当明确的“查询”,那么我可能想要BDB。

请注意,我的数据的“复杂性”并没有真正进入这些方程式。原因很简单。BDB 可以以本机序列化格式保存我的对象。任何风格的 Sql 都带有著名的阻抗不匹配,IMO 使我的应用程序复杂化。

如果您正在认真考虑 BDB,我需要警告您,您应该预先决定要使用的存储类型,因为BDB提供的不同类型的存储不一定兼容。

于 2009-08-15T15:54:07.190 回答