Pouchdb: Comparison: PouchDB vs. NeDB

Created on 6 Jul 2015  路  6Comments  路  Source: pouchdb/pouchdb

Hello,

Can anyone tell me what is the difference between PouchDB and NeDB?

NeDB can be found here:

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

Thanks,

Most helpful comment

It's probably worth noting, at the risk of sounding quite rude, that PouchDB is significantly better maintained than NeDB as there's an actual group of people working on it. NeDB is largely a one-man project and as of my comment, the last commit (just under a year ago) was just adding a cute cat pic to the read me asking for donations. That's not to say that he doesn't deserve to be paid for creating a high-quality product, but it's certainly not the same scale of organization as PouchDB, and I think support/community is certainly an important factor to consider when choosing a dependency. At this point it seems that NeDB is mostly kept alive because electron happens to mention it on their site.

(ps I know this issue is pretty old but it does show up on google when searching for pouchdb vs nedb :P)

All 6 comments

I dont have experience with NeDB so only making a comparison by reading the README, but from a brief look it looks like the main differences are PouchDB does synchronisation between the server and the browser, and that PouchDB was designed with the browser in mind. NeDB looks like it has a slightly more featureful querying probably more along the lines of http://nolanlawson.github.io/pouchdb-find/

Cheers

Here is a performance bench comparing NoSQL databases written in pure javascript (finaldb, lowdb, memory, nedb, nosql, pouchdb, tingodb).

Bench source code is available here:
https://github.com/ezpaarse-project/dbbench

Here are the results of the bench with nice graphs:
https://docs.google.com/spreadsheets/d/1oU6YG_7JK6_qBuTNdkXRw6GGiX3vQpzg3f47t84rJAA/edit#gid=1556857962

Interesting stuff! What is "NoSQL" in this case?

BTW PouchDB will definitely have overhead compared to the other databases, because it stores everything in a "revision" model where the history of every document is preserved. (Think of it as git vs just overwriting files.) Hence it tends to have overhead, even for gets/puts.

Interesting stuff! What is "NoSQL" in this case?

Looks like it's https://github.com/petersirka/nosql

It's probably worth noting, at the risk of sounding quite rude, that PouchDB is significantly better maintained than NeDB as there's an actual group of people working on it. NeDB is largely a one-man project and as of my comment, the last commit (just under a year ago) was just adding a cute cat pic to the read me asking for donations. That's not to say that he doesn't deserve to be paid for creating a high-quality product, but it's certainly not the same scale of organization as PouchDB, and I think support/community is certainly an important factor to consider when choosing a dependency. At this point it seems that NeDB is mostly kept alive because electron happens to mention it on their site.

(ps I know this issue is pretty old but it does show up on google when searching for pouchdb vs nedb :P)

I think it's worth pointing out that the NeDB readme states in the Pull Request section: "Important: I consider NeDB to be feature-complete, i.e. it does everything I think it should and nothing more. As a general rule I will not accept pull requests anymore, except for bugfixes (of course) or if I get convinced I overlook a strong usecase. Please make sure to open an issue before spending time on any PR."

So, it's lack of maintenance is because, short of discovered bugs or a very strong case for an addition/modification, the developer considers the project complete and stable.

Personally, NeDB has become my go-to for most projects. The sole exception I've, thus far, had was an app that had 2.4 million rows of data. NeDB worked, but it created significant lag so I switched to SQLite and made calls to a backend handler for DB interaction.

I considered PouchDB, and it definitely looks like a better alternative for very large datasets ... but I think I'd still go with SQLite in those cases. For most things, according to the benchmarks posted by @user8614, NeDB appears to perform as well or better.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

xub picture xub  路  4Comments

leorsida picture leorsida  路  4Comments

DiamondYuan picture DiamondYuan  路  4Comments

gr2m picture gr2m  路  5Comments

brodybits picture brodybits  路  4Comments