文章分类

站点统计

  • 分类总数: 13 个
  • 文章总数: 145 篇
  • 评论总数: 35 条
  • 附件总数: 59 个
  • 建站日期: 2008-08-18
  • 访问总数: 387352 人次
  • RSS订阅: 文章|评论

介绍Tokyo Cabinet、Tokyo Tyrant和Tokyo Dystopia

Admin 于 2008-10-15 23:36:04 发表其它

订阅: http://www.kaiyuan8.org/Feed/Article_120.aspx
引用: 点这里获取地址 (UTF-8)
五款小巧的Web Server[C语言] < 介绍Tokyo Cabinet、Tokyo Tyrant和Tokyo Dystopia > 完成了AStyle的.Net调用接口[AStyle.Net.Interface]

Tokyo Cabinet [東京収納棚]是日本人平林幹雄开发的一款 DBM 数据库,该数据库读写非常快,哈希模式写入100万条数据只需0.643秒,读取100万条数据只需0.773秒,是 Berkeley DB 等 DBM 的几倍。这里的数据库由一系列key-value对的记录构成。key和value都可以是任意长度的字节序列,既可以是二进制也可以是字符串。这里没有数据类型和数据表的概念。

当做为Hash表数据库使用时,每个key必须是不同的,因此无法存储两个key相同的值。提供了以下访问方法:提供key,value参数来存 储,按 key删除记录,按key来读取记录,另外,遍历key也被支持,虽然顺序是任意的不能被保证。这些方法跟Unix标准的DBM,例如GDBM,NDBM 等等是相同的,但是比它们的性能要好得多(因此可以替代它们)

当按B+树来存储时,拥用相同key的记录也能被存储。像hash表一样的读取,存储,删除函数也都有提供。记录按照用户提供的比较函数来存储。 可以采用顺序或倒序的游标来读取每一条记录。依照这个原理,向前的字符串匹配搜索和整数区间搜索也实现了。另外,B+树的事务也是可用的。 对于定长的数组,记录按自然数来标记存储。不能存储key相同的两条或更多记录。另外,每条记录的长度受到限 制。读取方法和hash表的一样。

Tokyo Cabinet是用C写的,同时提供Lua,Perl,Ruby,Java的API。Tokyo Cabinet在提供了POSIX和C99的平台上都可用,它以GNU Lesser Public License协议发布。


  Tokyo Tyrant 是由同一作者开发的 Tokyo Cabinet 数据库网络接口。它拥有Memcached兼容协议,也可以通过HTTP协议进行数据交换。
      Tokyo Tyrant基于Tokyo Cabinet实现,提供了HTTP协议和memcache 协议的读取/写入等接口。这不仅仅是贴上了分布式的标签而已:有了http协议,在大公司复杂网络中部署时很多事情简单多了,因为http端口一般不需要 专门申请路由了,而其他端口上部署应用时,要走一堆流程。而memcache协议则解决了很多人尝试用memcache来存储东西时无法持久存储的问题。 有了这两个接口,应用Tokyo Tyrant时,你都不需要调API,php中用来连Memcached的代码直接使用就行。

  Tokyo Tyrant 加上 Tokyo Cabinet,构成了一款支持高并发的分布式持久存储系统,对任何原有Memcached客户端来讲,可以将Tokyo Tyrant看成是一个Memcached,但是,它的数据是可以持久存储的。这一点,跟新浪的Memcachedb性质一样。


Tokyo Dystopia 是一个全文索引系统,可以通过多种模式对索引记录进行检索。主要功能:

  • 高性能搜索。
  • 目标文档高度可配置。
  • 完善的召回率字符N元方法(Perfect recall ratio by character N-gram method)。
  • 词组匹配,前缀匹配,后缀匹配,及Token匹配(Phrase matching, prefix matching, suffix matching, and token matching)。
  • 通过Unicode实现多语言支持。
  • API架构使用分层设计。

Tokyo Dystopia 在提供了POSIX和C99的平台上都可用,它以GNU Lesser Public License协议发布。


参考资料:

http://blog.s135.com/read.php/362.htm

http://tokyocabinet.sourceforge.net/index.html

被阅1781次, 0投一票DBM
  • 看完了要说点啥么?
  • 昵称 (不填说不了话)
  • 信箱地址 (不会被公开,但是不填也说不了话)
  • 网址 (这个不填也成)
Powered by MiniBoke v2.0.0.8 Build 0828

Copyright © 2008 开源吧!. All rights reserved.

粤ICP备07500939号