欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

tokyocabinet中HDB和BDB引擎的存储速度比较 博客分类: tokyocabinet TokyoCabinet算法 

程序员文章站 2024-03-23 16:20:28
...

不同方式的比较TC引擎,有利于开发高速的数据缓存

近日比较了一下TC中,HDB和BDB的速度,挺有意思的。

 

先介绍一下几种存储方式:

第一种:DBD,B+树存储算法,其中有不同key值得存储,还有FIFO的存储(例如相同key值方式)

第二种:HDB,Hash table存储方式。

第三种:FDB,定长数组存储

第四种:ADB,这种存储方式参照HDB,但是它是存储在内存上。

 

以下测试,均使一百万条随机数数据测试。(详情请看代码附件)

 

1、先来一下BDB引擎的插入时间:

tokyocabinet中HDB和BDB引擎的存储速度比较
            
    
    博客分类: tokyocabinet TokyoCabinet算法 

 

 

 

 

2、BDB相同key值的存储速度:

tokyocabinet中HDB和BDB引擎的存储速度比较
            
    
    博客分类: tokyocabinet TokyoCabinet算法 

 

 

 

 

3、HDB引擎,不同key值得存储速度:

tokyocabinet中HDB和BDB引擎的存储速度比较
            
    
    博客分类: tokyocabinet TokyoCabinet算法 

 

 

 

 

4、FDB引擎,不同key值插入时间:

tokyocabinet中HDB和BDB引擎的存储速度比较
            
    
    博客分类: tokyocabinet TokyoCabinet算法 

 

 

 

 

5、ADB引擎,插入时间:

tokyocabinet中HDB和BDB引擎的存储速度比较
            
    
    博客分类: tokyocabinet TokyoCabinet算法 

 

 

 

 

从时间上看,HDB的存储速度,在不同key值得存储这一方面,略占优势。

但是如果BDB使用了,相同key值存储的话,优势就很明显。

看看表图更清晰:

tokyocabinet中HDB和BDB引擎的存储速度比较
            
    
    博客分类: tokyocabinet TokyoCabinet算法 

 

速度方面,HDB虽然略占优势,但是,在文件大小方面,BDB一点都不烂,如果用户需求不要太快而是要求节省空间的话,BDB绝对是不容置疑的选择:

 

tokyocabinet中HDB和BDB引擎的存储速度比较
            
    
    博客分类: tokyocabinet TokyoCabinet算法 

 

 

 

 

 

 

 

 

 

图表比较清晰地表达了这点(以下数据,Y 轴单位为字节):

tokyocabinet中HDB和BDB引擎的存储速度比较
            
    
    博客分类: tokyocabinet TokyoCabinet算法 

 

虽说硬盘常用作持久化,但是数据表明,充当短暂的读写缓存,分担memcache的压力,并不是没可能的。

相关标签: TokyoCabinet 算法