NeDB

NeDB is a lightweight embedded document DBMS written in JavaScript. It supports Node.js, nw.js, Electron, and web browser environments. It is designed to be partially compatible with MongoDB's JSON-based query API.

History

In May 2013, Louis Chatriot began developing a lightweight embeddable and in memory database system that used a subset of the MongoDB API.

Query Interface

Custom API

The JavaScript API is a subset of MongoDB.

Stored Procedures

Not Supported

Indexes

AVL-Tree

NeDB supports indexing and helps provide a sufficient speed boost. It allows for indexing of any field, including those in nested documents. An index can be created at any point, even after data has been inserted, although it is most efficient if done when the application is started because the index is created synchronously. The time to create an index is quite fast so it doesn't impact startup time too much, for example it takes 35ms for a database containing 10,000 documents. Additionally, indexes allow for the database to perform fast reads and writes. The amount is approximately 5,000 writes and 25,000 reads per second.

Storage Architecture

In-Memory

The DBMS reads the entire database into memory. It can then flush out all changes on shutdown.

Data Model

Document / XML

System Architecture

Embedded

Storage Organization

Heaps

NeDB Logo
Website

https://github.com/louischatriot/nedb

Source Code

https://github.com/louischatriot/nedb

Tech Docs

https://github.com/louischatriot/nedb/wiki

Developer

Louis Chatriot

Country of Origin

FR

Start Year

2013

Project Type

Open Source

Written in

JavaScript

Supported languages

JavaScript

Inspired By

Redis

Compatible With

MongoDB

Licenses

MIT