It does not matter to a user why
his or her database request failed. Whether a transaction timed out
because of bad performance, or a component of the solution failed,
or an administrator has taken the database offline to perform maintenance,
the result is the same to the user.
The database is unavailable
to process requests.
Strategies for improving the availability of your database solution
include:
- Redundancy
- Having secondary copies of each component of your solution that
can take over workload in the event of failure.
- System monitoring
- Collecting statistics about the components of your solution to
facilitate workload balancing or detecting that components have failed.
- Load balancing
- Transferring some workload from an overloaded component of your
solution to another component of your solution that has a lighter
load.
- Failover
- Transferring all workload from a failed component of your solution
to a secondary component.
- Maximizing performance
- Reducing the chance that transactions take a very long time to
complete or time out.
- Minimizing the impact of maintenance
- Scheduling automated maintenance activities and manual maintenance
activities so as to impact user applications as little as possible.