-
1、事务的核心就是锁和并发,优势是容易理解,劣势是性能比较低。 性能好,则锁的颗粒度比较低,增加了编程的难度。需要找到一个平衡。查看全部
-
持久性 事务完成后,该事务对数据库所做的更改便持久保存在数据库中 如何保证数据不丢 1.数据丢失原因:物理磁盘损坏,数据从内存写入磁盘的过程易丢失 2.解决:数据写入不同的磁盘;提交请求到内存后返回,将内存数据打包到磁盘查看全部
-
快照隔离性:将老版本生成快照,使得读老版本和写新版本并行 可针对读多写少的优化,能保证一致性的同时实现读未提交 快照读可映射到读未提交和读已提交 完全无锁 概念的含混源于定义落后于事物的发展,不是真正意义上对,只是标准 标准不一定是对的查看全部
-
一致性:保证能看到系统内的所有更改 在事务单元运行时将其上锁,将系统顺序化,保证一致性 隔离性:以性能为理由,对一致性的破坏,隔离是为了保证局部一致的前提下提高效率 排它锁(序列化读)-读写锁(可重复读,读锁不能被写锁升级,只能读读并行;读已提交,读锁可以被写锁升级;可读读,读写并行;读未提交,只加写锁,可读读,读写,写读并行,但问题是可能读到写过程中得数据) 快照隔离级别-多版本并发控制(MVCC)查看全部
-
单机事务 事务的ACID 原子性:一个事务要么同时成功,要么同时失败。一旦有某一事务操作出错,理解为所有操作出错,回滚到初始状态查看全部
-
MVCC(multi version concurrency control):本质是copy on write,做到写的同时不影响读,使得读写并发,目前的主流。但是系统复杂度变高 事务处理 1.事务单元的先后:利用逻辑时间戳,通过ID号来保证先后 2.故障恢复 a,业务属性不匹配:利用回滚操作解决 b,系统崩溃:在数据恢复时,进行回滚操作,一直回滚到最初,并且对整个操作上锁 c,死锁:两个线程参与,从不同方向给事务加锁,并运用相同的资源,就会死锁。可以进行碰撞检测(主流),等锁超时。查看全部
-
事务:锁和并发的结合体 锁:为了保证数据库系统同一时间同一事务只有一个修改而对事务上锁 越容易理解的模型效率越低,越抽象的模型效率越高 ACID(atomic,constant,isolation,durability)保证事务的完整性 事务单元之间的关系:读写,写读,读读,写写 任何对数据库的操作都可视为事务单元 事务操作方法 1.队列法:没有冲突和死锁,但速度太慢 2.排他锁:讲互斥的事务单元并行处理 3.读写锁:将读读和写写完全并行,读写和写读串行,但有可能会影响数据的一致性 读写锁有两个隔离级别:可重复读,读已提交查看全部
-
事务简介查看全部
-
事务: 锁 和 并发 的结合体。 --更容易理解 --性能较低 事务简介: 单个事务单元。 --事务一致性 ACID保证事务完整性(ACID?) 事务单元:建立一个基于GMT_Modified的索引、从数据库中读取一行记录、向数据库中写入一行记录,同时更新这行记录的所有索引、删除整张表。。。 一组事务单元(中间状态?事务单元和事务单元的组合):事务单元之间的Happen-before关系(读写、写读、读读、写写 《事务处理》);在满足事务一致性的前提下,如何能够以最快的速度完成,又能保证上面四种操作的逻辑顺序?共享数据的两个事务单元明显不能并行。通过读写的完全分开,提高读的性能。 可重复读(只能做到读的并行,先读后写或先写后读都不能并行) 如何实现读写并行(提高并行度), ACID的I就是破坏了一致性。设置不同的隔离级别,打碎原来的一致性。查看全部
-
事物核心就是锁,并发查看全部
-
保证事务的先后顺序,采用SCN(oracle)/Trx_id(MySQL Innodb)实现。查看全部
-
ACID 考究查看全部
-
事务要保证一致性查看全部
-
事务就是锁和并发的结合查看全部
-
传统事务下,维护事务一致性:序列化(排队法、多队列(加锁并发读的读写锁)、multiple version concurrent control(mvcc)(针对写读场景、读读、读写并发高。))查看全部
举报
0/150
提交
取消