Tokyo Cabinet

Tokyo Cabinet 是一个DBM的实现。这里的数据库由一系列key-value对的记录构成。key和value都可以是任意长度的字节序列,既可以是二进制也可以是字符串。这里没有数据类型和数据表的概念。

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

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

As for database of fixed-length array, records are stored with unique natural numbers. It is impossible to store two or more records with a key overlaps. Moreover, the length of each record is limited by the specified length. Provided operations are the same as ones of hash database.
对于定长的数组,记录按自然数来标记存储。不能存储key相同的两条或更多记录。另外,每条记录的长度受到限制。读取方法和hash表的一样。

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

Tokyo Tyrant

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

 

寻找Tokyo Cabinet相关的软件包

  1. keke@keke-VirtualBox ~ $ sudo apt-cache search  Tokyo Cabinet 
  2. [sudo] password for keke:  
  3. libghc6-tokyocabinet-dev - Haskell binding of Tokyo Cabinet 
  4. libghc6-tokyocabinet-doc - Haskell binding of Tokyo Cabinet; documentation 
  5. libghc6-tokyocabinet-prof - Haskell binding of Tokyo Cabinet; profiling library 
  6. libtokyocabinet-dbg - Tokyo Cabinet Database Libraries [runtime] 
  7. libtokyocabinet-dev - Tokyo Cabinet Database Libraries [development] 
  8. libtokyocabinet-perl - Perl Binding of Tokyo Cabinet 
  9. libtokyocabinet-ruby-doc - Documentation for Ruby Binding of Tokyo Cabinet Database 
  10. libtokyocabinet-ruby1.8 - Ruby Binding of Tokyo Cabinet Database (ruby 1.8) 
  11. libtokyocabinet-ruby1.9.1 - Ruby Binding of Tokyo Cabinet Database (ruby 1.9.1) 
  12. libtokyocabinet8 - Tokyo Cabinet Database Libraries [runtime] 
  13. libtokyotyrant-dev - Tokyo Tyrant development files 
  14. libtokyotyrant3 - Tokyo Tyrant runtime libraries 
  15. php5-tokyo-tyrant - PHP interface to Tokyo Cabinet's network interface, Tokyo Tyrant 
  16. python-pytyrant - Pure Python client implementation of the Tokyo Tyrant protocol 
  17. tokyocabinet-bin - Tokyo Cabinet Database Utilities 
  18. tokyocabinet-doc - Tokyo Cabinet Database Documentation 
  19. tokyotyrant - Tokyo Tyrant: network interface to Tokyo Cabinet 
  20. tokyotyrant-dbg - Tokyo Tyrant debugging symbols 
  21. tokyotyrant-doc - Tokyo Tyrant documentation 
  22. tokyotyrant-utils - Tokyo Tyrant utilities 

寻找和tokyo tyrant相关的软件包

  1. keke@keke-VirtualBox ~ $ sudo apt-cache search tokyo tyrant 
  2. collectd-core - statistics collection and monitoring daemon (core system) 
  3. libtokyotyrant-dev - Tokyo Tyrant development files 
  4. libtokyotyrant3 - Tokyo Tyrant runtime libraries 
  5. php5-tokyo-tyrant - PHP interface to Tokyo Cabinet's network interface, Tokyo Tyrant 
  6. python-pytyrant - Pure Python client implementation of the Tokyo Tyrant protocol 
  7. tokyotyrant - Tokyo Tyrant: network interface to Tokyo Cabinet 
  8. tokyotyrant-dbg - Tokyo Tyrant debugging symbols 
  9. tokyotyrant-doc - Tokyo Tyrant documentation 
  10. tokyotyrant-utils - Tokyo Tyrant utilities 

 

 

  1. keke@keke-VirtualBox ~ $ sudo apt-cache show tokyotyrant 
  2. Package: tokyotyrant 
  3. Priority: optional 
  4. Section: universe/misc 
  5. Installed-Size: 304 
  6. Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> 
  7. Original-Maintainer: Örjan Persson <orange@fobie.net> 
  8. Architecture: i386 
  9. Version: 1.1.40-4 
  10. Depends: libc6 (>= 2.4), liblua5.1-0, libtokyocabinet8 (>= 1.4.37), libtokyotyrant3 (= 1.1.40-4), adduser, lsb-base (>= 3.0-6) 
  11. Recommends: tokyotyrant-utils 
  12. Filename: pool/universe/t/tokyotyrant/tokyotyrant_1.1.40-4_i386.deb 
  13. Size: 71936 
  14. MD5sum: 5316dae38c0c8cfe7663e8813a8f2473 
  15. SHA1: d56df83b7fb5762a2be07fb651d33e5d9a034031 
  16. SHA256: a033dafeea4575eccd61211692e7b43dff51950531552f0dc4cd264b35111616 
  17. Description: Tokyo Tyrant: network interface to Tokyo Cabinet 
  18.  Tokyo Tyrant is a network interface to the DBM Tokyo Cabinet. You might bother 
  19.  in the case where multiple processes share the same database or where remote 
  20.  processes access the database. Thus, Tokyo Tyrant is provided for concurrent 
  21.  and remote connections to Tokyo Cabinet. 
  22.  . 
  23.  This is the Tokyo Tyrant server package. 
  24. Homepage: http://1978th.net/tokyotyrant/ 
  25. Bugs: https://bugs.launchpad.net/ubuntu/+filebug 
  26. Origin: Ubuntu