现在的位置: 首页 > 综合 > 正文

免费的实时数据库,我们该选谁?—-BerkeleyDB与SQLite评测对比

2017年09月09日 ⁄ 综合 ⁄ 共 821字 ⁄ 字号 评论关闭

       

        最近要做一个项目,需要用到实时数据库,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 E4500CPU2G内存 

       上表为两种数据库只建一个索引,Berkeley DB不支持事务、Sqlite支持事务情况下的数据,如果Berkeley DB打开事务支持,速度会下降很大的数量级,根本不能满足需求。另外在程序崩溃后Berkeley DB数据库不可用,Sqlite数据库仍可正常使用。

抱歉!评论已关闭.