QDBM介绍(1)

QDBM http://qdbm.sourceforge.net/spex.html

是日本人Mikio Hirabayashi写的一个key-value数据库.在张宴的blog上面看到采用了该数据库,比如berkeley

db 快N倍,打算使用这个数据库。(PS:swish-e的索引文件采用了berkely DB数据库,词条作为key,而词条信息作为

value)。

1.综述

  QDBM如果采用hashtable方式,其中的key不能够重复,如果采用B+树方式,可以允许key重复。

2.对于数据库的hashtable实现

QDBM通过hash算法取出记录。如果hashtable中的bucket数组足够大,则时间复杂度为O(1)。如果遇到hash冲突情况

时,通过chain(二叉搜索树结构)进行处理,时间复杂度为O(logN)。

3.数据库容量

由于一些文件系统中文件不能超过2GB,QDBM采用了数据库目录方式,可以包含多个数据库文件,理论上为1TB。

4.接口设计

QDBM的接口设计很简单,并且提供了多种接口。C、JAVA、PERL、LUA等。

DEPOT,是QDBM提供的速度最快的接口。包含了机会所有的操作方法。

 

 

 

你可能感兴趣的:(java,数据库,算法,Blog,perl,lua)