Install Kyoto Cabinet
# http://torum.net/2010/01/kyotocabinet-alpha-release/ ulimit -u unlimited #zlib compression sudo apt-get install -y zlib1g-dev build-essential #lzma compression sudo apt-get install -y lzma liblzma-dev #lzo compression sudo apt-get install -y liblzo2-dev sudo apt-get remove -y libtokyocabinet-dbg libtokyocabinet-dev tokyocabinet-bin libtokyocabinet9 sudo apt-get install -y xz-utils #lua #sudo apt-get install -y build-essential lua5.2 liblua5.2-0 liblua5.2-0-dbg liblua5.2-dev sudo apt-get remove -y lua5.2 liblua5.2-0 liblua5.2-0-dbg liblua5.2-dev sudo apt-get remove -y lua50 liblua50 liblua50-dbg liblua50-dev sudo apt-get install -y lua5.1 liblua5.1 liblua5.1-dev # that was the fix sudo apt-get install -y zlib1g zlib1g-dev #/*** #apt-get install zlib-devel -y --force-yes # checking for zlib.h... no # configure: error: zlib.h is required #****/ #kyoto cabinet build mkdir -p /tmp/build cd /tmp/build version="1.2.76" # download wget http://fallabs.com/kyotocabinet/pkg/kyotocabinet-$version.tar.gz # extract tar xvzf kyotocabinet-$version.tar.gz # build and install cd kyotocabinet-$version ./configure --enable-zlib --enable-lzo --enable-lzma make sudo make install
Language bindings available
Lua: http://fallabs.com/kyotocabinet/luapkg/
Perl: http://fallabs.com/kyotocabinet/perlpkg/
Python3: http://fallabs.com/kyotocabinet/pythonpkg/
Python2: http://fallabs.com/kyotocabinet/pythonlegacypkg/
Ruby: http://fallabs.com/kyotocabinet/rubypkg/
Java: http://fallabs.com/kyotocabinet/javapkg/
Install Python Bindings for Kyoto Cabinet
cd /tmp wget http://fallabs.com/kyotocabinet/pythonlegacypkg/kyotocabinet-python-legacy-1.18.tar.gz tar xvfz kyotocabinet-python-legacy-1.18.tar.gz cd kyotocabinet-python-* sudo python setup.py install
Alternative
sudo port install kyotocabinet + lzma + lzo pip install-U http://fallabs.com/kyotocabinet/pythonlegacypkg/kyotocabinet-python-legacy-1.16.tar.gz pip install-U tornado
Limitations
Only one writer process is permitted at a time.
The number of database readers is however unlimited.
Notes
Comparison with LuxIO: http://luxio.sourceforge.net/
Comparison with Google LevelDB: http://maxpert.tumblr.com/post/8330476086/leveldb-vs-kyoto-cabinet-my-findings
LevelDB with Kyoto Tycoon: http://fallabs.com/blog/promenade.cgi?id=30
References
1. http://d.hatena.ne.jp/nashuaki/20110721/1311240883
2. http://skipperkongen.dk/2013/02/14/giving-kyotocabinet-a-go/
Leave a Reply