一个问题:事务是怎样实现的?

wodexiaohao 2010-09-06 10:26:09
一般的关系数据库,如MSSQL,里面事务是如何实现的?是什么原理?

这个问题一直很迷惑,在网上搜中英文的资料也搜不到,期待高人指路,或是提供一些参考资源

谢谢!
...全文
173 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
wodexiaohao 2010-09-07
  • 打赏
  • 举报
回复
好了,没什么新回复了,结贴,多谢大家的推荐!
iamltd 2010-09-06
  • 打赏
  • 举报
回复
SQL技术内幕那一套书不错
有些比较底层的知识
xman_78tom 2010-09-06
  • 打赏
  • 举报
回复
事务的一致性和隔离性通过并发机制(锁机制和多版本控制)来保证——事务通过锁机制、多版本控制、事务隔离级别保证语句级和事务级的读一致性,并避免并发问题(丢失的更新、脏读、不可重复读、幻影记录),从而保证事务的一致性和隔离性。
wodexiaohao 2010-09-06
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 xman_78tom 的回复:]

对于 SQL SERVER
事务的原子性和持久性通过事务日志来保证——事务日志详细记录了事务中的操作,通过这些记录可以实现事务的回滚和前滚;即使在事务执行期间系统发生故障,SQL Server 也可以在下次实例启动时通过事务日志执行恢复过程,回滚那些未完成事务,从而确保事务的原子性,同时前滚那些已完成的事务,从而确保不会丢失已完成事务的修改,确保事务的持久性。

事务的一致性和隔离性通过并……
[/Quote]

多谢赐教!

能否推荐一些学习资料呢?
xman_78tom 2010-09-06
  • 打赏
  • 举报
回复
对于 SQL SERVER
事务的原子性和持久性通过事务日志来保证——事务日志详细记录了事务中的操作,通过这些记录可以实现事务的回滚和前滚;即使在事务执行期间系统发生故障,SQL Server 也可以在下次实例启动时通过事务日志执行恢复过程,回滚那些未完成事务,从而确保事务的原子性,同时前滚那些已完成的事务,从而确保不会丢失已完成事务的修改,确保事务的持久性。

事务的一致性和隔离性通过并发机制(锁机制和多版本控制)来保证——事务通过锁机制和多版本控制(事务隔离级别)保证语句级和事务级的读一致性。

LZ 要详细了解,应该首先研究一下事务日志机制和并发机制。
wodexiaohao 2010-09-06
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 hdhai9451 的回复:]

 事务处理系统的典型特点是具备ACID特征。ACID指的是Atomic(原子的)、Consistent(一致的)、Isolated(隔离的)以及Durable(持续的),它们代表着事务处理应该具备的四个特征:

原子性:组成事务处理的语句形成了一个逻辑单元,不能只执行其中的一部分

一致性:在事务处理执行之前和之后,数据是一致的。

隔离性:一个事务处理对另一个事务处理没有影响。
……
[/Quote]

ACID这些东西谁都能朗朗上口,但数据库是如何实现这些机制的,好像技术社区里分享讨论的不多
Andy__Huang 2010-09-06
  • 打赏
  • 举报
回复
 事务处理系统的典型特点是具备ACID特征。ACID指的是Atomic(原子的)、Consistent(一致的)、Isolated(隔离的)以及Durable(持续的),它们代表着事务处理应该具备的四个特征:

  原子性:组成事务处理的语句形成了一个逻辑单元,不能只执行其中的一部分

  一致性:在事务处理执行之前和之后,数据是一致的。

  隔离性:一个事务处理对另一个事务处理没有影响。

  持续性:当事务处理成功执行到结束的时候,其效果在数据库中被永久纪录下来。

事务的执行过程:
1.开始事务
2.提交事务(或回滚事务)

wodexiaohao 2010-09-06
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ws_hgo 的回复:]

http://blog.csdn.net/happyflystone/archive/2009/11/19/4834762.aspx
[/Quote]

非常感谢!
cbgn 2010-09-06
  • 打赏
  • 举报
回复
我自己合计的,用日志恢复嘛。
去看看去。

34,591

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧