http://blog.sina.com.cn/s/blog_52f3735e0100iiz9.html
QDBM是文件型数据库,文件中包含一系列由key-value对组成的记录,key和value都是变长的,二进制的数据以及字符串都可以作为key或value。这些记录以hash表或者B+树的方式组织,并没有table活数据类型的概念。
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提供的速度最快的接口。包含了机会所有的操作方法。
目前同类的