精华内容
下载资源
问答
  • 数据库ACID的含义

    千次阅读 2019-03-26 09:59:26
    一个数据库事务通常包含对数据库进行读或写一个操作序列。原子性保证了一个事务要么被完整地完成,要么完全没有执行。不会在结束和开始中间某个环节。事务在执行过程中发生错误,会有数据库系统回滚到事务开始...

    A: atomicity 原子性

    事务(Transaction),一般是指要做的或所做的事情。一个数据库事务通常包含对数据库进行读或写的一个操作序列。原子性保证了一个事务要么被完整地完成,要么完全没有执行。不会在结束和开始中间的某个环节。事务在执行过程中发生错误,会有数据库系统回滚到事务开始之前的状态。原子性是保证一致性的一个前提条件,但是不是充分条件,保证一致性还需要其他方法协助

    C: consistency 一致性

    数据库只存在两种状态,要么是事务提交之后,完成了执行并且完整地更新了磁盘当中数据库文件的状态,要么保存事务提交之前的状态。一致性保证了数据库的事务执行完成的时候,能从一个状态完整的转移到另外一个状态,并且保证数据一致。在关系型数据库上,这意味着所有的规则必须应用到所有的事务的修改上,以便维护数据完整性

    I: isolation 隔离性

    数据库允许并发,数据库需要具有多个事务同时对数据进行读写和修改的能力。隔离性可以防止多个事务并发执行导致的数据不一致。事务隔离有四个等级,效果分别如下

    ===========================================================================================
           隔离级别               脏读(Dirty Read)          不可重复读(NonRepeatable Read)     幻读(Phantom Read) 
    ===========================================================================================

    未提交读(Read uncommitted)        可能                            可能                       可能

    已提交读(Read committed)          不可能                          可能                        可能

    可重复读(Repeatable read)          不可能                          不可能                     可能

    可串行化(Serializable )                不可能                          不可能                     不可能

    ===========================================================================================

    脏读:A提交的最新数据,B来读取读取到的却是A提交之前的数据

    不可重复读:A在B事务执行过程中更改了数据,B事务本应该保证两次读取数据一致,但是数据却被A提交后的更新冲刷更新了

    幻读:A在B事务执行过程中添加删除了数据,B事务读取的时候,导致结果集合变化,两次获得的结果集合不一致。

    D: Durability 持久性

    执行完的事务,即便系统宕机了,最新的执行完的数据修改也是永久的,不会丢失。

    展开全文
  • SQL数据库的ACID含义

    千次阅读 2017-07-19 10:22:47
    ACID指在可靠数据库中,事件应该具有特性,它不是一种技术,而是一种思想。ACID为原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)总称。这个ACID可以分为数据库层面和...

    ACID指在可靠数据库中,事件应该具有的特性,它不是一种技术,而是一种思想。ACID为原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)的总称。这个ACID可以分为数据库层面的和业务层面的来讨论,一般业务层面的都可以被转换为数据库层面的。

    原子性(Atomicity)

    整个事务是一个不可分割整体,要么全部完成,要么全部不完成,不可能停滞在中间某个环节。事务在执行过程中发生错误,会被回滚(Rollback)到事务开始前的状态,就像这个事务从来没有执行过一样。

    每一条的T-SQL语句都是一个事务,如insert语句、update语句等。用户也可以定义自己的事务,使用TYR-CATCH方法将多条语句合为一个事务,比如银行转账,在A账户中减钱与在B账户中增钱是一个自定义的事务。

    一致性(Consistency)

    一致性,即在事务开始之前和事务结束以后,数据库的完整性约束(唯一约束,外键约束,Check约束等)没有被破坏。业务的一致性可以转化为数据库的一致性。

     

    隔离性(Isolation)

     

    隔离执行事务,多个事务的执行互相不干扰。一个事务不可能获取到另一个事务执行的中间数据。SQL Server利用加锁造成阻塞来保证事务之间不同等级的隔离性。

    事务之间的互相影响的情况分为几种,分别为:脏读(Dirty Read),不可重复读,幻读。

    脏读表示一个事务获取了另一个事务的未提交数据,这个数据有可能被回滚。

    不可重复度表示一个事务执行两次相同的查询,出现了不同的结果,这是因为两次查询中间有另一事务对数据进行了修改。

    幻读,是指当事务不是独立执行时发生的一种现象,例如第一个事务对一个表中的数据进行了修改,这种修改涉及到表中的全部数据行。同时,第二个事务也修改这个表中的数据,这种修改是向表中插入一行新数据。那么,第一个事务的用户发现表中还有 没有修改的数据行,就好象发生了幻觉一样。

    为了避免上述几种事务之间的影响,SQL Server通过设置不同的隔离等级来进行不同程度的避免。因为高的隔离等级意味着更多的锁,从而牺牲性能.所以这个选项开放给了用户根据具体的需求进行设置。不过默认的隔离等级Read Commited符合了99%的实际需求.

    持久性(Durability)

     

    在事务完成以后,该事务对数据库所作的更改便持久的保存在数据库之中,并不会被回滚。

     

         即使出现了任何事故比如断电等,事务一旦提交,则持久化保存在数据库中.

         SQL SERVER通过write-ahead transaction log来保证持久性。write-ahead transaction log的意思是,事务中对数据库的改变在写入到数据库之前,首先写入到事务日志中。而事务日志是按照顺序排号的(LSN)。当数据库崩溃或者服务器断点时,重启动SQL SERVER,SQL SERVER首先会检查日志顺序号,将本应对数据库做更改而未做的部分持久化到数据库,从而保证了持久性.(所以事务提交之后,也可以在WAL中查询到操作历史吗)

     

    WAL (write-ahead logging)的中心思想是对数据文件的修改必须是只能发生在这些修改已经记录了日志之后 -- 也就是说,先写在日志里,提交的时候再由日志保存到永久存储器。在日志记录冲刷到永久存储器之后. 如果我们遵循这个过程,那么我们就不需要在每次事务提交的时候 都把数据页冲刷到磁盘,因为我们知道在出现崩溃的情况下, 我们可以用日志来恢复数据库:任何尚未附加到数据页的记录 都将先从日志记录中重做(这叫向前滚动恢复,也叫做 REDO) 然后那些未提交的事务做的修改将被从数据页中删除 (这叫向后滚动恢复 - UNDO)。

     

     

    参考:https://www.cnblogs.com/CareySon/archive/2012/01/29/2331088.html

    展开全文
  • 数据库ACID解析

    2019-12-27 13:54:41
    基本含义数据库系统中,事务所提供的安全保证,使用ACID来描述,分别代表原子性(atomicity)、一致性(consistency)、隔离性(isolation)、持久性...ACID的原子性,描述的是当客户想进行多次的写入,但是在一...

    基本含义

    在数据库系统中,事务所提供的安全保证,使用ACID来描述,分别代表原子性(atomicity)、一致性(consistency)、隔离性(isolation)、持久性(durability)。

    但是在今天,ACID几乎成为数据库厂商的一个营销术语,当一个系统声称自己符合ACID时,实际上能期待的是什么保证,并不是很清楚。

    原子性

    ACID的原子性,描述的是当客户想进行多次的写入,但是在一些写操作处理完成后,出现了故障的情况。

    例如当一组写操作被分组到一个原子事务中,当部分写操作完成,但是部分写操作还未进行时,出现了故障,比如进程崩溃、网络连接中断,磁盘没有空间等,由于这些错误,导致后续的写操作无法完成,则该事务不能提交,事务将被中止,而且数据库必须丢弃或者撤销该事务之前已经完成的任何写入操作。

    如果事务被中止,则应用程序可以确定其没有改变任何东西,应用程序可以安全地重新进行事务操作。

    ACID的原子性定义的特性是:能够在错误时中止事务,丢弃该事务进行的所有的写入变更的能力。

    一致性

    ACID中一致性的概念是,对数据的一组特定的陈述必须始终成立。

    比如,在会计系统中,所有账户上的整体的借贷必须互相可抵。

    如果一个事务开始于一个满足这些不变量的有效数据库,且在事务处理期间的任何写入操作都保持这种有效性,则可以确定,不变量总是满足的。

    一致性的概念取决于应用程序对于不变量的定义。应用程序负责正确定义其事务,并保持一致性,这不是数据库负责的范畴。

    原子性、隔离性和持久性是数据库的属性,但是一致性在ACID意义上,是应用程序的属性。

    隔离性

    大多数数据库都会被多个客户端访问,如果多个客户端访问数据库中相同的记录数据,则可能会遇到并发的问题。

    ACID的隔离性意味着,同时执行的事务是互相隔离的,互相不能冒犯。传统的教科书将隔离性形式化为可序列化,意味着每个事务都可以假装其是唯一在整个数据库上运行的事务,数据库确保当多个事务已经提交时,结果与多个事务按照顺序提交是一样的。尽管实际上它们可能是并发运行的。

    但是在实际实现时,越高的隔离性会带来越大的性能损耗,因此一般的数据库会提供不同级别的隔离性,以满足不同性能需求。

    持久性

    持久性表示的是一个承诺。即一旦事务已经成功完成,则即使发生硬件故障,或者数据库崩溃,写入的任何数据也不会丢失。

    在单节点数据库中,持久性意味着数据已经被写入非易失性存储设备,通常还包括预写日志或者类似的文件。

    在分布式数据库中,持久性意味着数据已经成功复制到一些节点。

    完美的持久性是不存在的,如果所有的硬件和备份都被销毁,则没有任何数据库能够拯救数据。

    展开全文
  • 30.数据库的ACID是什么含义?(多选) A. 原子性 B. 原始性 C. 一致性 D. 隔离性 E. 持久性 F. 共享性 正确答案是:ACDE 数据库基础面试32题 ...

    30.数据库中的ACID是什么含义?(多选)

    A. 原子性

    B. 原始性

    C. 一致性

    D. 隔离性

    E. 持久性

    F. 共享性

     

     

     

     

     

     

     

    正确答案是:ACDE

    数据库基础面试32题

    展开全文
  • 数据库事务的含义

    2018-03-22 10:32:02
    数据库事务(Database Transaction) ,是指作为单个逻辑工作单元执行一系列操作,要么完全地执行,要么完全地不执行。 事务处理可以确保除非事务性单元内所有操作都成功完成,否则不会永久更新面向数据资源。...
  • 数据库ACID和CAP理论

    2018-07-24 21:12:00
    对于数据库领域,有两个重要且经典理论,这两个理论是单点数据库系统及分布式数据库系统(Nosql,通常强调分布式扩展)构建基础理论。通过这篇文章,希望能帮助小伙伴理解这两个理论具体含义。 一、ACID是RDBMS...
  • 1、ACID,事务四个特性 1)原子性,原子性是指事务是一个不可分割工作单位,事务中操作要么都发生,要么都不发生。 2)一致性,如果事务执行之前数据库是一个完整性状态,那么事务结束后,无论事务是否执行...
  • 数据库事务ACID特性

    2019-03-16 18:36:29
    并非任意的对数据库的操作序列都是数据库事务。数据库事务拥有以下四个特性,习惯上被称之为ACID特性。 原子性(Atomicity):事务作为...一致状态的含义数据库中的数据应满足完整性约束。 隔离性(Isola...
  • 关系型数据库的ACID特性 A:原子性 C:一致性 I:隔离性 D:永久性 一致性金典解读案例: [img]http://dl2.iteye.com/upload/attachment/0130/2382/42b5b2db-fa4b-3f6a-9d17-61144c45acbe.jpg[/img] 解读...
  • 从特性可以更加深刻的理解事务的含义,事务的特性为ACID,这个缩写请务必记住,因为一般提到ACID都是指事务的特性。 A (Atomicity)原子性:事务中的操作要么全部提交,要么全部撤回,没有中间状态。 C ...
  • transaction有事务、交易的含义,翻译成事务,很难理解。如果理解为交易,就很清楚了。 想想如果要完成一笔交易,肯定一手交钱一手交货,这两个行为都得完成,否则交易不成立,钱和货都要归为原主。 事务其实就是一...
  • 2.数据库事务四个特性及含义 数据库事务transanction正确执行四个基本要素。ACID,原子性(Atomicity)、一致性(Correspondence)、隔离性(Isolation)、持久性(Durability)。 原子性:整个事务中所有操作,要么...
  • 数据库事务transanction正确执行四个基本要素。 ACID 原子性(Atomicity) 原子性:整个事务中所有操作,要么全部完成,要么全部不完成,不可能停滞在中间某个环节。事务在执行过程中发生错误,会被回滚...
  • 数据库事务transanction正确执行四个基本要素。 ACID 原子性(Atomicity) 原子性:整个事务中所有操作,要么全部完成,要么全部不完成,不可能停滞在中间某个环节。事务在执行过程中发生错误,会被回滚...
  • 数据库事务transanction正确执行四个基本要素。ACID,原子性(Atomicity)、一致性(Correspondence)、隔离性(Isolation)、持久性(Durability)。 原子性:整个事务中所有操作,要么全部完成,要么全部不完成,不可能...
  • 数据库事务transanction正确执行四个基本要素。ACID,原子性(Atomicity)、一致性(Correspondence)、隔离性(Isolation)、持久性(Durability)。原子性:整个事务中所有操作,要么全部完成,要么全部不完成,不可能...
  • 含义 原子性 一个事务要么成功,要么失败 一致性 一个事务执行之前跟执行之后状态保持一致 例 A和B一共100元,无论中间转账多少次、转多少,最终两人钱加一起还是100元 隔离性 两个事务之间互不干扰 ...
  • ACID 事务特性原子性(Atomicity):...一致状态的含义数据库中的数据应满足完整性约束。隔离性(Isolation):多个事务并发执行时,一个事务的执行不应影响其他事务的执行。持久性(Durability):一个事务一旦...
  • 含义 原子性 一个事务要么成功,要么失败 一致性 一个事务执行之前跟执行之后状态保持一致 例 A和B一共100元,无论中间转账多少次、转多少,最终两人钱加一起还是100元 隔离性 两个事务之间互不干扰 ...
  • ACID、BASE、CAP 含义

    千次阅读 2020-05-13 16:08:29
    数据库管理系统事务(transaction)四个特征: 原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。 原子性 原子性是指事务是一个不可再分割工作单元,事务中操作...
  • 数据库的事务概念

    2020-08-11 18:09:49
    数据库的事务就是 逻辑单元执行一系列操作...一致状态的含义数据库中的数据应满足完整性约束。 隔离性(Isolation):多个事务并发执行时,一个事务的执行不应影响其他事务的执行。 持久性(Durability):已被提交的
  • 作者:无名鼠辈llc687.top/posts/数据库/mysql的acid写在前面本文主要探讨MySQL InnoDB 引擎下ACID的实现原理,对于诸如什么是事务,隔离级别的含义等基...
  • 数据库

    2019-02-27 19:10:56
    1. 主键 超键 候选键 外键 主键:表中一个或多个字段,唯一地标识表中某一条记录;一个表只有一个主键 ...2.数据库事务四个特性及含义 ACID atomicity、correspondence、isolation、durability 原...
  • 数据库事物的四个特性(ACID)如下: 1、原子性(Atomicity) 事务作为一个整体被执行,包含在其中的对数据库的... 事务应确保数据库的状态从一个一致状态转变为另一个一致状态,一致状态的含义数据库中的数据...
  • 数据库特性

    2021-05-31 13:43:50
    一致状态的含义数据库中的数据应满足完整性约束 隔离性(Isolation):多个事务并发执行时,一个事务的执行不应影响其他事务的执行 持久性(Durability):已被提交的事务对数据库的修改应该永久保存在数据库...

空空如也

空空如也

1 2 3 4 5 ... 10
收藏数 196
精华内容 78
关键字:

数据库acid的含义