Nim wrapper for RocksDB, a persistent key-value store for Flash and RAM Storage.
Go to file
Jacek Sieka 60faf6af17
std_shims -> stew
2019-07-07 12:11:27 +02:00
examples disable optimization that requires snappy 2018-08-15 20:08:03 -06:00
rocksdb use dynamic linking instead of dlopen on all Linux distros 2018-12-26 23:52:42 +02:00
tests tests refactoring 2019-01-20 11:45:52 +02:00
.appveyor.yml add .appveyor.yml; use build_nim.sh and build_rocksdb.sh 2019-06-18 17:27:18 +02:00
.gitignore initial commit 2018-01-27 11:34:54 +01:00
.travis.yml add .appveyor.yml; use build_nim.sh and build_rocksdb.sh 2019-06-18 17:27:18 +02:00
LICENSE-APACHEv2 fix license files 2018-11-14 12:57:17 -06:00
LICENSE-MIT fix license files 2018-11-14 12:57:17 -06:00
README.md License update to respect original repo (#16) 2019-01-03 14:04:11 +01:00
nim.cfg Add a basic higher-level API 2018-06-25 15:59:23 +03:00
rocksdb.nim std_shims -> stew 2019-07-07 12:11:27 +02:00
rocksdb.nimble std_shims -> stew 2019-07-07 12:11:27 +02:00

README.md

Nim-RocksDB

Build Status (Travis) Windows build status (Appveyor) License: Apache License: MIT Stability: experimental

A Nim wrapper for Facebook's RocksDB, a persistent key-value store for Flash and RAM Storage.

Current status

Nim-RocksDB currently provides a wrapper for the low-level functions of RocksDB

Requirements

A RocksDB installation that provides librocksdb.so. This means that on Debian, and possibly on other Linux distros, you need "librocksdb-dev", not just a versioned "librocksdbX.Y" package that only provides librocksdb.so.X.Y.Z.

Usage

See simple_example

Future directions

In the future, Nim-RocksDB might provide a high-level API that:

  • is more in line with Nim conventions (types in CamelCase),
  • automatically checks for errors,
  • leverage Nim features like destructors for automatic resource cleanup.

Contribution

Any contribution intentionally submitted for inclusion in the work by you shall be dual licensed as above, without any additional terms or conditions.

License

Wrapper License

This repository is licensed and distributed under either of

or

at your option. This file may not be copied, modified, or distributed except according to those terms.

Dependency License

RocksDB is developed and maintained by Facebook Database Engineering Team. It is built on earlier work on LevelDB by Sanjay Ghemawat (sanjay@google.com) and Jeff Dean (jeff@google.com)

RocksDB is dual-licensed under both the GPLv2 and Apache License, Version 2.0, (LICENSE-APACHEv2 or http://www.apache.org/licenses/LICENSE-2.0). You may select, at your option, one of the above-listed licenses.