RocksDB, pyrocksdb 的安裝與使用

std1984發表於2014-08-19
環境:Ubuntu 12.04,  RocksDB, pyrocksdb

RocksDB是FB基於google的LevelDB基礎上改良的鍵值對資料庫,類似於memcache和redis,支援RAM, Flash, Disk儲存,寫速度快過LevelDB 10倍左右, 聽起來有點高大上的感覺,可參考。不管這麼多了,先安裝試用下

安裝步驟:

rocksdb安裝:


sudo git clone
cd rocksdb


vi Makefile
將這一行 OPT += -O2 -fno-omit-frame-pointer -momit-leaf-frame-pointer
修改為 OPT += -O2 -lrt -fno-omit-frame-pointer -momit-leaf-frame-pointer

在~/.bashrc中增加 export LD_PRELOAD=/lib/x86_64-linux-gnu/librt.so.1,並使變數生效source ~/.bashrc

(這兩步用於解決這個問題 " undefined symbol: clock_gettime")



sudo
git checkout 2.8.fb
sudo make shared_lib

cd ..
sudo chown jerry:jerry rocksdb -Rf
cd rocksdb

sudo cp librocksdb.so /usr/local/lib
sudo mkdir -p /usr/local/include/rocksdb/
sudo cp -r ./include/* /usr/local/include/

(這三步解決這個問題 “ Fatal error: rocksdb/slice.h: No such file or directory ")



pyrocksdb安裝:
sudo 
pip install "Cython>=0.20"
sudo pip install git+git://github.com/stephan-hof/pyrocksdb.git@v0.2.1

至些安裝成功
進入pyrocksdb環境

jerry@hq:/u01/rocksdb$ python
Python 2.7.3 (default, Sep 26 2013, 20:03:06)
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import rocksdb
>>> 
db = rocksdb.DB("test.db", rocksdb.Options(create_if_missing=True))
>>> db.put(b"key1", b"v1")
>>> 
db.put(b"key2", b"v2")
>>> db.get(b"key1")

'v1'














來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16582684/viewspace-1253841/,如需轉載,請註明出處,否則將追究法律責任。