man dbbalancerd (Commandes) - program to provide database pooling, load sharing and write replication for databases
NAME
dbbalancerd - program to provide database pooling, load sharing and write replication for databases
SYNOPSIS
dbbalancerd [-r ] [-w ] [-d ] [-f config_file] [-p pidfile_directory]
DESCRIPTION
This manual page documents briefly the dbbalancerd command.
This manual page was written for the Debian GNU/Linux distribution because the original program does not have a manual page. Instead, it has documentation in HTML format located in the /usr/share/doc/dbbalancerd/manual.
dbbalancerd is a program that would sit in between database clients, like C, C++, TCL, Java JDBC, Perl DBI, etc programs and a database server. Currently the only server supported is PostgreSQL, but the architecture is open to embrace more servers in a future.
Connection Pooling
In this mode dbbalancerd will provide a pool of connections to your database. Clients need not be changed, and will make connections to the dbbalancerd daemon, which will re-use existing connections in a pool, or queue the request until the next pooled connection becomes available.
Load Balancing
When operating as a load balancer, dbbalancerd will maintain a pool of connections to multiple backend servers. Operation is otherwise similar to connection pooling.
To use multiple backend database servers, however, a method of replicating database changes is usually needed, which is why the write-replication mode is provided. Other methods of replication are of course equally valid in such an architecture.
Write Replication
This mode requires some changes to your application to use separate `writer' connections to dbbalancerd when writes are needed. These writes are then applied to all of the back end databases in parallel.
OPTIONS
These programs follow traditional Unix command-line syntax preceding each option with a dash (`-'). For a complete description see the HTML documentation.
- -r
- Run as a 'reader'.
- -w
- Run as a 'writer', for `replicate on write' mode.
- -d
- Run in debugging mode
- -f config_file
- Specify a non-default config file. The config file defaults to conf/DBBalancerConfig.conf.
- In the Debian GNU/Linux installation of DBBalancer the init script will start a dbbalancerd daemon process for each configuration file found in /etc/dbbalancer/conf.d
- -k socket_directory
- Specify a non-default directory for the unix sockets for PostgreSQL connections. The default is to use /tmp. On Debian the init script will start the daemons using /var/run/postgresql, which is the directory used by the Debian PostgreSQL package.
- -p pidfile_directory
- Specify a non-default directory for saving PID files. The default directory is /var/run. The Debian distribution overrides this on the command line and these files go in /var/run/dbbalancer.
- In the Debian GNU/Linux installation of DBBalancer the init script will start a dbbalancerd daemon process for each configuration file found in /etc/dbbalancer/conf.d. Filenames which end with `-w' will result in a writer process, otherwise it is a reader or reader/writer.
- -h
- Show summary of options.
SEE ALSO
dbbalancer.conf (5).
The programs are documented fully by the HTML manual available in /usr/share/doc/dbbalancerd/manual
KNOWN BUGS
This version of dbbalancerd cannot handle SSL connections either inward or outward. If presented with an inward SSL connection request this will refuse, and the connection should normally fall back to plain text authentication.
The unix socket (if used) is created with the current default permissions. You may need to run 'umask 0' prior to starting the dbbalancerd daemon so that all users can communicate with it.
AUTHOR
This manual page was written by Andrew McMillan <debian@mcmillan.net.nz> for the Debian GNU/Linux system (but may be used by others). Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts and no Back-Cover Texts.