Exchange Server邮件存储系统-原理篇
2008-05-27 00:00:00 来源:WEB开发网 闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁惧墽鎳撻—鍐偓锝庝簻椤掋垺銇勯幇顖毿撻柟渚垮妼椤粓宕卞Δ鈧獮濠勭磽閸屾艾鈧懓顫濋妸鈺佺疅缂佸顑欓崥瀣煕椤愵偅绶氱紓鍐╂礋濮婂宕掑▎鎴М濠电姭鍋撻梺顒€绉甸幆鐐哄箹濞n剙濡肩紒鎰殜閺屸€愁吋鎼粹€茬敖婵炴垶鎸哥粔鐢稿Φ閸曨垰鍐€妞ゆ劦婢€濞岊亪姊虹紒妯诲蔼闁稿海鏁诲濠氭晲婢跺﹤宓嗛梺缁樺姈缁佹挳宕戦幘璇叉嵍妞ゆ挻绋戞禍鐐叏濡厧浜鹃悗姘炬嫹

很多管理员都对日志文件非常的头疼,那么,微软在Exchange Server的数据库系统中引入Log文件的目的是什么呢?我们从以下几个方面来看:
1.作为一个企业级的邮件数据库系统,必须做到数据安全和完整性的万无一失。必须能够面对随时可能发生的崩溃和宕机,What happens if we crash? 要能够把数据的损失减少到最新程度。
2.必须提供高性能的邮件吞吐能力,对数据库中的邮件的事务操做在完成后必须马上被记录到存储介质上(事务的持久性)。
3.当灾难发生时,使用数据库的备份恢复必须要返回到灾难发生前一刻的数据库状态。
现在我们更进一步的来看一下,当我要修改邮箱中的内容时,被修改的内容首先被读取出来放到内存中。实际的修改发生在内存中,当修改完成后,这些内容必须被写回存储介质,才能表示一个修改成功地完成了。
对于这样的修改过程,在数据库级别上,我们叫做一个“事务”。我们知道,为了确保数据库的完整性和一致性,事务的操作是“原子级别”的。如果一个事务成功,那么标志着他所作的改变被永久的保存下来了;如果一个事务失败,系统必须回到事务开始之前的状态。
当系统在内存中完成修改时,事务并没有完成。如果这个时候宕机,数据库中保存的仍然是没有更改的内容。那么,怎么样确保在内存中完成的修改能够在第一时间写入到数据库呢(以达到数据库事务持久性的要求)?注意,这里的要是第一时间,也就是越快越好。如果我们直接向edb文件写入,无法做到最快,因为,edb 文件通常都很大,I/O系统在对大的文件进行随机写入操作时,会花费大量的时间在等待磁盘查找到合适的磁道和扇区,当系统繁忙时,这将会是一个瓶颈。因此,数据库系统使用日志文件,当内存中的更改完成后,首先写入到日志文件中。日志文件的尺寸很小,写入性能要远远优于庞大的edb文件。在写入完成后,事务也随之成功的保存在存储介质上了。Exchange Server 的数据库引擎会在后台把Log文件中的内容写入到数据库中,因为此时事务操作已经完成,即使此时掉电或者宕机,也不会使完成的事务遗失。这是日志文件的第一个作用:确保事务能够在第一时间保存到非易失存储介质上。(提供持久性Durable支持)
- ››Exchange Server 2010分层通讯簿(结构化通讯簿HA...
- ››Exchange2010恢复已删除的账号及邮箱
- ››邮件安全网关 冠群金辰KILL过滤网关
- ››邮件安全网关 Mirapoint RazorGate
- ››Exchange 2010 邮件分类管理的实现与技巧
- ››Exchange 2010功能替代传统备份方案
- ››邮件工具DreamMail 4.6.2.0 发布了
- ››邮件工具Thunderbird 3.0.3 正式发布
- ››邮件客户端Thunderbird 3.1 Alpha 1 发布
- ››Exchange Server 2007 系列之一:简介与部署
- ››Exchange Server 2007系列之二:管理工具简介
- ››Exchange Server 2007系列之三:邮箱的创建及基本配...
更多精彩
赞助商链接