@eugeneware/rocksdb
v3.1.1
Published
A Node.js RocksDB binding, a backend for LevelUP
Downloads
4
Readme
rocksdb
A Low-level Node.js RocksDB binding
If you are upgrading: please see UPGRADING.md.
rocksdb
is based on the LevelDown code, which was extracted from LevelUP and now serves as a stand-alone binding for LevelDB. The native code in rocksdb
is based on Facebooks fork of LevelDB.
It is strongly recommended that you use LevelUP in preference to rocksdb
unless you have measurable performance reasons to do so. LevelUP is optimised for usability and safety. Although we are working to improve the safety of the rocksdb
interface it is still easy to crash your Node process if you don't do things in just the right way.
Supported Platforms
- Linux (including ARM platforms such as Raspberry Pi and Kindle!)
- Mac OS
- Solaris (SmartOS & Nodejitsu)
- FreeBSD
- Windows
- See installation instructions for node-gyp dependencies here, you'll need these (free) components from Microsoft to compile and run any native Node add-on in Windows.
API
rocksdb
implements the same API of LevelDown.
Getting Support
There are multiple ways you can find help in using LevelDB in Node.js:
- IRC: you'll find an active group of LevelUP users in the ##leveldb channel on Freenode, including most of the contributors to this project.
- Mailing list: there is an active Node.js LevelDB Google Group.
- GitHub: you're welcome to open an issue here on this GitHub repository if you have a question.
Contributing
Level/rocksdb
is an OPEN Open Source Project. This means that:
Individuals making significant and valuable contributions are given commit-access to the project to contribute as they see fit. This project is more like an open wiki than a standard guarded open source project.
See the Contribution Guide for more details.
Prebuilt Binaries
rocksdb
uses prebuild
and prebuild-install
for handling prebuilt binaries. See this list of supported prebuilt platform binaries. When installing rocksdb prebuild-install
will install prebuilt binaries from GitHub if they exist and fallback to a compile step if they don't.
If you are working on rocksdb
and want to re-compile the C++ code it's enough to do npm install
.
If you don't want to use the prebuild
for the platform you are installing on, specify the --build-from-source
flag when you install.
Donate
To sustain Level
and its activities, become a backer or sponsor on Open Collective. Your logo or avatar will be displayed on our 28+ GitHub repositories, npm packages and (soon) our website. 💖
Backers
Sponsors
License
MIT © 2012-present Rod Vagg and Contributors.
rocksdb
builds on the excellent work of the LevelDB and Snappy teams from Google and additional contributors to the LevelDB fork by Facebook. LevelDB and Snappy are both issued under the New BSD License. A large portion of rocksdb
Windows support comes from the Windows LevelDB port (archived) by Krzysztof Kowalczyk (@kjk
). If you're using rocksdb
on Windows, you should give him your thanks!