In this article, we examine the reasons high availability is so necessary, and why it is so difficult to achieve. We also describe solutions for minimizing or eliminating the amount of time data is unavailable. In order to change one of the components, you must compensate by altering one of the others. For example, to shorten the time a project will take, there must be additional resources or less scope. This same model can be applied to database availability.
Size refers to the amount of data that the database or database object stores.
Downtime is the amount of time the database is inaccessible to users or applications. Resources refer to things such as CPU cycles, memory and, as we will discuss later, advanced technologies. Just as shortening the length of a project requires compensating with resources or scope adjustments, in order to decrease the amount of downtime for a database or database object, there must be a comparable increase in resources or a decrease in size. Database Administrators struggle daily with the art of balancing the three components. One must look at each of the components to understand why high availability of databases is becoming more difficult every day.