**NeDB is not intended to be a replacement of large-scale databases such as MongoDB!** Its goal is to provide you with a clean and easy way to query data and persist it to disk, for applications that do not need lots of concurrent connections, for example a <ahref="https://github.com/louischatriot/braindead-ci"target="_blank">continuous integration and deployment server</a>.
**NeDB is not intended to be a replacement of large-scale databases such as MongoDB!** Its goal is to provide you with a clean and easy way to query data and persist it to disk, for web applications that do not need lots of concurrent connections, for example a <ahref="https://github.com/louischatriot/braindead-ci"target="_blank">continuous integration and deployment server</a> and desktop applications built with <ahref="https://github.com/rogerwang/node-webkit"target="_blank">Node Webkit</a>.
As such, it was not designed for speed. That said, it is still pretty fast on the expected datasets (10,000
documents). On my machine (3 years old, no SSD), with a collection
As such, it was not designed for speed. That said, it is still pretty fast on the expected datasets, especially if you use indexing. On my machine (3 years old, no SSD), with a collection
containing 10,000 documents:
* An insert takes **0.14 ms** without indexing, **0.16 ms** with indexing
* A read takes **6.4 ms** without indexing, **0.02 ms** with indexing
* An update takes **11 ms** without indexing, **0.22 ms** with indexing
* A deletion takes **10 ms** without indexing, **0.14ms** with indexing
You can run the simple benchmarks I use by executing the scripts in the `benchmarks` folder. They all take an optional parameter which is the size of the dataset to use (default is 10,000).
You can run the simple benchmarks I use by executing the scripts in the `benchmarks` folder. Run them with the `--help` flag to see how they work.
### Memory footprint
A copy of the whole database is kept in memory. This is not much on the