`
waterdh
  • 浏览: 96597 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

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了,会导致局部数据失效 ,因此可能需要针对每一各节点做热备(互为主从方式)。

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

 

 

 

分享到:
评论
2 楼 waterdh 2011-01-04  
oolala 写道
作为持久化缓存,用于减轻关系型数据库负载。

怎么给关系型数据库作负载呢,是写到tt上面再写到关系型 数据库里面吗?
复杂…………

看业务需求,可以同时持久化缓存放一份,数据库放一份。
也可以只放在持久化缓存中, 比如评论总数、最后登录时间等写入更新要求比较频繁的。
1 楼 oolala 2010-11-20  
作为持久化缓存,用于减轻关系型数据库负载。

怎么给关系型数据库作负载呢,是写到tt上面再写到关系型 数据库里面吗?
复杂…………

相关推荐

    Tokyo Cabinet Key:Value数据库及其扩展应用

    总结来说,Tokyo Cabinet和Tokyo Tyrant是针对高并发和大数据量需求的Key-Value数据库解决方案,通过调整参数如MMAP内存大小和bucket数组数量,可以在保持高效性能的同时,适应不断增长的数据规模。对于寻求优化...

    memcached全面剖析.docx

    Tokyo Cabinet 和 Tokyo Tyrant 是与 memcached 相关的数据库解决方案,它们提供了更丰富的数据结构和更强大的持久化能力,适合那些需要复杂数据管理和高可用性的场景。 总结起来,memcached 是一个强大的工具,...

    memcached全面剖析.pdf

    此外,memcached的兼容性也让它能够适用于多种不同的应用程序,比如Tokyo Tyrant。 总结而言,memcached凭借其高性能、简单协议、易于扩展和部署的特性,成为Web应用中不可或缺的缓存解决方案。理解和掌握memcached...

    实用手册redis全面总结

    - **键值存储数据库**:如Tokyo Cabinet/Tyrant、Redis等,适用于需要快速查询的应用场景。 - **列存储数据库**:如Cassandra、HBase等,适合分布式文件系统等应用。 - **文档型数据库**:如CouchDB、MongoDB等,...

    NoSQL数据库学习教程.pdf

    Tokyo cabinet / Tyrant是指使用Tokyo cabinet / Tyrant来实现键值存储。 CT.M是指使用CT.M来实现键值存储。 Scalien是指使用Scalien来实现键值存储。 Berkley DB是指使用Berkley DB来实现键值存储。 MemcacheDB...

    redis命令参考-新.docx

    比如,键值存储数据库如Tokyo Tyrant和Voldemort适合缓存应用;列存储数据库如HBase适用于分布式文件系统;文档型数据库如MongoDB适合结构化程度较低的数据;图形数据库如Neo4j适用于处理复杂的网络结构数据。 总结...

    mongodb学习总结.docx

    key-value存储如Tokyo Cabinet/Tyrant和Redis提供快速的键值查找;图存储如Neo4J适合处理复杂的图形关系。 MongoDB作为一款文档型的NoSQL数据库,其主要特点包括: 1. **面向集合存储**:数据以集合(类似于关系...

    最全面的redis教程

    1. 键值(Key-Value)存储数据库,如Redis、Tokyo Cabinet/Tyrant,适合内容缓存,优点是查询快速,但结构化程度低。 2. 列存储数据库,如Cassandra、HBase,适用于分布式文件系统,优点在于查找速度快,扩展性强,但...

    Redis操作基础文档

    1. **键值存储**:如Tokyo Cabinet/Tyrant、Berkeley DB、MemcacheDB、Redis等,特点是使用键值对形式存储数据,访问速度快,但缺乏复杂查询功能。 2. **文档数据库**:如MongoDB、CouchDB等,使用JSON或类似格式...

    4_HBase.docx

    - **永久性键值存储**:Tokyo Tyrant、Flare、Roma、Redis。 - **面向文档的数据库**:MongoDB、CouchDB。 - **面向列的数据库**:Cassandra、HBase、Hypertable。 - **优点**: - **处理速度快**:适合处理大...

    redis入门与实践

    - **键值(Key-Value)存储数据库**:例如Tokyo Cabinet/Tyrant、Redis、Voldemort等。这类数据库以键值对的形式存储数据,适合于内容缓存场景。 - **列存储数据库**:如Cassandra、HBase、Riak等。它们通过列簇存储...

    10天掌握MongoDB 2012翻新完整版

    - 示例产品:Tokyo Cabinet/Tyrant、Redis、Voldemort、Oracle BDB。 - **列式数据库**: - 特点:按列存储数据,适合大数据分析场景。 - 示例产品:Cassandra、HBase、Riak。 - **文档型数据库**: - 特点:...

    Hbase架构简介、实践

    - **键值(Key-Value)存储数据库**:如Tokyo Cabinet/Tyrant、Redis、Voldemort、BerkeleyDB、SSDB等。这类数据库适用于内容缓存,能处理混合工作负载并支持大规模数据集的扩展。其数据模型由一系列键值对组成,特点...

    memcached全面剖析

    1.5 使用Cache::Memcached..........................................................................................................9 使用Cache::Memcached连接memcached......................................

Global site tag (gtag.js) - Google Analytics