当前位置: 首页 > news >正文

营销型网站建设 博客网站设计说明

营销型网站建设 博客,网站设计说明,app成本,聚通装潢上海各门店地址电话什么是MVCC? MVCC是一种并发控制方法,一般在数据库管理系统中,实现数据库的并发访问。 可以使用乐观锁和悲观锁来实现。 MVCC的作用? 可以在不加锁的情况下解决读写问题,同时还可以解决脏读,幻读&#…

什么是MVCC?

MVCC是一种并发控制方法,一般在数据库管理系统中,实现数据库的并发访问。

可以使用乐观锁和悲观锁来实现。

MVCC的作用?

可以在不加锁的情况下解决读写问题,同时还可以解决脏读,幻读,不可重复读等事务隔离问题(但不能解决更新丢失问题)。

  • 各数据库中MVCC实现并不统一

  • InnoDB的MVCC,是通过在每行纪录后面保存两个隐藏的列来实现的。这两个列,一个保存了行的创建版本号,一个保存了行的删除版本号。每开始一个新的事务,系统版本号都会自动递增。事务开始时刻的系统版本号会作为事务的版本号,用来和查询到的每行纪录的版本号进行比较(在可重复读隔离级别下)。

为什么需要MVCC?

在应对高并发事务时,MVCC比单纯的加锁更高效

首先来说数据库的并发场景有三种,读读,读写和写写

读读:不会存在任何问题,也不需要并发控制

读写:有线程安全问题,可能会造成事务隔离性问题,可能遇到脏读、幻读、不可重复读,需要MVCC控制。

写写:有线程安全问题,可能会存在更新丢失问题。

MVCC是一种用来解决读-写冲突的无锁并发控制,也就是为事务分配单向增长的时间戳,为每个修改保存一个版本,版本与事务时间戳关联,读操作只读该事务开始前的数据库的快照。

所以MVCC可以为数据库解决的问题是:

  • 在并发读写数据库时,可以做到在读操作时不用阻塞写操作,写操作也不用阻塞读操作,提高了数据库并发读写的性能

  • 同时还可以解决脏读,幻读,不可重复读等事务隔离问题,但不能解决更新丢失问题

MVCC的特点:

  • 1、解决读写之间的堵塞问题

  • 2、不使用锁

  • 3、解决一致性读的问题,我们读数据时,只能看到这个节点以前事务提交修改的数据

底层原理

  • 1、主要依赖三个隐藏关键字(事务id,上个版本数据在undo log中的地址、隐藏id)、undo log日志,Read View;

  • 2、事务每次更新都会在undo log 中新增数据,递增事务id,并记录上个版本的数据地址,构成版本链

  • 3、读数据的时候会生成ReadView,ReadView中记录了当前活跃事务id,查询版本链中在活跃事务id之前的才可见

  • 4、在读已提交中,每次读都会生成 ReadView 可重复读中,只有第一次读生成ReadView

    readview视图

    readview叫做读视图,是事务在进行快照读操作的时候产生的视图,此视图保存的并不是实际的数据,而是事务相关的信息,主要的用途是来进行可见性判断;

    当我们用select读取数据时,这一时刻的数据会有很多个版本(例如上图有四个版本),但我们并不知道读取哪个版本,这时就靠readview来对我们进行读取版本的限制,通过readview我们才知道自己能够读取哪个版本。

当前读、快照读和MVCC的关系:

MVCC 多版本并发控制是维持一个数据的多个版本,使得读写操作没有冲突的概念,只是一个抽象概念,并非实现,因为 MVCC 只是一个抽象概念,要实现这么一个概念,MySQL 就需要提供具体的功能去实现它,(快照读就是 MySQL 实现 MVCC 理想模型的其中一个非阻塞读功能)。而相对而言,当前读就是悲观锁的具体功能实现,要说的再细致一些,快照读本身也是一个抽象概念,再深入研究。MVCC 模型在 MySQL 中的具体实现则是由 3 个隐式字段,undo 日志 ,Read View 等去完成的。

http://www.bjxfkj.com.cn/article/1116.html

相关文章:

  • 成都的网站建设公司哪家好职业技术培训
  • 深圳网站建设深icp备互联网媒体广告公司
  • 吴江企业网站建设上海网站推广服务公司
  • 二手优品哪个网站做私人网站服务器
  • 微擎做网站费用营销型网站建设的步骤流程是什么
  • 网站建设手机端管网营销型网站建设方案
  • 建设网站导航企业网站建设方案范文
  • 梅林多丽工业区做网站产品网络推广怎样做
  • 网站设计公司的推广做网站公司哪家比较好
  • 公司网站是别人做的如何换logo做一个个人网站
  • 有什么网站可以做logo赚钱安徽网站seo公司
  • 网页设计制作公司推荐厦门seo起梦网络科技
  • 天眼网查个人青岛seo整站优化哪家专业
  • WordPress标签侧边栏seo还能赚钱吗
  • 如何在虚拟机里面做网站中国免费域名注册平台
  • 做网站论文研究方法怎么写西安市网站
  • dedecms医院网站门户网站建站系统
  • 下载网站的表格要钱如何做互动营销平台
  • 郑州网站建设联系方式公司如何在百度宣传
  • 成都网站建设的公司哪家好大一网页设计作业成品免费
  • 推介网郑州seo优化外包
  • 宣讲家网站支部建设广州seo关键词优化外包
  • 网站建设的指导书google搜索引擎入口2022
  • 政府网站免费模板百度新闻最新消息
  • 桦南县建设局网站2023年6月份又封城了
  • php网站后台反应慢怎么解决优化大师会员兑换码
  • 网站设计素材模板做一个推广网站大概多少钱
  • 厦门市建设工程交易中心网站短视频seo营销系统
  • 宁夏建设网站网站优化推广的方法
  • 自己做的网站如何让外网访问谷歌浏览器下载手机版app