不同方式的比较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的压力,并不是没可能的。
分享到:
相关推荐
Tokyo Cabinet是一款高效、轻量级的键值对数据库管理系统,它在IT行业中被广泛用于数据存储和检索。Tokyo Cabinet的设计目标是提供快速、可靠且占用资源少的数据存储解决方案,特别适合处理大量数据和高并发访问场景...
Tokyocabinet提供了三种不同的数据库类型:TDB(Hash Database)、TB2(Btree Database)和HDB(Heap Database)。每种类型的数据库都有其独特的适用场景和性能特点: 1. TDB(哈希数据库):基于哈希表的数据结构...
标题“再说tokyocabinet 及其扩展”指的是对Tokyo Cabinet这一开源数据库系统的深入讨论,以及可能涉及的对其功能的增强或优化。Tokyo Cabinet是一款高效、轻量级的键值存储系统,广泛用于数据缓存和日志记录等场景...
2. **哈希表和B+树实现**:Tokyo Cabinet提供了两种存储引擎,一种是基于哈希表的TCHDB,另一种是基于B+树的TCBDB。哈希表适用于随机读写,而B+树则更擅长范围查询和排序。 3. **内存映射**:Tokyo Cabinet支持内存...
标题中的"tokyocabinet-1.4.48.tar.gz"表示的是Tokyo Cabinet的1.4.48版本的源码压缩包,它采用tar.gz格式进行打包,这是一种在Linux和类Unix系统中常见的文件归档和压缩方式。 Tokyo Cabinet提供了两种主要的数据...
结合“描述”中的信息,“对数据库的使用方式进行了修改,使得开源软件能够支持分布式的访问”,我们可以理解为TokyoTyrant 和 TokyoCabinet 被用作分布式数据库系统的一部分,可能与 GPAC 集成,以提供多媒体内容的...
这个系统提供了多种数据库引擎,包括BDB-like(Berkeley DB风格)的TDB(Tokyo Database)和哈希表型的HDB(Hash Database)。这些数据库引擎具有内存映射功能,能实现高速的读写操作,非常适合于大量数据的存储和...
东京暴君数据库的客户端封装,使东京暴君可以通过网络连接
标题 "20091016通过spymemcached调用tokyocabinet网络接口的性能测试" 暗示了这篇文档可能涉及到的是一个关于优化数据存储和检索性能的技术测试。在这个测试中,作者可能使用了 `spymemcached` 这个Java库来与Tokyo ...
Tokyocabinet是一款高效、轻量级的键值存储数据库,广泛应用于日志记录、缓存服务、数据索引等领域。Tokyocabinet提供多种数据结构,包括哈希表、B+树和直方图,支持多种数据类型,并且具有高度的可移植性和良好的...
通过以上结构,Tokyocabinet能够高效地管理和访问硬盘上的哈希存储数据。 综上所述,Tokyocabinet作为一个灵活多变的DBM系统,不仅提供了丰富的数据存储选项,还允许用户通过合理的参数配置来优化性能表现。通过对...
在`httpsqs`中,`tokyocabinet`作为持久化层,用于存储和检索消息队列中的消息。它的优点包括快速的存取速度、内存映射技术以及支持多种数据类型,这使得`httpsqs`在处理大量消息时保持高效。 现在我们来详细讨论`...
总之,`tokyocabinet.cr`为Crystal开发者提供了一个高效、便捷的接口,用于与TokyoCabinet数据库进行交互,使得在Crystal项目中存储和管理大量数据变得简单。通过理解TokyoCabinet的核心特性和`tokyocabinet.cr`的...
key和value都可以是任意长度的字节序列,既可以是二进制也可以是字符串。这里没有数据类型和数据表的概念。 当做为Hash表数据库使用时,每个key必须是不同的,因此无法存储两个key相同的值。提供了以下访问方法:提供...
该数据库是一个单一的数据文件,每个记录为关键字和值。每个关键字和值是可变长度的字节序。二进制数据和字符串都可作为关键字或值。每个关键字必须唯一。没有数据表和数据类型的概念。记录以哈希表、b树和定长数据...
Tokyo Cabinet 是日本人 平林幹雄 开发的一款 DBM 数据库,该数据库读写非常快,哈希模式写入100万条数据只需0.643秒,读取100万条数据只需0.773秒,是 Berkeley DB 等 DBM 的几...tokyocabinet.jar是该数据库的接口API
TokyoCabinet提供了B+树和哈希表两种数据结构,具有高速度和低内存占用的特点。在安装HTTPSQS时,需要先解压`tokyocabinet-1.4.47.tar.gz`并按照官方文档进行编译和安装。 3. **Libevent** Libevent 是一个事件...
在安装和使用TokyoTyrant时,通常需要与TokyoCabinet库(如版本1.4.45)配合,因为TokyoTyrant依赖TokyoCabinet作为底层键值对存储引擎。 1. **TokyoTyrant简介**:TokyoTyrant是一个基于TCP/IP协议的数据库服务器...
它支持BDB(Berkeley DB)和HDB(Hash DB)两种数据库类型,广泛应用于日志记录、配置管理、缓存服务等多个领域。 Tokyo Tyrant 是 Tokyo Cabinet 的网络接口,它提供了一个简单易用的服务器端程序,允许远程客户端...