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了,会导致局部数据失效 ,因此可能需要针对每一各节点做热备(互为主从方式)。
技术上没有十全十美的方案,最简单的才是最合适,如何选择就看实际应用场景了。
分享到:
相关推荐
总结来说,Tokyo Cabinet和Tokyo Tyrant是针对高并发和大数据量需求的Key-Value数据库解决方案,通过调整参数如MMAP内存大小和bucket数组数量,可以在保持高效性能的同时,适应不断增长的数据规模。对于寻求优化...
Tokyo Cabinet 和 Tokyo Tyrant 是与 memcached 相关的数据库解决方案,它们提供了更丰富的数据结构和更强大的持久化能力,适合那些需要复杂数据管理和高可用性的场景。 总结起来,memcached 是一个强大的工具,...
此外,memcached的兼容性也让它能够适用于多种不同的应用程序,比如Tokyo Tyrant。 总结而言,memcached凭借其高性能、简单协议、易于扩展和部署的特性,成为Web应用中不可或缺的缓存解决方案。理解和掌握memcached...
- **键值存储数据库**:如Tokyo Cabinet/Tyrant、Redis等,适用于需要快速查询的应用场景。 - **列存储数据库**:如Cassandra、HBase等,适合分布式文件系统等应用。 - **文档型数据库**:如CouchDB、MongoDB等,...
Tokyo cabinet / Tyrant是指使用Tokyo cabinet / Tyrant来实现键值存储。 CT.M是指使用CT.M来实现键值存储。 Scalien是指使用Scalien来实现键值存储。 Berkley DB是指使用Berkley DB来实现键值存储。 MemcacheDB...
比如,键值存储数据库如Tokyo Tyrant和Voldemort适合缓存应用;列存储数据库如HBase适用于分布式文件系统;文档型数据库如MongoDB适合结构化程度较低的数据;图形数据库如Neo4j适用于处理复杂的网络结构数据。 总结...
key-value存储如Tokyo Cabinet/Tyrant和Redis提供快速的键值查找;图存储如Neo4J适合处理复杂的图形关系。 MongoDB作为一款文档型的NoSQL数据库,其主要特点包括: 1. **面向集合存储**:数据以集合(类似于关系...
1. 键值(Key-Value)存储数据库,如Redis、Tokyo Cabinet/Tyrant,适合内容缓存,优点是查询快速,但结构化程度低。 2. 列存储数据库,如Cassandra、HBase,适用于分布式文件系统,优点在于查找速度快,扩展性强,但...
1. **键值存储**:如Tokyo Cabinet/Tyrant、Berkeley DB、MemcacheDB、Redis等,特点是使用键值对形式存储数据,访问速度快,但缺乏复杂查询功能。 2. **文档数据库**:如MongoDB、CouchDB等,使用JSON或类似格式...
- **永久性键值存储**:Tokyo Tyrant、Flare、Roma、Redis。 - **面向文档的数据库**:MongoDB、CouchDB。 - **面向列的数据库**:Cassandra、HBase、Hypertable。 - **优点**: - **处理速度快**:适合处理大...
- **键值(Key-Value)存储数据库**:例如Tokyo Cabinet/Tyrant、Redis、Voldemort等。这类数据库以键值对的形式存储数据,适合于内容缓存场景。 - **列存储数据库**:如Cassandra、HBase、Riak等。它们通过列簇存储...
- 示例产品:Tokyo Cabinet/Tyrant、Redis、Voldemort、Oracle BDB。 - **列式数据库**: - 特点:按列存储数据,适合大数据分析场景。 - 示例产品:Cassandra、HBase、Riak。 - **文档型数据库**: - 特点:...
- **键值(Key-Value)存储数据库**:如Tokyo Cabinet/Tyrant、Redis、Voldemort、BerkeleyDB、SSDB等。这类数据库适用于内容缓存,能处理混合工作负载并支持大规模数据集的扩展。其数据模型由一系列键值对组成,特点...
1.5 使用Cache::Memcached..........................................................................................................9 使用Cache::Memcached连接memcached......................................