Level - Open Collective

Contribute


Become a financial contributor.

Financial Contributions

Backer

Support us with a monthly donation and help us continue our work.

Starts at

$0.50 USD / month

Sponsor

Become a sponsor with a monthly donation of at least $100.

Starts at

$100 USD / month

Donation

Make a custom one-time or recurring contribution.

Top financial contributors

Individuals

龙腾道

$225 USD since Dec 2018

GhG

$20 USD since Jul 2021

Incognito

$10 USD since May 2020

Budget


Transparent and open finances.

About


Level is a collection of Node.js modules for creating transparent databases. A solid set of primitives enable powerful databases to be built in userland. They can be embedded or networked, persistent or transient - in short, tailored to your needs.At the heart of Level are key-value databases that follow the characteristics of LevelDB. They support binary keys and values, batched atomic writes and bi-directional iterators that read from a snapshot in time. Entries are sorted lexicographically by keys which, when combined with ranged iterators, makes for a powerful query mechanism. Level combines idiomatic JavaScript interfaces like async iterators with Node.js interfaces like streams, events and buffers. It offers a rich set of data types through encodings and can split a database into evented sections called sublevels.

The underlying storage can be easily swapped by selecting a different database implementation, all sharing a common API and the same characteristics. Together they target a wide range of runtime environments: Node.js and Electron on Linux, Mac OS, Windows and FreeBSD, including ARM platforms like Raspberry Pi and Android, as well as Chrome, Firefox, Edge, Safari, iOS Safari and Chrome for Android. 

Where do I start? 

The level module is the recommended way to get started. It offers a persistent database that works in both Node.js and browsers, backed by LevelDB and IndexedDB respectively. Many alternatives are available. For example, memory-level is an in-memory database backed by a red-black tree. Visit awesome to discover more modules. See our project board to find out what we're working on. If you need help - technical, philosophical or other - feel free to open an issue in community or a more specific repository.