
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
MySQL数据库随着互联网的不断发展而被广泛应用到不同软件编程开发项目之中,而本文我们就通过案例分析来简单了解一下,MySQL数据库事务特性分析。
事务是数据库管理系统,在执行的过程中的一个逻辑单位,他由一个有限的数据库操作序列构成。
其中逻辑单位表示事务不可拆分,结果一致(成功或者失败)
而我们平常更多的将事务特指DML类型的操作,也就是对数据的增删改,而不是所有的数据库操作,例如其他的建表,删表等。
这里还要注意的一点是,事务是一个能力,并不是所有的数据库都支持事务的。在mysql中,只有官方自带的引擎只有NDBA和innodb支持事务。
针对事务,我们从四个方面进行探讨,也就是事务的四大特性---ACID
下边我们来分别谈谈这四个特性
A:Atomicity原子性
原子性是指啥呢?
原子Atomicity在希腊语中转化而来,本意就是不可再拆分。终结果要么就是全部成功,要么就是全部失败,不存在拆分开来,部分成功的场景,也就是是前文所说的逻辑单位。
D:Durability持久性
只要事务提交成功,那么事务对数据库的操作就是一个永久性的作用,不会存在提交后,由于系统的原因,导致操作的效果消失了。
I:Isolation隔离性
数据库存在多个事务同时操作时,应该保证事务时间互相不干扰,操作互相不影响。
如果像java语言中通过同步锁线性的操作,隔离性的问题肯定可以解决,但是这样操作就导致事务都是串行操作,效率低下,因此可以通过适当的调整隔离性,也就是事务互相之间的可见性的程度,来更好的提高性能。这就是隔离性所牵扯到一个隔离级别的问题,后边的博客中我们会讲到。
C:Consistency一致性
一致性相对于其他特性来说不容易理解,所以我们放到后来讲。
所谓的一致性指的是数据库中的约束不会被打破,这种约束指两部分,
一数据库的约束,如金额不能为负值。外键的约束
二业务的约束,金额的转出的总额和转入的总额必须要相等。
很多人觉得一致性和原子性的概念很容易混淆,原因就在这里。更不理解为什么说一致性的是AID三个特性的目的。所以更正确的理解应该是数据库事务操作后应该与约束保持一致,这就都理解通了。
所以特别要注意,这里的Consistentcy与CAP中的C不是一层含义。而是指数据库事务的操作,应该与业务要求保持一致。再啰嗦点,就是说,一致性是指数据要和预期的状态保持一致。因此在严格的意义上来说,一致性并不是数据库的特性,而是应用层(目的)的特性。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!请读者仅作参考。更多内容请加抖音太原达内IT培训学习了解。