Web ProForums
Building Carrier Grade Applications Using a Highly Available Database Management System
Self Test Answers
- Availability = MTBF * 100 / (MTBF + MTTR) %
- PC availability = 10,000 * 100 / (10,000 + 8) = 99.92%
- Because the system availability requirements exceed the availability of any single piece of hardware. Therefore redundant hardware must be available to immediately replace hardware that fails or is taken out of service.
- When the allowed downtime is less than the time taken to restart an application stack, a standby application stack must be ready to take up operations immediately.
- Here are several answers: Applications must be written to be aware of application checkpointing. All applications must coordinate what and when to checkpoint. Guaranteeing global data consistency is very difficult. Applications must detect and deal with partial checkpoints that were occurring when the failure took place.
- A shared disk represents a single point of failure for the system which can often not be protected using techniques like RAID.
- The transaction log is a very dense form for recording database changes, while the database on disk is a complex data structure that is quite expensive to modify. Hence log writes are much faster than database writes.
- 1-Safe, in which applications continue as soon as the transaction commits at the primary. 2-Safe Received in which applications continue as soon as the transaction is received at the standby database. 2-Sae Durable, in which applications continue only after the transaction is committed at both databases.
- Data can be lost if the transaction has not been successfully transmitted to the standby database when the primary fails.
- Because in 1-Safe and 2-Safe Received architectures there is no guarantee that all transactions have committed at the standby database when it has to take over. Thus the standby database needs to pause activities while it drains the queue of pending transactions. This queue is of indeterminate length.
- Writes are slowest ina 2-Safe Durable system because all actions are synchronous, and the application must wait for completion of the transaction at both databases. Reads are fast because both databases are always identical, so applications can spread their reads over the two databases.


