Tokyo Tyrant使用小结

Tokyo Cabinet 是日本人 平林幹雄 开发的一款 DBM 数据库,该数据库读写非常快,哈希模式写入100万条数据只需0.643秒,读取100万条数据只需0.773秒,是 Berkeley DB 等 DBM 的几倍, 反正是相当的快。

 

而Tokyo Tyrant(翻译成中文是:东京暴君)则是在Tokyo Cabinet上封装了网络应用接口,用于提供网络服务等一系列功能, 支持memcached协议和http协议 。因此我们可以方便地使用memcached java客户端直接访问,唯一需要注意的是,tt是持久化的,并且value只支持String类型。

 

接触TT还不到一年,之前使用的是memcachedb,memcachedb在高并发写入和读取的时候性能并不太理想,于是尝试了下TT。在同等硬件条件下,tt性能比memcachedb提升还是非常明显的 , 千万级的数据量下面达到了读写4k+/s。

 

一些优化总结:

1. 硬盘读写速度要快,我们采用的是SAS硬盘,15000转的。

2. 通过bnum和xmsiz参数来把硬盘数据缓存或映射到内存加快IO,rcnum来指定缓存最近访问的记录数。条件允许的话,xmsiz的值大于数据库文件大小。

3. 相应地,内存要够大。

4. 每天做完全备份, 通过tt提供的工具。

 

tt的应用场景:

1. 存储版本信息,存储实时浏览次数等小颗粒实时动态数据

2. 作为持久化缓存,用于减轻关系型数据库负载。

 

tt的集群方式:

1. 参考memcached集群方式,由客户端实现集群。

2. 采用主从模式的集群方式,1台master,多台slave,方便水平扩展。

 

每种方式都有优点和缺点,主从模式受限于master的承受能力,只能扩展读,写就不能无限扩展。

客户端集群方式伸缩性不好,加减机器都比较难,一旦某一台服务down了,会导致局部数据失效 ,因此可能需要针对每一各节点做热备(互为主从方式)。

技术上没有十全十美的方案,最简单的才是最合适,如何选择就看实际应用场景了。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值