概述 事务是数据库系统中的核心概念之一.作为数据库系统的逻辑工作单元(Unit of Work),事务必须具有四个属性,即原子性.一致性.隔离性和持久性(ACID).数据库系统往往通过锁机制保证事务的隔离性,通过日志机制保证事务的持久性.应用程序可以通过启动.提交.回滚等操作来控制一个事务的执行与停止.从应用的角度来看,一个事务往往对应一系列紧密关联的用户操作,例如银行系统中的存款.转账等.对于用户而言,提交一个事务相当于完成某种交易行为,因此执行一个事务前后跨越的时间是影响用户体验的因素之一.…
Redis事务的分析及改进 Redis的事务特性 数据ACID特性满足了几条? 为了保持简单,redis事务保证了其中的一致性和隔离性: 不满足原子性和持久性: 原子性 redis事务在执行的中途遇到错误,不会回滚,而是继续执行后续命令:(违反原子性) 事务可以理解为一个打包的批量执行脚本,但批量指令并非原子化的操作: 中间某条指令的失败不会导致前面已做指令的回滚,也不会造成后续的指令不做: 比如: redis 127.0.0.1:7000> multi OK redis 127.0.0.1:7…
Redis事务原理分析 基本应用 在Redis的事务里面,采用的是乐观锁,主要是为了提高性能,减少客户端的等待.由几个命令构成:WATCH, UNWATCH, MULTI, EXEC, DISCARD. 通过WATCH,可以实现CAS操作.使用WATCH监听一些键,然后去检查键的值,然后根据键的值来决定是否还需要进行MULTI,如果键的值被改了,则重新.(因为有可能在执行WATCH前,键的值被改了,所以需要先WATCH,然后再作判断).在执行MULTI命令后,如果中途WATCH的键的值被修改了,…
一.Redis事务原理分析 在Redis的事务里面,采用的是乐观锁,主要是为了提高性能,减少客户端的等待.由几个命令构成:WATCH, UNWATCH, MULTI, EXEC, DISCARD.通过WATCH,可以实现CAS操作.使用WATCH监听一些键,然后去检查键的值,然后根据键的值来决定是否还需要进行MULTI,如果键的值被改了,则重新.(因为有可能在执行WATCH前,键的值被改了,所以需要先WATCH,然后再作判断).在执行MULTI命令后,如果中途WATCH的键的值被修改了,后续再执…
原文:https://www.ibm.com/developerworks/cn/analytics/library/ba-lo-backup-restore-performance-issue-judge-optimize/index.html Db2 备份/恢复线程模型 Db2 备份线程模型 首先看一下 Db2 backup 操作的线程模型,如图 1 所示(图片来源见参考资料): 图 1. Backup 线程模型 它主要包括 db2bm, db2med, db2agent 三类 EDU,以及…
Spring事务原理分析-部分二 说明:这是我在蚂蚁课堂学习了余老师Spring手写框架的课程的一些笔记,部分代码代码会用到余老师的课件代码.这不是广告,是我听了之后觉得很好. 课堂链接:Spring手写框架 手写Spring事务框架 编程事务实现 概述 所谓编程式事务指的是通过编码方式实现事务,即类似于JDBC编程实现事务管理.管理使用TransactionTemplate或者直接使用底层的PlatformTransactionManager.对于编程式事务管理,spring推荐使用Trans…
老生常谈系列之Aop--Aop的经典应用之Spring的事务实现分析(三) 前言 上一篇文章老生常谈系列之Aop--Aop的经典应用之Spring的事务实现分析(二)从三个问题导入,分析了Spring是如何开启事务的.Spring是如何为需要事务支持的类生成代理的以及Spring是怎么实现成功提交异常回滚的执行框架的.但是在这个执行框架里,事务是怎么进行的并没有详细说明.这里面会有非常多的问题,例如如何根据配置的事务属性去完成相应的事务行为.什么时候创建一个新事务什么时候在当前事务执行又或者是嵌…
NetBeans IDE 6.0 包含一个强大的性能分析工具,可提供与应用程序运行时行为有关的重要信息.通过 NetBeans 性能分析工具,我们可以方便地在 IDE 中监控应用程序的线程状态.CPU 性能以及内存使用情况,而且产生的开销相对较少. 本文将概述 IDE 中包含的性能分析工具,并指导您快速开始分析 NetBeans 项目的性能.本文旨在演示 IDE 中可用的各种性能分析任务以及分析项目性能时可以获得的分析结果.但并不覆盖 IDE 中包含的所有性能分析功能,也不会深入探索如何研究性能…
解决DB2事物日志满.扩充表字段长度和表空间的命令 转:http://blog.sina.com.cn/s/blog_4c0137d10100bb5r.html 一.通常我们在使用db2导入数据或进行别的操作时会遇到事物日志已满的情况,导致操作无法继续. 在windows系统中,我们可先db2 get db cfg for dbname(要修改的数据库名) 来查看数据的配置情况. 这时根据你的需要来修改日志文件的大小.主日志文件数目和辅助日志文件的数目.命令如下: .db2 "update db…
DB2通用数据库性能调整的常用方法 DB2通用数据库性能调整的常用方法 Agenda 统计值更新--runstats  调整Buffer pool  调整日志缓冲区大小  应用程序堆大小  排序堆大小和排序堆值  代理程序的数目  锁  活动应用程序的最大数目  页清除程序的数目  I/O服务器的数目  编入组的提交数目 统计信息更新 当对SQL 查询进行优化时,SQL 编译器所做出的决定会受到优化器的数据库内容模型的重大影响.  优化器使用该数据模型来估计可以用于解决某个特定查询的其它存取路径…