神一样的DB4O

DB4O 断断续续试用了也有一年,从最初的java版本 到现在的.net版本。。当初被吸引的是: real-time performance。。网站的case study 甚至包括 中国电信之类的案例(1秒钟可以支撑100万条查询)  西班牙的地铁公司的系统 一秒钟可以处理20万个复杂对象。

 

  但是我的试用结果觉得并不是一回事。 在我的开发pc上,按照insert来说 最快也不过 1秒1万条左右。而且随着文件size增大而逐渐变慢。

 

   查询的话如果没有索引 就是遍历,速度很是一般。如果有索引 会快很多。最令人奇怪的是当做完操作 进行 close 操作,close的调用会很慢。 我试过 如果光是查询 大约 46 ms可以返回结果。但是close本身要占用50 ms 或者更久。加起来

 

等于一条查询 要超过100 ms.。。这是个很奇怪的事情。翻了google一遍都没有找到有效的答案。看来要做只能看源码了。

 

 

   和 sqlite比较起来 并没有太大的优势。特别是对于大数据量的处理。 如果数据量能维持在1万-3万左右,那么db4o的性能还是不错的。。超过的话就要看硬件如何了。。

 

  看中国电信的case study..他们中间有超过100多台刀片运行db4o...

 

   db4o资料甚少。论坛上的帮助也不大。仅有的几个帖子都是在问 db4o为什么性能这么低下,查个东西要十几秒。。和官方的评测,db4o要甩开对手好几条街  完全是两回事。 说实话我现在也很疑惑,不知道他们是怎么tuning的。

 

 

几个经验:

1: 最高效的查询是直接使用 query操作。 使用原始的操作树的方式去查询。。其他的 native query, linq都不行,至少会慢 20%。

2: java的版本 比 .net 在性能上要稍微好些

 

3: 增加索引对查询有显著的提升。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值