类似 Big Table的tokyo Cabinet研究记录
Tokyo Cabinet是小人开发的一款数据库,它的功能比较简单,只能键值保存,没有检索功能,以hash table、b+tree、fixed-length array保存。功能类似的Bigtable的东东。
这套Tokyo系列有三个产品,Cabinet是数据库,Tyrant提供管理Cabinet的接口,Dystopia提供全文索引。我把Cabinet理解为存储引擎,Tyrant类似mysql的管理器,Dystopia则是插件。
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)
-
支持热备份,复制功能,主持主主(可读写)和主从(分写和读)方式
Tokyo Dystopia是一个全文检索系统,你可以搜索包含某短语的一系列记录,它的特性如下:
cabinet的文档:
http://tokyocabinet.sourceforge.net/spex-en.html
tyrant的文档:
http://tokyocabinet.sourceforge.net/tyrantdoc/
cabinet和tyrant的ppt幻灯片介绍:
http://tokyocabinet.sourceforge.net/tokyoproducts.pdf
可关注下其中的TCTDB,就是对table database的支持
使用哪种存储方式,取决于tyrant启动时指定的存储文件名称,table database的文件后缀是.tct
原创文章如转载,请注明:转载自五四陈科学院[http://www.54chen.com]
Posted by 54chen 架构研究