詳析郵件服務器郵件存儲和日志 |
發(fā)布時間: 2012/6/17 22:28:22 |
本文以數據庫的基本原理為基礎,分析了EXCHANGE SERVER的存儲系統(tǒng),并說明了各部分的作用。 一、IS服務和ESE的層次關系 IS服務是EXCHANGE服務器中重要的服務之一,它控制著對郵箱和PF的存儲操作請求,EXCHANGE服務器的存儲實際上是由ESE的數據庫引擎來管理的。這個ESE引擎是微軟專門為保存非關系型數據而開發(fā)的,目前在微軟的很多產品中都有廣泛的應用,如:AD數據庫、DHCP、WINS、SRS等等。 EXCHANGE的數據庫是由EDB文件、STM文件和LOG文件組成。在這些文件里,微軟使用了“B+樹”的內部數據結構。ESE的引擎的任務之一,就是當IS服務請求訪問數據庫的時候,把這些請求轉化為對內部數據結構的讀寫訪問。B+樹的特點是能夠對存儲在硬盤上的數據提供快速訪問能力。微軟利用“B+樹”作為ESE的后臺結構的主要原因,就是盡可能的提高訪問數據時I/O性能。當然,這些結構對于EXCHANGE STORE來說是透明的。 另外,作為一個數據庫系統(tǒng),ESE有責任提供事務級別的操作的支持,并維護數據庫的完整性和一致性。對數據庫系統(tǒng)而言,我們提到事務時,一般用ACID來描述事務的特點。 A--Atomic(原子的):事務必須是全或全無的操作,要么全部成功更新,要么全部不被更新 C--Consistent(一致的):一個成功提交的事務必須使數據庫處于一個一致的狀態(tài)。 I--Isolated(孤立的):所有未提交的更改都必須能夠和其他事務孤立。 D--Durable(持久的):當事務一旦提交,所做的更改必須存儲到穩(wěn)定的介質上,防止系統(tǒng)失敗導致的數據庫不一致。(此點非常重要!!) 二、EXCHANGE 2000/2003存儲系統(tǒng)的新特點 在EX5.5中,ESE的版本為ESE97,而在EX2000/2003里,ESE版本已經升級ESE98了。ESE引起在以下方面得到了改進: * I/O性能進一步提高和優(yōu)化 * 對日志文件增加了計算校驗操作 * 提高了ESEUTIL等工具的維護速度 而IS也在以下方面有了更新: * 在每個SERVER上提供多個SG支持 * 數據庫STM文件格式的引入,提高了INTERNET郵件的性能 * WSS的引入,用戶可以使用多種協(xié)議訪問數據庫 三、EDB和STM的關系 常有人問,EDB文件是數據庫,那STM文件是做什么用的?可以刪除嗎? 在EX5.5里,只有EDB文件,因為在EX5.5發(fā)布時,微軟主推的是內部 郵件系統(tǒng),因此其主要協(xié)議為MAPI,這是微軟的私有郵件西醫(yī),EDB文件是專門為此協(xié)議優(yōu)化過的。因此在EX5.5中,為了支持INTERNET郵件,必須在每次處理INTERNET郵件時,做一個格式轉換。這顯然帶來了性能的損失。 在EX2000里,微軟加大了對INTERNET郵件的支持,這就是STM文件的來源。MAPI格式是RPC和二進制標準的,而STM是純文本加上一些MIME編碼格式,這樣的區(qū)別使得它們不可能存儲在同一數據庫里。因此EX2000中,微軟開始使用EDB和STM兩個文件來分別保存兩種格式的郵件。并且在兩個文件之間建立了引用和關聯。對于用戶來說,它的郵箱實際上是跨越了EDB和STM文件共同組成的。另外,需要注意的是,EDB文件中還保留著用戶的郵箱結構。所以EDB文件更加重要。那么EDB和STM是怎么協(xié)同工作的呢?我們以幾個情景來分析之 本文出自:億恩科技【www.cmtents.com】 |