免费的实时数据库,我们该选谁?----BerkeleyDB与SQLite评测对比
2016-07-07 11:16
399 查看
免费的实时数据库,我们该选谁?----BerkeleyDB与SQLite评测对比
2013-02-18 16:40 858人阅读 评论(0) 收藏 举报分类:
实时数据库(3)
最近要做一个项目,需要用到实时数据库,PI太贵了,想找一个免费的,实在不行就只能自己编了。找了半天,找到了FastDB、BerkeleyDB和SQLite.
FastDB是内存型数据库,据说很快,但数据库大小不能大于物理内存,不然。。。反正我看到这就走了,我可是要一秒内处理几千个数据,还要保存8小时以上的啊!BerkeleyDB和SQLite倒没有数据库大小不能大于物理内存的限制,我对他们的性能进行了测试,结果如下:
[align=center] [/align] | [align=center]Berkeley DB[/align] | [align=center]Sqlite[/align] |
插入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 |
上表为两种数据库只建一个索引,Berkeley DB不支持事务、Sqlite支持事务情况下的数据,如果Berkeley
DB打开事务支持,速度会下降很大的数量级,根本不能满足需求。另外在程序崩溃后Berkeley DB数据库不可用,Sqlite数据库仍可正常使用。
相关文章推荐
- 安装SQl 2008为SQL Server代理服务提供的凭据无效
- mysql索引优化
- sql 在将 nvarchar 值 转换成数据类型 int 时失败。
- psql中的\x命令
- Redis - HyperLogLogs
- Sqoop导入关系数据库到Hive
- 如何将mysql数据库的表导出到本地csv格式
- Redis学习三:redis的sentinel使用
- 关于mysql 删除数据后物理空间未释放(转载)
- java redis demo关于List<Integer>,List<String>
- mybatis动态SQL语句整理
- mysql时间的一些计算
- sql复制表结构及内容
- 查询本次以及上次记录同时显示
- SpringMVC整合Mongodb开发 架构搭建
- 数据库-锁的实践
- mysql的建表语句
- Java redis demo List<User>
- SpringMVC整合Mongodb开发,高级操作
- redis限制单ip、单用户的访问次数