我想在c#中创建桌面应用程序,因为我想使用嵌入式数据库 (sqlite,berkeley db),那我怎样才能开始对这些数据库进行基准测试?
答案 0 :(得分:5)
最近,Oracle在BDB的btree存储上添加了sqlite3接口,因此您应该能够针对sqlite3编写代码,然后插入BDB。捕获是许可。 BDB强迫您支付或开源; sqlite让你做任何你想做的事。
答案 1 :(得分:3)
在考虑基准测试之前,您需要比较数据库的功能。
SQLite和BDB在它们支持的功能上完全不同,如果数据很复杂,我建议SQLite更容易查询关系数据(如果这就是你的数据的布局方式)
答案 2 :(得分:2)
我同意Osama的说法,你应该先比较一下你的功能。
但是,我不同意“复杂”的数据会自动驱使你走向sqlite。虽然我没有看到任何基准(也没有写过任何基准),但我有一种直觉反应(不管有什么价值),说BerkeleyDB几乎每次都会表现优异。
那就是说。我不认为这是我用来做出自己决定的。它可以追溯到那些功能。如果我想要的只是一个简单的数据存储,那么我可能会选择sqlite,因为它会变得更容易。同样,如果我希望能够在任何字段上任意查询我的数据,或者可能有一天将其存储在“企业”SQL数据库中,我可能会使用sqlite,因为将来的迁移会更容易。但是,如果我打算超越简单的数据存储,并且正在关注事务安全性,高并发性,高可用性,拥有许多读者和编写器等和我有一组相当明确的“查询”,然后我可能想要BDB。
请注意,我的数据的“复杂性”并未真正进入这些方程式。原因很简单。 BDB可以使用其本机序列化格式保存我的对象。任何风格的Sql都带有着名的阻抗不匹配,IMO使我的应用程序变得复杂。
如果您正在认真考虑BDB,我需要警告您,您应该决定将要使用预先的存储类型,因为BDB提供的不同类型的商店不一定兼容。