nmdb
NAME
nmdb - A multiprotocol network database managerSYNOPSYS
nmdb [-d dbpath] [-l lower] [-L upper][-t tcpport] [-T tcpaddr]
[-u udpport] [-U udpaddr]
[-s sctpport] [-S sctpaddr]
[-c nobj] [-o fname] [-f] [-p] [-h]
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 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 http://blitiri.com.ar/p/nmdb.
OPTIONS
- -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.
- -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.
- -L upper
- Upper TIPC port number to bind to. Defaults to the same value lower is defined. Useful mainly for passive mode.
- -t tcpport
- TCP listening port. Defaults to 26010.
- -T tcpaddr
- IP listening address for TCP. Defaults to all local addresses.
- -u udpport
- UDP listening port. Defaults to 26010.
- -U udpaddr
- IP listening address for UDP. Defaults to all local addresses.
- -s sctpport
- SCTP listening port. Defaults to 26010.
- -S sctpaddr
- IP listening address for SCTP. Defaults to all local addresses.
- -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.
- -o fname
- Enable logging into the given file name. By default, output the debugging information to stdout.
- -f
- Stay in the foreground, don't fork. Useful for debugging. The default is to fork.
- -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 not start an active and a passive server in the same machine (it misbehaves under some circumnstances, and doesn't make much sense anyway).
- -h
-
Show a brief help.
INVOCATION EXAMPLE
To run the server with the database at /var/lib/nmpc-db: nmpc -d /var/lib/nmpc-dbBe 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.
SEE ALSO
libnmdb(3), TIPC (http://tipc.sf.net), qdbm(3).AUTHORS
Created by Alberto Bertogli (albertito@blitiri.com.ar).CONTACT
If you want to report bugs, or have any questions or comments, just let me know at albertito@blitiri.com.ar.
Alberto Bertogli (albertito@blitiri.com.ar) - Last updated 15/Mar/2009