本文主要是介绍免费的实时数据库,我们该选谁?----BerkeleyDB与SQLite评测对比,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
转载自:http://blog.csdn.net/mynicedream/archive/2008/04/04/2252398.aspx
最近要做一个项目,需要用到实时数据库,PI太贵了,想找一个免费的,实在不行就只能自己编了。找了半天,找到了FastDB、BerkeleyDB和SQLite.
FastDB是内存型数据库,据说很快,但数据库大小不能大于物理内存,不然。。。反正我看到这就走了,我可是要一秒内处理几千个数据,还要保存8小时以 上的啊!BerkeleyDB和SQLite倒没有数据库大小不能大于物理内存的限制,我对他们的性能进行了测试,结果如下:
| Berkeley DB | Sqlite |
插入 10000 条记录耗时 | 0.08 秒 | 0.42 秒 |
插入 100000 条记录耗时 | 2.31 秒 | 3.81 秒 |
插入 7200000 条记录耗时 | 1024.34 秒 | 249 秒 |
插入 57600000 条记录耗时 | 12860.78 秒 | 2155.14 秒 |
插入 172800000 条记录耗时 | 48039.64 秒 | 6352.06 秒 |
10000 条记录查 1 记录耗时 | 少于 0.01 秒 | 少于 0.01 秒 |
100000 条记录查 1 记录耗时 | 少于 0.01 秒 | 少于 0.01 秒 |
7200000 条记录查 1 记录耗时 | 少于 0.01 秒 | 少于 0.01 秒 |
57600000 条记录查 1 记录耗时 | 0.03 秒 | 0.16 秒 |
172800000 条记录查 1 记录耗时 | 0.03 秒 | 0.09 秒 |
10000 条记录数据库大小 | 0.628M | 0.527M |
100000 条记录数据库大小 | 5.29M | 5.32M |
7200000 条记录数据库大小 | 516M | 405M |
57600000 条记录数据库大小 | 3087.13M | 3925.8M |
172800000 条记录数据库大小 | 11890.7M | 10621.2M |
* 机器配置: Core2 E4500CPU 、 2G 内存
上表为两种数据库只建一个索引, Berkeley DB 不支持事务、 Sqlite 支持事务情况下的数据,如果 Berkeley DB 打开事务支持,速度会下降很大的数量级,根本不能满足需求。另外在程序崩溃后 Berkeley DB 数据库不可用, Sqlite 数据库仍可正常使用。
这篇关于免费的实时数据库,我们该选谁?----BerkeleyDB与SQLite评测对比的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!