分类:
2008-09-12 09:23:46
db4o 5.7 开发者版本目前已经在中心提供了。V5.7 最显著的特性就是增加了基于B-trees的域索引,从而为检索速度带来了炫目的改变。经过初步的测试,我们发现在某些场合特别是OR检索的场合下,甚至可能高达200倍的检索效率提升。同时,对数据库进行小的提交也会比之前更快以及节省资源。
B-trees通常能够优化以下场景的应用:数据集的一部分在二级的设备比如硬盘上,而对硬盘的读写速度不理想以及耗费资源,B-trees 能够减少读写硬盘次数,而基于数据搭建一个排序的树,从而任何对数据的查找只需要一次读写硬盘。
这里是一些基于Pole Position benchmarks的测试的亮点:
基于10万个对象进行OR检索,耗费的时间从70s降到350ms
往包含10万个对象的数据库里增加一个对象,消耗的时间从2.1秒下降到300ms
在V5.7中,使用B-trees只需要一行代码:
Db4o.configure()。objectClass(Car.class)。objectField("pilot")。indexed(true);
如果你已经使用了域索引,那么你使用V.5.7 版本的时候,,系统会自动帮你重建索引。
B-trees 是db4o road map中相当重要的一个提升。其他的提升还包括基于B-trees range的懒加载处理,并发查询,以及进一步的内存消耗优化,这些都期望在今年晚些时候实现。