优炫数据库异步提交详解
异步提交是一个允许事务能更快完成的选项,代价是在数据库崩溃时最近
的事务会丢失。在很多应用中这是一个可接受的交换。
由于事务提交通常是同步的:服务器等到事务的
记录被刷写到持久存
储之后才向客户端返回成功指示。因此客户端可以确保那些报告已被提交的事
务确会被保存,即便随后马上发生了一次服务器崩溃。但是,对于短事务来说
这种延迟是其总执行时间的主要部分。选择异步提交模式意味着服务器将在事
务被逻辑上提交后立刻返回成功,而此时由它生成的
记录还没有被真正地
写到磁盘上。这将为小型事务的生产力产生显著地提升。
异步提交会带来数据丢失的风险。在向客户端报告事务完成到事务真正被
提交(即能保证服务器崩溃时它也不会被丢失)之间有一个短的时间窗口。因
此如果客户端将会做一些要求其事务被记住的外部动作,就不应该用异步提交。
例如,一个银行肯定不会使用异步提交事务来记录一台
的现金分发。但是
在很多情境中不需要这种强的保证,例如事件日志。
使用异步提交带来的风险是数据丢失,而不是数据损坏。如果数据库可能
北京优炫软件股份有限公司 www.uxsino.com
评论