Fast in-process in-memory key-value store for node with snapshot and AOF persistance and CouchDB-style map-reduce views. Just make sure your data fits in memory, currently I wouldn't recommend divan for a dataset with more than 500K docs. You can add views via db.addView or by parsing a directory of design files via db.design(path). The design-files can either be .json files of couchdb-design-doc flavour, or .js files that export objects with map and reduce methods. Note that when using .js docs, map functions need to accept the emit function as the second parameter.