Embedded Storage Alternatives for NodeJS
database, embedded-database, node.js, sqlite
Solution
Of the noted databases, the most well supported by Node.js is leveldb, via the `level` module. Just
npm install level
for everything you need to get started. `level` is a metapackage that bundles levelUP (exposes the leveldb methods) and `levelDOWN` (compiles and provides an interface to leveldb). See the `levelUP` documentation for the `exports` provided by `level`.
It's worth noting that this is a suitable solution only if your application will be running on a single machine, since the database is saved to the filesystem. If you scale to multiple servers you'll need to move away from an embedded datastore.
Problem
I need to implement a simple key-value storage for a nodejs application, for some environmental restrictions I can only use an embedded storage solution, meaning I can't use engines that work as a separate server/process (E.g. Mongodb, mysql, etc). For some corporate restrictions I can't use sqlite, which was the first option that came to mind. I investigated the following alternatives to sqlite: - leveldb (https://code.google.com/p/leveldb/) - hamsterdb (http://hamsterdb.com/) I don't have any experience working with these engines, can somebody provide notes or suggentions on these? And of course any other alternative for me to check out is greatly welcomed. Edit: With further investigation I found - NEDB (https://github.com/louischatriot/nedb) - EJDB (https://github.com/Softmotions/ejdb-node) Which seem more suitable for Nodejs.