首页系统综合问题经常说的数据库事务四大特性ACID,你懂它们分别什么含义吗?

经常说的数据库事务四大特性ACID,你懂它们分别什么含义吗?

时间2023-03-30 04:16:00发布分享专员分类系统综合问题浏览195

今天小编给各位分享acid的知识,文中也会对其通过经常说的数据库事务四大特性ACID,你懂它们分别什么含义吗?和数据库的事务处理必须满足ACID原则,ACID分别是指什么等多篇文章进行知识讲解,如果文章内容对您有帮助,别忘了关注本站,现在进入正文!

内容导航:

  • 经常说的数据库事务四大特性ACID,你懂它们分别什么含义吗?
  • 数据库的事务处理必须满足ACID原则,ACID分别是指什么
  • 事务的四大特性(ACID)是?
  • 什么是事务的acid性质
  • 一、经常说的数据库事务四大特性ACID,你懂它们分别什么含义吗?

    首先说一下,我理解的事务

    事务出现的原因,或者说事务要解决的问题生活中,我给你转账(现金方式)100块,这是一件事儿数据库中,我给你转账100块,这是两件事儿,一件是我账户的钱要减少100,你的账户要加100因为数据库和生活中不同,数据库中的两件事儿执行有先后顺序,就有可能只对我的账户减少100,这时候系统突然停止运行,就会导致你的账户没有增加100,那么这就很不合理。所以事务出现了,事务保证了转账过程一旦发生,这两件事儿都会发生。

    银行的转账也是用到了数据库,数据库中的转账必须是两件事儿

    事务是什么?事务是几件事儿的集合事务的四大特性ACID的含义

    1.原子性(Atomicity):事务中的所有操作作为一个整体像原子一样不可分割,要么全部成功,要么全部失败。用上边的例子来说,我的账户减少100,和你的账户增加100,这两件事儿要么都完成,要么都不完成。以事务的方式,保证了数据库中的操作能和现实生活中的逻辑一样。

    事务是为了描述现实

    2.一致性(Consistency):事务的执行结果必须使数据库从一个一致性状态到另一个一致性状态。这点有些绕口,通俗的说,就是必须符合现实世界中的逻辑,比如转账,前后我们的总金额加起来不变。

    3.隔离性(Isolation):这个是针对多用户操作的情况,就是多个转账行为同时进行时,你转你的,我转我的,我们之间互不影响。如果同一时间,有好多向你借钱的和好多向你还钱的,那么可能导致你也不知道借给谁多少钱,谁还了你多少钱。事务要能够保证这么多转账之间不会受到影响,得到一个正确的结果。

    4.持久性(Durability):事务一旦提交,那么对数据库的影响就是永久的。对比现实,就是如果发生一单交易,不管是否交易成功,肯定会出现两种情况,要么交易成功,要么交易失败,不会出现没有这一交易的情况。

    总结,事务是为了描述现实世界。

    一、数据库的事务处理必须满足ACID原则,ACID分别是指什么

    ACID,指数据库事务正确执行的四个基本要素的缩写。包含:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。

    二、事务的四大特性(ACID)是?

    主要如下:

    • 原子性(Atomicity): 事务是最小的执行单位,不允许分割。事务的原子性确保动作要么全部完成,要么完全不起作用;

    • 一致性(Consistency): 执行事务前后,数据保持一致,多个事务对同一个数据读取的结果是相同的;

    • 隔离性(Isolation): 并发访问数据库时,一个用户的事务不被其他事务所干扰,各并发事务之间数据库是独立的;

    • 持久性(Durability): 一个事务被提交之后。它对数据库中数据的改变是持久的,即使数据库发生故障也不应该对其有任何影响。

    三、什么是事务的acid性质

    ACID,是指在数据库管理系统(DBMS)中事务所具有的四个特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation,又称独立性)、持久性(Durability)。
    在数据库系统中,一个事务是指由一系列数据库操作组成的一个完整的逻辑过程。例如银行转帐,从原账户扣除金额,以及向目标账户添加金额,这两个数据库操作的总和构成一个完整的逻辑过程,不可拆分。这个过程被称为一个事务,具有ACID特性。
    1)原子性:
    整个事务中的所有操作,要么全部完成,要么全部不完成,不可能停滞在中间某个环节。事务在执行过程中发生错误,会被回滚(Rollback)到事务开始前的状态,就像这个事务从来没有执行过一样。
    比如说,一个事务开始更新100行记录,但是在更新了20行之后(因为某种原因)失败了,那么此时数据库会回滚(撤销)对那20条记录的修改。

    2)一致性:
    在事务开始之前和事务结束以后,数据库的完整性约束没有被破坏。
    事务将数据库从一个一致性状态带入另一个一致性状态。 比如说,在一个银行事务(在描述关系数据库事务的特性时,基本上都是用银行事务来作为描述对象的)中,需要从存储账户扣除款项,然后在支付账户中增加款项。 如果在这个中转的过程发生了失败,那么绝对不能让数据库只执行其中一个账户的操作,因为这样会导致数据处于不一致的状态(这样的话,银行的账目上,借贷就不平衡了)。
    如果数据库系统运行中发生故障,有些事物尚未完成就被迫中断了,系统就将此事务中对数据库的所有已经完成的操作全部撤销,滚回到事务开始时的一致状态。

    3)隔离性:
    两个事务的执行是互不干扰的,一个事务不可能看到其他事务运行时,中间某一时刻的数据。
    这个特性是说,直到事务结束时(commit/rollback),其他事务(或者会话)对此事务所操作的数据都不可见(但并不是说其他会话的读取会被阻塞)。 比如说,一个用户正在修改hr.employees表,但是没有提交,那么其他用户在这个修改没有提交之前是看不到这个修改的。

    4)持久性:
    在事务完成以后,该事务所对数据库所作的更改便持久的保存在数据库之中,并不会被回滚。
    指的是只要事务成功结束,它对数据库所做的更新就必须永久保存下来。即使发生系统崩溃,重新启动数据库系统后,数据库还能恢复到事务成功结束时的状态。
    被提交的更改会永久地保存到数据库中(并不是说以后就不可以修改)。 事务提交之后,数据库必须通过“恢复机制”来确保事务更改的数据不会丢失。

    关于acid的问题,通过《事务的四大特性(ACID)是?》、《什么是事务的acid性质》等文章的解答希望已经帮助到您了!如您想了解更多关于acid的相关信息,请到本站进行查找!

    爱资源吧版权声明:以上文中内容来自网络,如有侵权请联系删除,谢谢。

    acid
    电脑如何共享文件夹 手机预装App无法删除?工信部将出台新规助用户摆脱“欲删不能”