Mission-Critical Microsoft Exchange 2000: Building Highly Available Messaging and Knowledge Management Systems

No discussion on disaster recovery or high availability best practices should begin before understanding the underlying technology for which these practices will be implemented. Microsoft Exchange Server is a complex application server that is not a monolithic architecture. There are many components of Exchange Server that interact and fulfill specific functions in order to deliver the complete system that is Exchange Server as we know it. In this chapter, I will look deeper into the Exchange database technology and neglect the rest of Exchange Server. This is due to the fact that, in my opinion, the focus for high availability for Exchange is on the database engine and how Exchange stores and recovers data. I will attempt to drill down deeper into some key technical concepts, such as Exchange database architecture and design, that will provide a basis for later topics around disaster recovery and reliability.
Key to our discussions around disaster recovery and high availability for Exchange 2000 Server are the differences in how user data is stored in Exchange 2000 compared to its predecessors. In previous versions of Exchange Server, a single monolithic information store was available to administrators for storing user data. This single store was comprised of two components a private information store and a public information store. From a file system perspective, the information store consisted of two files PRIV.EDB and PUB.EDB in versions of Exchange prior to Exchange 2000.
For Exchange Server 5.5 and previous versions, although limited in some ways, the information...