Database management systems are critical components of highly available appli- tions. To meet this need, many highly available database management systems have been developed. This paper describes the architectures that are internally used to construct these highly available databases. These architectures are examined from the perspective of both process redundancy and logical data redundancy. Process red- dancy is always required; it refers to the...