Monday, June 23, 2014

Understanding the anatomy of Exchange Server database files

Components and Functionality of Exchange Server Database Explored

Exchange Server is an infrastructure essential for running interactive communication system that administers following features:
  • Database for storing email messages along with other data.
  • Framework for transferring data from one mailbox to another.
  • Centralized medium for accessing data by number of distinct clients.
To understand the Exchange environment thoroughly, understanding the anatomy of Exchange Server database is must.

Understanding Private and Public Folders:

In Exchange, each storage group contains two stores, namely:
  1.   Mailbox Store
  2.    Public Folder Store.
Mailbox Store consists of priv1.edb and priv1.stm files. Priv1.edb holds messages, headers and text attachments whereas priv1.stm is a streaming file that contains formatted MIME data or internet attachments.

On the other hand, the Public Folder Store contains pub1.edb that stores information of contents stored in ‘Public Folder’ and pub1.stm files stores multi-media attachments for the files stored in respective folder.

For each EDB, there is corresponding STM file. Apart from EDB and STM, another type of file associated with Exchange Server is LOG files. LOG files contain information of every single activity that took place in Server environment such as addition, deletion, modification, etc.
Exchange Store

The procedure of storing and locating these files is discussed in upcoming section.

Understanding the Concept of B-tree Structure:

The procedure to place and locate the database files is known as ‘B-tree’. It offers speedy and efficient way of accessing database files. It represents hierarchical representation of database structure where root node is considered the first parent followed by the child nodes. In this structure each node can have only one parent but can have zero (0) or (n) number of child. The technique is a bit complex and technical as well, however the important part is that ‘Extensible Storage Engine’ stores EDB files following this structure.
EDB File Structure
Exchange Server when used with client web applications such as MS Outlook turns “mailbox” into complete “Personal Information Management” unit that stores emails, calendars, contacts, folder lists, tasks, notes. The information can be shared among other users that are available on network or domain.

How Exchange Server Works?

For understanding the basic functionality of Exchange Server environment, go through the below mentioned steps:
  • For sending data or email, the client must be connected to the Exchange Server while sending the message.
  • Server then stores the message at an appropriate location into database and then processes it.
  •  Afterwards, Server informs the message recipient about the arrival of message.
  • For retrieving the message, the recipient user connects to Server.
Exchange Server performs execution on messages through four components that are discussed further to understand the physical functionality of Exchange Server database and various components:
  1. Extensible Storage Engine (ESE)
  2. System Attendant
  3. Simple Mail Transfer Protocol
  4. Active Directory Service

Extensible Storage Engine:

The database engine used by Exchange Server is ESE, i.e., ‘Extensible Storage Engine’ which is used to manage internal structure of database file. The working criterion of ESE is discussed herein;
When an Outlook client sends a message to Exchange Server, the Server puts this information into memory and afterwards reports the event in the event log i.e., transaction log file of that particular database. The transaction log file is 1MB in size and when this capacity fills up, another file is automatically created with sequential address. Each transaction log file occupies same disk space no matter either empty or full.
Each email message or any other components that enters the mailbox stays in Random Access Memory (RAM) for varied duration of time before getting transferred to database file. The length of time during which the particular data components is maintained in the RAM depends upon following factors:

  • Available amount of Cache memory
  • Type of operation executed on data
  • Server’s time management procedure
Note: If Server crashes for any reasons before the data get recorded to the transaction file, the engine automatically reads out the transaction logs of that particular database file once the Server gets fixes. Server also compares the logs with the corresponding stored database files to check the integrity of data.  Any differences can be resolved by using this approach.

Additional Information on Transaction Log:
The transaction logs are useful because of several reasons that include:

  •  Can be used in disastrous recovery to track the components of data.
  •  Helpful in building backup of entire data if original backup files gets lost.
  • Useful in tracking user’s activities in Exchange environment.

MS Exchange System Attendant

‘Microsoft Exchange Server Attendant’ performs numerous functions from forwarding AD(Active Directory) communication to administering retention policies. The main file in System Attendant is MAD.exe and the location of this file is as mentioned below while some of the files are saved as .dll files.
C:\Program Files\Exchsrvr\Bin folder
Exchange System Attendant
In order to understand the working of System Attendant in a better way, it is important to know that MS Windows Server uses inherent computer account to assign permissions at machine level. This computer account must be a member of “Exchange Domain Servers global security group” to gain essential AD permissions. Ensuring that the existing computer account is an authorized member of “Exchange Domain Servers global security group” is the main responsibility of System Attendant.

Simple Mail Transfer Protocol:

SMTP in Exchange environment ensures accurate transaction of emails. It is a simple mail transmission protocol that makes sure that the email messages are successfully delivered to intended inbox. Exchange Server uses SMTP while sending \ receiving emails from outside sources.

Simple Mail Transfer Protocol
Active Directory:
The information on Exchange Server working platform is vast but for now, we will only discuss the basics about how Exchange Server is related to Active Directory (AD). In general, Exchange Server depends upon Active Directory for fundamental information details such as user authentication, Server configuration, email specifications, etc. MS Exchange uses AD for storing and sharing user information with Windows. The main component of the Exchange is AD driver that allow for creating, deleting, modifying and querying for (AD DS) i.e., “Active Directory Domain Services.”
Exchange Active Directory

Though the Microsoft Exchange Server environment is ample and vast, it is difficult to explain everything in just one write up. So, in this section we have thoroughly discussed about the basic elements and functional features of MS Exchange Server, and there is much to explore.


Post a Comment

Post a reply