1.MVCC 简介
MVCC(Multi-Version Concurrency Control)被称为多版本并发控制
MVCC是来处服务器托管网理数据库中并发访问的问题,提高并发的访问效率。
MVCC在维护数据的一致性和完整性的同时,尽量避免读写的阻塞。
传统数据库是通过lock 机制来保证数据的一致性和完整性,这样付出的代价是当锁请求无法响应时,待处理的请求必须进入等候队列,甚至等待超时不被处理。MVCC 避开了传统数据库的lock 机制,最大限度的减少了锁的竞争。
2.实现MVCC 的机制
数据写入时,把旧版本数据移到其他地方,如回滚段中,读取数据时,在回滚段中把数据读出来。
数据写入时,保留旧版本数据,并插入新数据。
postgresql 使用的是第二种,mysgl中InnoDB存储引擎使用的是第一种。
3.事务四大特性的实现
4.MVCC 涉及的概念
xid,在PostgeSQL中,每个事务都存在一个唯一的id,也称为xid,可通过txid c服务器托管网urrent()函数获取当前的事务id。
tuple,每一行数据,称为一行元组,一个tuple。
ctid,tuple中的隐藏字段,代表tuple的物理位置。
xmin,tuple中的隐藏字段,在创建一个tuple时,记录此值为当前的事务id.
xmax,tuple中的隐藏字段,默认为0,在删除tuple中,记录此值为当前的事务id。
cmin/cmax,tuple中的隐藏字段,标识同一个事务中多个语句的顺序,从0开始。
其隐藏字段存放在pg_attribute 表中
插入一条数据后查看,当前的xmin 是750
再插入一条数据查看,当前的xmin 是751
修改第一条数据查看,第一条的xmin 变为了752
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net
相关推荐: 众安科技统一运维管理平台监控软件打造站点集中式监控
在当今信息化时代,企业的IT基础设施日益庞大而复杂,对运维团队的管理和监控提出了更高的要求。为了提高运维效率、降低风险,众安科技积极倡导并实施统一运维管理平台,通过监控软件打造站点集中式监控体系。本文将详细介绍众安科技在这方面的实践和成果,以及站点集中式监控的…