High availability and scalability

A successful production environment requires database systems that are always available, with minimal if any planned outages, and that can be scaled quickly and easily as business requirements change.

Businesses must provide continuous access to database resources during planned and unplanned outages. Planned outages include scheduled maintenance of software or hardware. Unplanned outages are unexpected system failures such as power interruptions, network outages, hardware failures, operating system or other software errors. In the event of a disaster, such as an earthquake or a tsunami, there is the possibility of extensive system failure.

Businesses want to avoid overloading a server in the system to ensure data availability and to prevent, for example, denial of service attacks.

Businesses also want to quickly and easily expand their systems as their business grows, during seasonal business peak periods, and for end-of-month or end-of-year processing.

Systems with one or more of the following abilities can be resilient to outages and can improve the availability of data:

Redundancy
The ability of a system to maintain secondary servers that are copies of the primary server and that can take over from the primary server if a failure occurs.
Failover
The ability of a system to transfer all of the workload from a failed server to another server.
Workload balancing
The ability of a system to automatically direct client requests to the server with the most workload capacity.
Scalability
The ability of a system to take advantage of additional resources, such as database servers, processors, memory, or disk space.
Minimized affect on maintenance
The ability to maintain all servers quickly and easily so that user applications are affected a little as possible.