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:
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
Which seem more suitable for Nodejs.
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.