nmdb - A multiprotocol network database
Aboutnmdb is a network database (dbm-style) for controlled networks that can use different protocols to communicate with its clients. It supports TIPC, TCP, UDP and SCTP.
It consists of an in-memory cache that saves (key, value) pairs, and a
persistent backend that stores the pairs on disk.
Both work combined, but the use of the backend is optional, so you can use the server only for cache queries, pretty much like memcached.
As memcached, it supports client-side distribution of queries, although replication is not implemented yet.
A library is provided to interact with the database and the cache in a very simple way. Python (both 2 and 3), D, NewLISP, Ruby, Bigloo Scheme, and Haskell bindings are also available and come with the distribution (although except for the Python bindings, the rest are not widely tested).
It's in the public domain (BOLA), completely open source, so you can run the software anywhere, and link the library with whatever you want.
Documentationnmdb comes with manpages for both the server and the client, as well as with the following documents:
- User guide (recommended starting point)
- Design information
- C library API
- Network protocol
- nmdb manpage (HTML may not be up to date)
- libnmdb manpage (HTML may not be up to date)
DownloadThe current version is 0.23 (released on 2010-10-10): all released files.
git clone git://blitiri.com.ar/nmdb
If you have any questions, suggestions, comments, please let me know.
Alberto Bertogli (email@example.com) - Last updated 30/Oct/2013