研究动态hash

最近看《Begining Linux Programming》,对里面的gdbm的key/value的这种pair存储方式比较感兴趣,因为关心最新的一些web新闻,知道现在很多大型web公司都在图片存储等领域大量使用key/value的存储方案,有必要研究研究这个...

gdbm最核心的思想是Extendible Hashing,即可扩展hash,是不是可以理解为动态Hash?(不是搞学术的,就不要太咬文嚼字了...),查到了一些好的论文,先暂存在这里,等我自己的论文搞定了之后再研究吧:

第一个资料是动态hash表的详细介绍:

文件: Dynamic Hash Tables.pdf
大小: 1205KB
下载: 下载


第二个资料是基于上面提出的动态hash表的在文件存储中的利用:
文件: Extendible Hashing-A Fast Access Method for Dynamic Files.pdf
大小: 1974KB
下载: 下载


在查找资料的过程中,还发现了很多好的资料,都放在这里吧,有时间慢慢看:
  1. 维基百科中关于Hash Table的详细介绍《Hash Table
  2. 维基百科中关于Hash函数的详细介绍《Hash Function
  3. 维基百科中关于动态Hash的详细介绍《Extendible Hashing
  4. 动态Hash中用到的一种算法,Trie,《Trie
  5. Trie算法的一种实现,包括了与红黑树、Hash Table之间的效率对比,说明这个算法还是很牛逼的《nedtries
  6. 关于数据库中B树索引、静态hash和动态hash的一些介绍
  7. uthash,C下Hash Table的开源项目,基于宏,这个项目里有各种不同的hash函数,可以针对自己要存储的东西做测试后选择合适的hash函数
其实,在BerkeleyDB(已被Oracle收购)中用的也是动态hash...
另外,有一个高人对动态hash也做过一些研究,将他的blog也记录在这里吧,需要的时候可以联系,《动态哈希(dynamic hashing)》

这么多东西,够自己好好研究研究动态hash了...

作者: tomjamescn   发布时间: 2010-10-26