databasenode.jssqliteembedded-database

Embedded Storage Alternatives for NodeJS


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.


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.