clj-rocksdb provides idiomatic Clojure bindings (via the JNI) to RocksDB, Facebook's embedded, persistent key-value store based on Google's LevelDB. LevelDB and RocksDB share the same interface, so the bindings here equally applicable to that project and are largely a refactoring of Factual's clj-leveldb.
Add the following to the :dependencies
section of your project.clj
file:
[org.flausenhaus/clj-rocksdb "0.1.0-SNAPSHOT"]
This is currently an early-commit, work-in-progress, so don't use this yet. This project relies on a locally-bulit OS X binary of RocksDBJNI from Fusesouce.
Remaining work prior to the Alpha release:
- Maven deployment for fusesource JNI RocksDB bindings -> migrate to Facebook's RocksDB Java bindings.
- Add test coverage -> focused generative testing via test.check.
- Add API's for RocksDB-specific features.
- Add benchmarks -> FB benchmarks, but additional benchmarks and graphs under typical server traffic considerations.
- Readme and rationale.
Copyright © 2014 Bhaskar Mookerji and the 1611 λ-Calculus Club.
Distributed under the Eclipse Public License, the same as Clojure.