
nmdb - A multiprotocol network database manager
Alberto Bertogli (albertito@gmail.com)
---------------------------------------------------

nmdb is a network database that can use several protocols to communicate with
it's clients. At the moment, it supports TIPC, TCP and UDP.

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 persistent backend is optional, so you
can use the server only for cache queries, pretty much like memcached.

This source distribution is composed of several parts: the server called
"nmdb", the library and bindings for Python, D and NewLISP. Each one has a
separate directory, and is licensed individually. See the LICENSE file for
more information.


Documentation
-------------

Most documentation is in the nmdb and libnmdb manpages, and inside the doc/
directory. It is recommended that you read the User Guide (doc/guide.rst, or
the online version) to learn how to setup and use nmdb.

For additional documentation and resources, go to the project's website at
http://auriga.wearlab.de/~alb/nmdb.


How to compile, test and install
--------------------------------

General requisites:
 * libevent (http://www.monkey.org/~provos/libevent/).
 * qdbm (http://qdbm.sf.net/).

Requisites to enable TIPC:
 * Running Linux kernel >= 2.6.16 with TIPC enabled.
 * Kernel headers also >= 2.6.16. Alternatively, you can run a TIPC patched
     kernel, and have the tipc.h header somewhere in the include path.

To compile the server and the library, you can just use "make" on the top
level directory. To install them, use "make install". By default, all
protocols are enabled, including TIPC. To disable any of them, run something
like "make ENABLE_TIPC=0".

To run some tests, start the server and then go to the "tests/c/" directory.
Run "make.sh build" and then run any of the generated tests.

To compile the Python bindings, you need to have the library already
installed. Use "make python_install" at the top level directory to build and
install the modules. The module will be named "nmdb".


Where to report bugs
--------------------

Please report any bugs, suggestions, issues or comments to me, Alberto
Bertogli, at albertito@gmail.com.


