.TH nmdb 1 "11/Sep/2006" .SH NAME nmdb - A multiprotocol network database manager .SH SYNOPSYS nmdb [-d dbpath] [-l lower] [-L upper] [-t tcpport] [-T tcpaddr] [-u udpport] [-U udpaddr] [-s sctpport] [-S sctpaddr] [-c nobj] [-f] [-p] [-h] .SH DESCRIPTION nmdb is a network database that can use different protocols to communicate with its clients. At the moment, it supports TIPC, TCP, UDP and SCTP. It can also be used as a generic caching system (pretty much like memcached), because it has a very fast cache that can be used without impacting on the database. The database is accessed with the .BR libnmdb (3) library. Consult its manual page for programming information. Python bindings are also available. For additional documentation, go to the project's website at .IR http://auriga.wearlab.de/~alb/nmdb . .SH OPTIONS .TP .B "-d dbpath" Indicate the path to the database file to use. It will be created if it doesn't exist. If a name is not provided, "database" will be used. .TP .B "-l lower" Lower TIPC port number to bind to. Defaults to 10. It's useful if you want to run more than one nmdb instance in the same TIPC cluster. .TP .B "-L upper" Upper TIPC port number to bind to. Defaults to the same value .B lower is defined. Useful mainly for passive mode. .TP .B "-t tcpport" TCP listening port. Defaults to 26010. .TP .B "-T tcpaddr" IP listening address for TCP. Defaults to all local addresses. .TP .B "-u udpport" UDP listening port. Defaults to 26010. .TP .B "-U udpaddr" IP listening address for UDP. Defaults to all local addresses. .TP .B "-s sctpport" SCTP listening port. Defaults to 26010. .TP .B "-S sctpaddr" IP listening address for SCTP. Defaults to all local addresses. .TP .B "-c nobj" Sets the maximum number of objects the cache will held, in thousands. Note that the size of the memory used by the cache layer depends on the size of the object exclusively. It defaults to 128, so the default cache size has space to hold 128 thousand objects. .TP .B "-f" Stay in the foreground, don't fork. Useful for debugging. The default is to fork. .TP .B "-p" Enable passive mode, where the server never replies requests, but acts upon them. It's useful when you want to have a live database mirror, in case the main node fails. It still requires a manual restart to became active, but at least you have a recent up-to-date database. Be aware that it's not widely tested (although it should work fine), and do .I not start an active and a passive server in the same machine (it misbehaves under some circumnstances, and doesn't make much sense anyway). .TP .B "-h" Show a brief help. .SH INVOCATION EXAMPLE To run the server with the database at /var/lib/nmpc-db: .B "nmpc -d /var/lib/nmpc-db" Be .I very careful not to start more than one nmdb instance on the same port at the same time, even if it's on different machines. TIPC allows you to bind the same port many times (and it's a very good feature), and all of them will get the messages, which will result in several answers, which will confuse the clients. This behaviour is different from the normal IP networking, where you can't bind a port twice. .SH SEE ALSO .BR libnmdb (3), .B TIPC (http://tipc.sf.net), .BR qdbm (3). .SH AUTHORS Created by Alberto Bertogli (albertito@gmail.com). .SH CONTACT To get in touch with developers and users, join the mailing list at http://lists.auriga.wearlab.de/cgi-bin/mailman/listinfo/nmdb-devel or just send an email to nmdb-devel@lists.auriga.wearlab.de.