cdb之为什么 DJ Bernstein CDB(常量数据库)使用 256 个哈希表
qlqwjy
阅读:135
2025-02-15 21:57:57
评论:0
为什么 DJB CDB(常量数据库)被设计为使用 256 个哈希表?
为什么不单个更大的 252 * 256 哈希表?
只是为了节省空间还是有其他原因?
请您参考如下方法:
DJB CDB 使用两级哈希表。第一个表在文件开头固定大小为 2K。第二组表位于文件末尾,并在数据流入 cdb 时内置于内存中。一旦所有数据都流入 cdb,第二组哈希表将流出到磁盘,然后第一个表(在文件的开头)填充第二组中每个表的偏移量。
换句话说,多级哈希表允许流式创建 cdb,除了在 cdb 创建结束时写入文件的开头 2K 之外。
访问cdb很快,打第一个表(文件开头的2K)找到第二个表(在第二组表中)在cdb文件末尾的偏移量,它提供了数据的位置在 cdb 中。
更多信息可在 https://github.com/gstrauss/mcdb/ 的注释中找到。这是对 DJB 古老的 cdb 的重写。 mcdb 比 cdb 更快,并且消除了 4GB cdb 的限制以及其他好处。
声明
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。