不同方式的比较TC引擎,有利于开发高速的数据缓存
近日比较了一下TC中,HDB和BDB的速度,挺有意思的。
先介绍一下几种存储方式:
第一种:DBD,B+树存储算法,其中有不同key值得存储,还有FIFO的存储(例如相同key值方式)
第二种:HDB,Hash table存储方式。
第三种:FDB,定长数组存储
第四种:ADB,这种存储方式参照HDB,但是它是存储在内存上。
以下测试,均使一百万条随机数数据测试。(详情请看代码附件)
1、先来一下BDB引擎的插入时间:
2、BDB相同key值的存储速度:
3、HDB引擎,不同key值得存储速度:
4、FDB引擎,不同key值插入时间:
5、ADB引擎,插入时间:
从时间上看,HDB的存储速度,在不同key值得存储这一方面,略占优势。
但是如果BDB使用了,相同key值存储的话,优势就很明显。
看看表图更清晰:
速度方面,HDB虽然略占优势,但是,在文件大小方面,BDB一点都不烂,如果用户需求不要太快而是要求节省空间的话,BDB绝对是不容置疑的选择:
图表比较清晰地表达了这点(以下数据,Y 轴单位为字节):
虽说硬盘常用作持久化,但是数据表明,充当短暂的读写缓存,分担memcache的压力,并不是没可能的。
分享到:
相关推荐
tokyocabinet-1.4.30.tar
tokyocabinet-1.4.45.tar.gz
tokyocabinet-1.4.48.tar.gz
东京暴君数据库的客户端封装,使东京暴君可以通过网络连接
NULL 博文链接:https://kernaling-wong.iteye.com/blog/464421
Tokyo Cabinet 是一个DBM的实现。这里的数据库由一系列key-value对的记录构成
Tokyocabinet 是一个DBM的实现,这里的数据库由一系列key-value对的记录构成。Key和value都可以是任意长度的字节序列. 本文档对Tokyocabinet之hash进行了分析,文章中有简单的流程图
NULL 博文链接:https://daniel304430062.iteye.com/blog/492587
key和value都可以是任意长度的字节序列,既可以是二进制也可以是字符串。这里没有数据类型和数据表的概念。 当做为Hash表数据库使用时,每个key必须是不同的,因此无法存储两个key相同的值。提供了以下访问方法:提供...
该数据库是一个单一的数据文件,每个记录为关键字和值。每个关键字和值是可变长度的字节序。二进制数据和字符串都可作为关键字或值。每个关键字必须唯一。没有数据表和数据类型的概念。记录以哈希表、b树和定长数据...
Tokyo Cabinet 是日本人 平林幹雄 开发的一款 DBM 数据库,该数据库读写非常快,哈希模式写入100万条数据只需0.643秒,读取100万条数据只需0.773秒,是 Berkeley DB 等 DBM 的几...tokyocabinet.jar是该数据库的接口API
tokyocabinet.cr:TokyoCabinet的Crystal客户端
httpsqs libevent tokyocabinet 安装包,附上安装文档(实际操作的)
对数据库的使用方式进行了修改,使得开源软件能够支持分布式的访问。
NULL 博文链接:https://mtnt2008.iteye.com/blog/709787
python库,解压后可用。 资源全名:pydory-1.1.41-cp38-cp38-macosx_10_9_x86_64.whl
该数据库是一个单一的数据文件,每个记录为关键字和值。每个关键字和值是可变长度的字节序。二进制数据和字符串都可作为关键字或值。每个关键字必须唯一。没有数据表和数据类型的概念。记录以哈希表、b树和定长数据...
该数据库是一个单一的数据文件,每个记录为关键字和值。每个关键字和值是可变长度的字节序。二进制数据和字符串都可作为关键字或值。每个关键字必须唯一。没有数据表和数据类型的概念。记录以哈希表、b树和定长数据...
该数据库是一个单一的数据文件,每个记录为关键字和值。每个关键字和值是可变长度的字节序。二进制数据和字符串都可作为关键字或值。每个关键字必须唯一。没有数据表和数据类型的概念。记录以哈希表、b树和定长数据...