Tokyo Cabinet 是Mikio Hirabayashi(平林幹雄)のページ 开发的 一款DBM数据库(注:大名鼎鼎的DBM数据库qdbm就是他开发的),该数据库读写非 常快。insert:0.4sec/1000000 recordes(2500000qps),写入100万数据只需要 0.4秒。search:0.33sec/1000000 recordes (3000000 qps),读取100万数据只需 要0.33秒。下图为各种key-value数据库读写数据的性能测试,可以看出Tokyo Cabinet的速度是非常快的。
Tokyo Tyrant 提供dbm数据库Tokyo Cabinet的网络接口。它使用简单的基于 TCP/IP的简单二进制协议进行通信。同时它拥有Memcached兼容协议并且可以用 HTTP/1.1协议进行数据交换。所以实现了跨平台,跨语言使用Tokyo Tyrant。采 用热备份,更新日志记录,复制(replication)来实现高可用性和高可靠性。到 目前为止,Tokyo Tyrant只能运行在inux, FreeBSD, Mac OS X, Solaris。
下面我们介绍如何安装Tokyo Tyrant。
首先我们安装Tokyo Cabinet.
]#wget http://tokyocabinet.sourceforge.net/tokyocabinet- 1.4.9.tar.gz
]#tar -xzvf tokyocabinet-1.4.9.tar.gz
]# cd tokyocabinet-1.4.9
]# ./configure
]# make
]# make install
OK,我们装好了Tokyo Cabinet,再继续安装Tokyo Tyrant。
]# wget http://tokyocabinet.sourceforge.net/tyrantpkg/tokyotyrant- 1.1.16.tar.gz
]# tar -xzvf tokyotyrant-1.1.16.tar.gz
]#cd tokyotyrant-1.1.16
]# ./configure
]# make
]#make install
OK,我们目前就完成了Tokyo Tyrant的安装。安装非常的简单。安装好的Tokyo Tyrant的启动程序文件叫ttserver,所以我们也简称ttserver.下面我们简单启动 一个数据库,测试我们是否安装成功。
]# ./ttservctl start
启动完成。这是自带的一个启动脚本,你可以拷贝到到任意目录,修改里面的 参数。
]# telnet 127.0.0.1 1978
然后我们telnet到1978端口,因为刚才的脚本默认启动的数据库使用了1978端 口。
如果顺利,你可以看到可以连通,键入stats然后回车,可以看到一些类似如 下的状态信息
stats
STAT pid 24755
STAT uptime 37
STAT time 1236396011
STAT version 1.1.16
STAT rusage_user 0.000000
STAT rusage_system 0.008998
STAT curr_items 0
STAT bytes 4198720
END
请注意:在32位操作系统下,Tokyo Cabinet的单个数据库文件 不能超过2G,而在64位操作系统下则没有这一限制。所以推荐使用64位操作系统 和CPU。后面的主题(不定期更新):
Tokyo Tyrant的启动参数和性能优化
Tokyo Tyrant的memcache兼容协议的一些问题及解决
Tokyo Tyrant的高可 用性和高可靠性
Tokyo Tyrant和nginx的结合实现高并发和高可用性的
改造 Tokyo Tyrant,让其用于高性能的ajax服务器端
用Tokyo Tyrant构造一个FIFO 队列服务器
使用实例