All Projects → Level → Rocksdb

Level / Rocksdb

Licence: other
Pure C++ Node.js RocksDB binding. An abstract-leveldown compliant store.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Rocksdb

Level Rocksdb
A convenience package bundling levelup and rocksdb.
Stars: ✭ 120 (-13.04%)
Mutual labels:  leveldb, rocksdb, level
pgrocks-fdw
Bring RocksDB to PostgreSQL as an extension. It is the first foreign data wrapper (FDW) that introduces LSM-tree into PostgreSQL. The underneath storage engine can be RocksDB. The FDW also serves for VidarDB engine, a versatile storage engine for various workloads. See the link for more info about VidarDB engine.
Stars: ✭ 101 (-26.81%)
Mutual labels:  rocksdb, leveldb
Ardb
A redis protocol compatible nosql, it support multiple storage engines as backend like Google's LevelDB, Facebook's RocksDB, OpenLDAP's LMDB, PerconaFT, WiredTiger, ForestDB.
Stars: ✭ 1,707 (+1136.96%)
Mutual labels:  leveldb, rocksdb
rippledb
Embeddable key-value database engine in pure TypeScript, based on LSM-Tree
Stars: ✭ 33 (-76.09%)
Mutual labels:  rocksdb, leveldb
Benchmarks
Benchmark of open source, embedded, memory-mapped, key-value stores available from Java (JMH)
Stars: ✭ 116 (-15.94%)
Mutual labels:  leveldb, rocksdb
Awesome
An open list of awesome Level modules and resources.
Stars: ✭ 204 (+47.83%)
Mutual labels:  leveldb, level
ssdb
SSDB - A fast NoSQL database, an alternative to Redis
Stars: ✭ 8,026 (+5715.94%)
Mutual labels:  rocksdb, leveldb
Electron Demo
Demo app loading LevelDB into an Electron context.
Stars: ✭ 79 (-42.75%)
Mutual labels:  leveldb, level
Fastonosql
FastoNoSQL is a crossplatform Redis, Memcached, SSDB, LevelDB, RocksDB, UnQLite, LMDB, ForestDB, Pika, Dynomite, KeyDB GUI management tool.
Stars: ✭ 1,001 (+625.36%)
Mutual labels:  leveldb, rocksdb
Levelup
A wrapper for abstract-leveldown compliant stores, for Node.js and browsers.
Stars: ✭ 3,960 (+2769.57%)
Mutual labels:  leveldb, level
level-test
Inject temporary and isolated level stores (leveldown, level-js, memdown or custom) into your tests.
Stars: ✭ 19 (-86.23%)
Mutual labels:  level, leveldb
Party
Open a leveldb handle multiple times
Stars: ✭ 132 (-4.35%)
Mutual labels:  leveldb, level
Level
Fast & simple storage. A Node.js-style LevelDB wrapper for Node.js, Electron and browsers.
Stars: ✭ 1,071 (+676.09%)
Mutual labels:  leveldb, level
Srchx
A standalone lightweight full-text search engine built on top of blevesearch and Go with multiple storage (scorch, boltdb, leveldb, badger)
Stars: ✭ 118 (-14.49%)
Mutual labels:  leveldb, rocksdb
Esp32 I2s Slm
Sound Level Meter with ESP32 and I2S MEMS microphone
Stars: ✭ 72 (-47.83%)
Mutual labels:  level
Unity Plane Mesh Splitter
Unity Plane Mesh Splitter
Stars: ✭ 71 (-48.55%)
Mutual labels:  level
Gun Level
LevelDB storage plugin for gunDB
Stars: ✭ 69 (-50%)
Mutual labels:  leveldb
Nci
Flexible, open source continuous integration server written in node.js
Stars: ✭ 103 (-25.36%)
Mutual labels:  leveldb
Zanredisdb
Yet another distributed kvstore support redis data and index. moved to: https://github.com/youzan/ZanRedisDB
Stars: ✭ 64 (-53.62%)
Mutual labels:  rocksdb
Level Browserify
No longer maintained: superseded by level v5.0.0.
Stars: ✭ 64 (-53.62%)
Mutual labels:  level

rocksdb

A low-level Node.js RocksDB binding. An abstract-leveldown compliant store.

level badge npm Node version Travis AppVeyor npm downloads Coverage Status JavaScript Style Guide Backers on Open Collective Sponsors on Open Collective

Table of Contents

Click to expand

Introduction

This module closely follows leveldown and implements the same API. The difference is that leveldown is a binding for LevelDB while rocksdb is a binding for RocksDB, Facebook's 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 optimized 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.

If you are upgrading: please see UPGRADING.md.

Supported Platforms

We aim to support at least Active LTS and Current Node.js releases, Electron 4.0.0, as well as any future Node.js and Electron releases thanks to N-API. Because N-API has an experimental status in node 6 and early 8.x releases, the minimum node version for rocksdb is 8.6.0.

The rocksdb npm package ships with prebuilt binaries for popular 64-bit platforms and is known to work on:

  • Linux (including ARM platforms such as Raspberry Pi and Kindle)
  • Mac OS
  • Solaris (SmartOS & Nodejitsu)
  • FreeBSD
  • Windows

When installing rocksdb, node-gyp-build will check if a compatible binary exists and fallback to a compile step if it doesn't. In that case you'll need a valid node-gyp installation.

If you don't want to use the prebuilt binary for the platform you are installing on, specify the --build-from-source flag when you install. If you are working on rocksdb itself and want to re-compile the C++ code it's enough to do npm install.

API

Please refer to leveldown for API documentation. The db.open(options, callback) method of rocksdb has a few additional options:

  • readOnly (boolean, default false): open database in read-only mode.
  • infoLogLevel (string, default null): verbosity of info log. One of 'debug', 'info', 'warn', 'error', 'fatal', 'header' or null (disable).

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.

Publishing

  1. Increment the version: npm version ..
  2. Push to GitHub: git push --follow-tags
  3. Wait for Travis and AppVeyor builds to complete
  4. Download prebuilds into ./prebuilds: npm run download-prebuilds
  5. Optionally verify loading a prebuild: npm run test-prebuild
  6. Optionally verify which files npm will include: canadian-pub
  7. Add changelog to the GitHub release
  8. Finally: npm publish

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 and npm packages. 💖

Backers

Open Collective backers

Sponsors

Open Collective 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!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].