The goal of high availability (HA) systems is to keep applications available when systems fail or are unavailable. To implement high availability, the solidDB HotStandby (HSB) component performs synchronous transaction replication between two servers: a primary server and a secondary server.
The primary server contains the active database. The secondary server contains an up-to-date, replica copy of the active database and can automatically replace the primary server if the primary server fails.
You can also use HSB to reduce downtime during hardware and software upgrades by leaving one server to run as the primary server while you upgrade the other.
The HSB component implements an internal state machine that makes the servers aware of the HA state. The HA state machine makes it possible to preserve database consistency. For example, when a server is in a SECONDARY state (that is, receiving a transaction stream from the primary server), direct updates to the secondary server are disabled.
However, the secondary server can respond to read-only requests (for example, SELECT statements) from clients, which allows you to spread some of your workload over the two servers. For more information, see Load balancing of read-only workloads.
The availability or states of the servers can be controlled with a watchdog program. solidDB provides a watchdog implementation called the solidDB High Availability Controller (HAC). Internally, HAC uses a set of HotStandby commands (HotStandby API) to control the server states, see HotStandby server states.
Note The term “hot standby" (two words, all lower case) refers to the general technique of having a second server ready to take over if the first server fails. "HotStandby" (one word, capitalized as shown) refers to the solidDB specific implementation of this general technique. The abbreviation for HotStandby is HSB.
Similarly, a watchdog refers to a technology that supervises the state of two databases and can switch the states, if necessary. HAC is the solidDB watchdog implementation. You can also use the HSB API to program your own watchdog application. The solidDB package includes a watchdog sample that you can use as a starting point.