精华内容
下载资源
问答
  • 数据库中事务处理系统的特点--ACID

    千次阅读 2008-07-22 12:44:00
    事务处理系统的典型特点是具备ACID特征。ACID指是Atomic(原子)、Consistent(一致)、Isolated(隔离)以及Durable(持续),它们代表着事务处理应该具备四个特征:原子性:组成事务处理语句形成了...
     
    

    看起来是一个很简单的问题,每一个使用过RDBMS的人都会有一个概念。

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

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

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

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

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

    2021-04-20 08:55:53
    引子 最近看一些文章的时候,看到事务的概念,只记得在很早的时候...事务处理通过确保系统上相互依赖的操作,全部成功完成或者全部成功取消,在已知的一致状态上维持系统的完整性。 举个例子,一个典型的银行交易:将

    引子

    最近看一些文章的时候,看到事务的概念,只记得在很早的时候接触过,想不起来有什么用,查询了资料后发现还是挺有用的。

    介绍

    事务处理(Transaction processing)是计算机科学中的信息处理,它被分成单个不可分割的操作,称为事务(transaction)。每个事务作为一个完整的单元必须成功或者失败,绝不可能部分完成。事务处理通过确保系统上相互依赖的操作,全部成功完成或者全部成功取消,在已知的一致状态上维持系统的完整性。

    举个例子,一个典型的银行交易:将 100 从客户的储蓄账户转移到客户的支票账户。这个交易涉及至少 2 个独立的操作:借记储蓄帐户 100,记入支票账户 100。如果一个操作成功,另外一个操作失败,银行的账簿最后会不平衡。这里必须要有一个方式去保证所有操作都成功或都失败,这样在银行的整个数据库中才不会前后矛盾。

    在事务中链接了多个操作时,确保所有的操作没有错误的完成,或者都失败。如果其中的一些操作完成但在尝试其它操作时发生了错误,则事务处理系统会“回滚(rolls back)” 事务的所有操作(包括已经成功的操作),从而消除事务的所有痕迹,并将系统恢复到处理事务开始之前所处的一致的已知状态。如果一个事务的所有操作都成功的完成,这个事务会被系统提交(committed),所有对数据库的更改将会是永久性的,一旦事务完成不能被回滚。

    通常,事务是同时发布的,如果它们重叠,可能会产生冲突。例如一个客户的储蓄账户上有 150,尝试转账给另外一个人 100,同时转移 100 到支票账户,那么只有其中的一个可以成功。然而,强制事务按照顺序执行是低效的。因此事务处理的并发编程实现,保证最终结果没有冲突,与任何顺序执行事务时达到的结果相同。在这个例子中,这就意味着不管那个事务先发布,不论是先转账给另外一个人还是转移到支票账户成功了,另外一个操作就会失败。

    方法

    所有事务处理系统的基本原则都一样。然而,术语可能因事务处理系统而异,下面使用的术语不一定通用。

    Rollback

    事务处理系统通过在修改数据库时,记录数据库的中间状态来确保数据库完整性,然后如果一个事务无法提交,使用这些记录将数据库恢复到已知状态。

    Rollforward

    可以保留对数据库管理系统的所有修改的单独日志。这个对回滚并不需要,但在数据库发生故障时更新数据管理系统很有用,因此有些事务处理系统提供这个功能。如果数据库管理系统完全失败,则必须从最近的备份中恢复。备份不会反映自备份以来所提交的事务。但是,一旦数据库管理系统恢复了,就可以将日志应用于数据库(rollforward)以使数据库管理系统保持最新。

    Deadlock

    在一些情况下,两个事务可能在处理的过程中,同时尝试访问数据库的同一部分,从而阻止它们继续运行。例如,事务 A 访问了数据库的 X ,事务 B 访问了数据库的 Y。如果此时,事务 A 尝试访问数据库的 Y ,事务 B 尝试访问数据库的 X , 则一个死锁(Deadlock)产生了,并且两个事务都不能继续下去。

    事务处理系统旨在检测这些死锁何时发生。通常,两个事务都将被取消并回滚,然后它们将以不同的顺序自动再次启动,以便不再发生死锁。或者有些时候,只有其中的一个死锁事务将会被取消和回滚,在短暂的延迟后自动重启。

    死锁可能涉及 3 个或更多的事务。涉及的事务越多,它们检测的难度就越大,因此事务处理系统可以检测到的死锁,在实际中是有限制的。

    Compensating transaction

    在提交和回滚机制不可用或不期望的系统中,补偿事务经常用来撤销失败的事务,并且将系统恢复到之前的状态。

    ACID 标准

    Jim Gray 在 20 世纪 70 年代定义了一个可靠事务系统的特质,缩写为 ACID —— atomicity(原子性)、consistency(一致性)、 isolation(独立性)、durability(耐久性) 。

    Atomicity

    事务对状态的改变是原子的:要么全部发生,要么都不发生。

    Consistency

    一个事务是状态的一种正确转换。作为一组采取的行为不违反跟状态相关的任何完整性的约束。

    Isolation

    即使事务并发执行,对于每个事务 T ,其他事务看起来在 T 之前或 T 之后执行,但不是两者同时执行。

    Durability

    一旦事务成功完成(提交),它对数据库的更改,将在数据库失败后继续存在并保留其更改。

    优点

    事务处理有下面的优点:

    • 它允许用户之间共享计算机资源
    • 它将作业处理的时间合理转换
    • 它避免了在没有人工交互和监督的情况下闲置计算资源
    • 它被用在昂贵的计算机上,通过保持对这些昂贵资源的高利用率来帮助分摊成本

    缺点

    事务处理有下面的缺点:

    • 它们具有相对昂贵的设置成本
    • 缺乏标准的格式
    • 硬件和软件不兼容

    参考资料

    展开全文
  • OLTP 联机事务处理

    2015-09-22 13:48:04
    OLTP也叫联机事务处理,表示事务性非常高的系统,一般都是高可用的在线系统,以小的事务以及小的查询为主,评估其系统的时候,一般看其每秒执行的Transaction以及Execute SQL的数量。典型的OLTP系统有电子商务系统、...

    OLTP也叫联机事务处理,表示事务性非常高的系统,一般都是高可用的在线系统,以小的事务以及小的查询为主,评估其系统的时候,一般看其每秒执行的Transaction以及Execute SQL的数量。典型的OLTP系统有电子商务系统、银行、证券等。

    展开全文
  • 事务处理系统的典型特点是具备ACID特征。ACID指是Atomic(原子)、Consistent(一致)、Isolated(隔离)以及Durable(持续),它们代表着事务处理应该具备四个特征: 原子性:组成事务处理语句形成了一个...

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

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

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

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

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

    展开全文
  • 事务处理:概念与技术

    热门讨论 2013-05-28 22:35:15
    事务处理广泛地应用于数据库和操作系统领域,并在...本书内容广泛,从系统的角度全面阐述事务处理的概念和技术,涉及终端上表示管理、通信子系统、操作系统。数据库、程序设计语言运行时系统以及应用开发环境等。
  • OLTP,也叫联机事务处理(Online Transaction Processing),表示事务性非常高的系统,一般都是高可用的在线系统,以小的事务以及小的查询为主,评估其系统的时候,一般看其每秒执行的Transaction以及Execute SQL的...
  • 分布式事务处理方案

    2018-11-23 18:04:35
    1.分布式服务的发展概况 CAP  首先了解下分布式服务的基本概念-CAP, CAP...一致性: 更新操作成功并返回客户端完成后,分布式的所有节点在同一时间的数据完全一致,本文讲的分布式系统事务一致性就是典型的一...
  • OLTP也称实时系统(Real Time System),支持事务快速响应和大并发,这类系统典型的有ATM机(Automated Teller Machine)系统、自动售票系统等,但有些银行转账并不是实时到账的。OLTP反映企业当前的运行状态,完成企业...
  • 根据微服务架构鼻祖MartinFowler忠告,微服务架构中应当尽量避免分布式事务。...另外,业界著名CAP理论也告诉我们,对分布式系统,需要将数据一致性和系统可用性、分区容忍性放在天平上一起考虑。两阶段提交协
  • 典型数据系统架构

    2019-11-21 17:10:37
    关系数据库:用于主业务数据存储,提供事务型数据处理,是应用系统的核心数据存储。 高速缓存:对复杂或操作代价昂贵结果进行缓存,加速访问。 搜索引擎:提供复杂条件查询和全文检索。 队列:用于将数据处理...
  • OLTP也称实时系统(Real Time System),支持事务快速响应和大并发,这类系统典型的有ATM机(Automated Teller Machine)系统、自动售票系统等,但有些银行转账并不是实时到账的。OLTP反映企业当前的运行状态,完成企业...
  • 事务就是一个会话过程中,对上下文的影响是一致的,要么所有的更改都做了,要么所有的更变都...两段式提交典型的就是XA,有个事务协调器,告诉大家,来都准备好提交,大家回复,都准备好了,然后协调器告诉大家,一起提
  • 在上一篇中,我们总结了事务处理中5类典型的问题。在这一篇,我想总结一下如何在保证并发效率的情况下去解决。如果让我们自己来想办法解决这些问题的话,毫无疑问,我们会用数据库锁来解决,然而自己去控制数据库锁...
  • 文章目录前言一、分布式事务的本质二、Seata1、一个典型的分布式事务过程(1+3)2.下载地址 前言 单体应用被拆分成微服务应用,原来的三个模块被拆分成三个独立的应用,分别使用三个独立的数据源,业务操作需要调用...
  • 讨论数据库管理系统中查询处理事务管理基本概念和基础知识 第9章 关系查询处理和查询优化 第10章 数据库恢复技术 第11章 并发控制 关系查询处理和查询优化 本章内容 关系数据库管理系统的查询处理步骤 查询优化...
  • 论文+sql源代码。 页数:51 字数:6668 资源大小;943kb 资源类型:word文档 ... 学生信息管理系统是典型的事务处理系统(TPS),作为《信息系统分析与设计》的课程设计,有助于理解和应用信息系统分析与设计的原理。
  • 对于以面向对象设计为基础的系统,在复杂度上升的同时,对所有的事务有一个统一的处理是尤为关键的一点。 而对于一个典型的以页面为基本元素的Web应用,各页面间的跳转以及在此之间体现出来的业务流...
  •  悲观锁,正如其名,它指的是对数据被外界(包括本系统当前的其他事务,以及来自外部系统的事务处理)修改持保守态度,因此,在整个数据处理过程中,将数据处于锁定状态。悲观锁的实现,往往依靠数据库提供的锁机制...
  • 前言 微服务架构下,比较典型的一个分布式问题就是并发。并且并发访问的资源可能分布在不同的...为了理解并解决应用系统层面的分布式事务问题,我们需要先从最底层的存储服务的事务讲起,后续的章节基本都是围绕“分布
  • Service Broker 的典型使用

    千次阅读 2018-08-20 15:11:09
    对于需要异步执行处理应用程序或需要跨多个计算机分发处理应用程序,Service Broker 会非常有用。Service Broker 的典型使用包括...使用触发器(如联机事务处理 (OLTP) 系统许多应用程序均可受益于 Service...
  • 在单机数据库中,我们很容易能够实现一套满足ACID特性的事务处理系统,在在分布式数据库中,数据分散在各台不同的机器上,如何对这些数据进行分布式的事务处理具有非常大的挑。 分布式事务是指事务的参与者、支持...
  • 典型的一个例子来解释事务:就是银行转账业务 查询a账户余额是否大于200; 给a账户余额-200元; 给b账户余额+200元; 这个操作分为以上三个步骤,这是哪个步骤不可以被拆分或者打断。一旦被破坏,就有可能会影响...
  • 写在前面的话:本人开发过一个系统系统对数据的正确...这就是一个典型的事务处理问题。   很早就接触到了Spring,通过时间的推移和实际项目的运用,对Spring的认识也渐渐增多,有了一些体会和感悟。 下面是本人...
  • 数据库事务特点

    千次阅读 2008-11-15 12:13:00
    事务处理系统的典型特点是具备ACID特征。ACID指是Atomic(原子)、Consistent(一致)、Isolated(隔离)以及Durable(持续),它们代表着事务处理应该具备四个特征:原子性:组成事务处理语句形成了...
  • ejb事务

    2014-09-15 15:42:25
    典型的企业应用存取存储在一个或多个数据库中的信息。因为这些信息对于业务操作来说非常重要,它必须是准确的,及时的 并且可靠的。如果在同一时间允许多个程序更新同一条数据,那么数据完整性就会荡然无存。如果...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 449
精华内容 179
关键字:

典型的事务处理系统