LevelDB

LevelDB is a light-weight, single-purpose library for persistence with bindings to many platforms.

C++ LibraryNode.js Bindings

Features

Sorted by keys

By default, LevelDB stores entries lexicographically sorted by keys. The sorting is one of the main distinguishing features of LevelDB amongst similar embedded data storage libraries and comes in very useful for querying as we’ll see later.

Arbitrary byte arrays

Both keys and values are treated as simple arrays of bytes, so content can anything from ASCII strings to binary blobs.

Compressed storage

Google’s Snappy compression library is an optional dependency that can decrease the on-disk size of LevelDB stores with minimal sacrifice of speed. Snappy is highly optimized for fast compression and therefore does not provide particularly high compression ratios on common data.

Demo

Live Demo similar to the Node.js bindings made with Browserify and RequireBin by Bryce Baril

Highlights

Levelup

Levelup is a Node.js project that aims to provide a common, portable interface to a multitude of LevelDB forks such as Hyperdex. Check out the many flavours of LevelDB made available though this project.

Kernel-Like

Most databases are mysterious black-boxs. LevelDB provides a highly transparent, light-weight foundation for you to compose higher-level features on top of.

Embeddable & Networkable

LevelDB is embedded, but can be networked adding protocols such as http, tcp or udp to your process.

Features

LevelDB has a small set of primitives. This allows more complex features such as replication, map-reduce, pub-sub, etc. to be published as modules on package management systems such as npm or clibs . Competition leads to innovation!

Conference Talks

Upcoming

LevelDB (workshop)
Paolo Fragomeni at CampJS (May 23–26th 2014)
LevelDB (sessions and workshops)
Various camp counsellors at NodeConf (July 3rd–6th)
LevelDB + Node.js: A persistance renaissance (workshop)
Paolo Fragomeni at Forward.js (July 24–26th)

Supported platforms

Tools

Papers

Community

Visit us on irc.freenode.net in ##leveldb.

Do you have a detailed question? Check out Google Groups!

LevelDB LevelUP @leveldb