Skip to content

Clojure bindings for RocksDB, an embeddable persistent key-value store for fast storage extending LevelDB

License

Notifications You must be signed in to change notification settings

flausenhaus/clj-rocksdb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

clj-rocksdb

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.

Installation

Add the following to the :dependencies section of your project.clj file:

[org.flausenhaus/clj-rocksdb "0.1.0-SNAPSHOT"]

Usage

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.

TODO

Remaining work prior to the Alpha release:

  1. Maven deployment for fusesource JNI RocksDB bindings -> migrate to Facebook's RocksDB Java bindings.
  2. Add test coverage -> focused generative testing via test.check.
  3. Add API's for RocksDB-specific features.
  4. Add benchmarks -> FB benchmarks, but additional benchmarks and graphs under typical server traffic considerations.
  5. Readme and rationale.

License

Copyright © 2014 Bhaskar Mookerji and the 1611 λ-Calculus Club.

Distributed under the Eclipse Public License, the same as Clojure.

About

Clojure bindings for RocksDB, an embeddable persistent key-value store for fast storage extending LevelDB

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published