質問

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.

他のヒント

I was asking my self the same question 1 year ago, and I went with EJDB.

I needed a portable local storage for a "local" backend.

I've tried it so far with the following configurations:

  • MacOSX + node.js + EJDB

  • Windows 7 + node.js + EJDB

  • Debian + node.js + EJDB

It worked fine for 10 users. I guess you could have more: i'm just guessing.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top