RefDB uses a three-tier architecture (see Figure 1.1, “RefDB three-tier architecture”), consisting of clients on the workstation side, and an application server as well as the SQL database server on the server side.
Optionally you may use an internal database engine instead of the external SQL server, resulting in a simpler two-tier setup.
The data storage proper is done by a SQL database engine. Currently MySQL and PostgreSQL are supported as external database engines. Additionally, an internal SQL engine based on SQLite is available, which allows data storage in a single, operating-system and architecture-independent file without any administration overhead.
By default, incoming data are converted to UTF-8 and stored as such (see Figure 1.2, “RefDB character encoding support”). Outgoing data can be converted to other character encodings if needed. However, RefDB can be set up in a very flexible manner to accommodate other character encoding requirements as long as they are supported by your operating system.
The server can run as a daemon in a non-privileged account if security concerns require this. Besides, users can start it as a standalone application on demand. As just about everything is configurable, a thoughtful setup will allow to run several copies of the server on the same box in parallel.