这套Tokyo系列有三个产品,Cabinet是数据库,Tyrant提供管理Cabinet的接口,Dystopia提供全文索引。我把Cabinet理解为存储引擎,Tyrant类似mysql的管理器,Dystopia则是插件。
Tokyo Cabinet是日本人开发的一款数据库,它的功能比较简单,只能键值保存,没有检索功能,以hash table、b+tree、fixed-length array保存。
Tokyo Cabinet有如下特点:
- 键值保存数据库
- 数据文件小
- 高性能,插入1百万记录只需0.4秒(250万 rps),查询1百万记录只需0.3秒(300万 rps)
- 高并发,支持多线程,读写支持锁记录
- 使用简单,通过memcached客户端直接使用(需Tyrant)
- 支持64位架构,容量大
- 支持事务
Tokyo Tyrant提供管理Cabinet的接口,支持memcached协议,所以,可以通过memcached客户端连接Cabinet。
Tokyo Tyrant有如下特点:
- 提供使用Cabinet的接口
- 支持通过memcached和http协议连接
- 高并发,查询100万记录17.2秒(5.8万 rps)
- 支持热备份,复制功能,主持主主(可读写)和主从(分写和读)方式
用Cabinet加上Tyrant实现轻量级持久化存储系统,用来分担数据库的压力,实际上和新浪的memcachdb差不多。我的想法是用memcached做缓存,Tyrant持久储存频繁修改或者不需要检索功能的数据。
ok...先安装再说
1.安装Cabinet
要求
- linux 不低于2.4
- gcc 不低于3.1
- zlib 不低于1.2.3
- bzip2 不低于1.0.5
下载:http://tokyocabinet.sourceforge.net/tokyocabinet-1.4.5.tar.gz
引用
tar zxvf tokyocabinet-1.4.5.tar.gz
cd tokyocabinet-1.4.5
./configure
make
make install
引用
Options of Configure
The following options can be specified with `./configure'.
--enable-debug : build for debugging. Enable debugging symbols, do not perform optimization, and perform static linking.
--enable-devel : build for development. Enable debugging symbols, perform optimization, and perform dynamic linking.
--enable-profile : build for profiling. Enable profiling symbols, perform optimization, and perform dynamic linking.
--enable-static : build by static linking.
--enable-fastest : build for fastest run.
--enable-off64 : build with 64-bit file offset on 32-bit system.
--enable-swab : build for swapping byte-orders.
--enable-uyield : build for detecting race conditions.
--disable-zlib : build without ZLIB compression.
--disable-bzip : build without BZIP2 compression.
--disable-pthread : build without POSIX thread support.
--disable-shared : avoid to build shared libraries.
2.安装Tyrant
下载:http://tokyocabinet.sourceforge.net/tyrantpkg/tokyotyrant-1.1.14.tar.gz
引用
tar zxvf tokyotyrant-1.1.14.tar.gz
cd tokyotyrant-1.1.14
./configure
make
make install
mkdir -p /ttserver/
ttserver -host 192.168.1.254 -port 11311 -thnum 8 -dmn -pid /ttserver/ttserver.pid -log /ttserver/ttserver.log -le -ulog /ttserver/ -ulim 128m -sid 1 -rts /ttserver/ttserver.rts /ttserver/database.tch
失望啊失望啊,用php memcached客户端连接Tyrant有bug(
http://willko.iteye.com/blog/332982),Tyrant只提供了Perl和Ruby的客户端
参考资料:
http://tokyocabinet.sourceforge.net/
http://blog.s135.com/post/362.htm
分享到:
相关推荐
例如,Memcached适合简单的键值对存储,MongoDB适合处理复杂的文档结构,Redis适用于需要高速读写和多数据结构操作的场景,而Tokyo Tyrant则提供了一个轻量级的解决方案。 在学习和使用过程中,可能会涉及到的知识...
3. 轻量级:相比于其他数据库服务器,Tokyo Tyrant占用资源少,启动快。 4. 易于备份和恢复:通过简单的文件复制即可完成数据库的备份和恢复。 Tokyo Cabinet 和 Tokyo Tyrant 的组合在某些特定场景下,如日志分析...
Tokyo Cabinet 是一个非常著名的键值存储系统,提供了高效、轻量级的数据持久化解决方案。它支持BDB(Berkeley DB)和HDB(Hash DB)两种数据库类型,广泛应用于日志记录、配置管理、缓存服务等多个领域。 Tokyo ...
HTTPSQS(HTTP Simple Queue Service)是一款基于 HTTP GET/POST 协议的轻量级开源简单消息队列服务,使用 Tokyo Cabinet 的 B+Tree Key/Value 数据库来做数据的持久化存储。源代码不超过700行,整个软件不超过900KB...
Tokyo Tyrant的设计理念是简洁和速度,它不提供复杂的查询功能,但通过其轻量级的架构实现了极高的性能。 Tokyo Tyrant的核心特性包括: 1. **键值存储**:Tokyo Tyrant采用键值对(Key-Value)存储模型,其中键是...
Tokyo Cabinet是一个高效、轻量级且开源的数据库管理系统,主要设计用于在本地存储大量数据。这个名为"tokyocabinet-1.4.45.tar.gz"的压缩包文件包含的是Tokyo Cabinet的1.4.45版本源代码。在本文中,我们将深入探讨...
总之,HTTPSQS是构建轻量级、高效的消息队列服务的优秀选择,结合libevent的网络处理能力和Tokyo Cabinet的数据存储能力,为开发者提供了简单而强大的工具。理解并熟练掌握这些组件的安装和使用,对于提升分布式系统...
Tokyo Cabinet是一个开源的嵌入式数据库,主要特点是轻量级且性能卓越。它支持多种数据存储方式,如B+树、哈希表等,并能够通过不同的存储模式来优化特定场景下的性能表现。 - **B+树**:适用于需要频繁进行范围...
TokyoTyrant是Tokyo Cabinet的一个网络服务器接口,它允许通过网络进行数据存取,提供了高性能、轻量级的数据存储解决方案。TokyoTyrant 1.1.40是该软件的一个版本,适用于CentOS 7 x64操作系统。在安装和使用...
由于其轻量级的设计,memcached 可以运行在内存中,不依赖于持久化存储,从而提供了极快的数据读取速度。 **1.2 memcached 的特征** - **协议简单**:memcached 使用简单的 ASCII 协议,使得它易于实现多种语言的...
10. Tokyo Tyrant的数据存储类型通常是永久性的,它是一个轻量级的键值数据库,常用于缓存和高速存储。 11. memcached的数组存储类型是临时性的,主要用于高速缓存,数据在服务器重启后会丢失。 12. 面向文档的...
HTTPSQS(HTTP Simple Queue Service)是一款基于 HTTP GET/POST 协议的轻量级开源简单消息队列服务,使用 Tokyo Cabinet 的 B+Tree Key/Value 数据库来做数据的持久化存储。 本包为1.7版 已包含所需要的依赖:...
dokeysto是一款基于OCaml语言开发的键值存储系统,设计用于提供简单而高效的数据持久化解决方案。...它的设计和实现充分利用了OCaml的特性,并结合了现代数据压缩技术,以提供一个轻量级、可靠的存储选项。
Tokyo Cabinet是一个轻量级的键值对数据库,它提供了快速的读写性能和良好的数据持久性。在`httpsqs4j`中,Tokyo Cabinet可能被用作消息存储的后端,用于保存和检索消息。它的特性包括高效的B+树索引和多种数据压缩...
Tokyo Cabinet是一个著名的键值存储系统,它提供了高效、轻量级的数据存储解决方案,而这个项目则将Tokyo Cabinet的功能引入到Pharo Smalltalk的环境中。 Pharo是一种面向对象的、动态类型的编程语言,它基于...
Memcached是一款高效、轻量级的分布式内存缓存系统,由Danga Interactive公司的开发团队为LiveJournal设计并实现。它的主要目标是减轻数据库的负载,通过缓存数据和对象来提高动态Web应用的性能。Memcached的工作...
Tokyocabinet是一款高效、轻量级且功能丰富的键值对数据库系统,广泛应用于日志存储、缓存服务以及各种数据持久化场景。其1.4.30版本的发布,意味着开发者们可以获取到最新的优化和改进。下面将详细探讨Tokyocabinet...
东京内阁是一款高性能、轻量级的键值存储系统,适用于数据缓存、日志记录和持久化存储。它提供Btree和Hash表两种数据结构,支持事务处理,并具有高并发读写能力。 4. **Fortran-Tcdb接口**: Fortran-Tcdb库为...
Ruby语言中的Starling是一个轻量级的持久化服务器,它支持MemCache协议,使得创建网络访问队列变得异常简单。Starling对于创建多点和多台机器间的异步工作进程具有重要意义,因为它可以处理大量的队列消息并保持服务...