专栏首页Albert陈凯2019-04-19 程序员都应该搞懂的概念【Mysql核心技术】聊聊事务的实现原理

2019-04-19 程序员都应该搞懂的概念【Mysql核心技术】聊聊事务的实现原理

https://juejin.im/post/5cb2e3b46fb9a0686e40c5cb?utm_source=gold_browser_extension

开篇 相信大家都用过事务以及了解他的特点,如原子性(Atomicity),一致性(Consistency),隔离型(Isolation)以及持久性(Durability)等。今天想跟大家一起研究下事务内部到底是怎么实现的,在讲解前我想先抛出个问题: 事务想要做到什么效果? 按我理解,无非是要做到可靠性以及并发处理 可靠性:数据库要保证当insert或update操作时抛异常或者数据库crash的时候需要保障数据的操作前后的一致,想要做到这个,我需要知道我修改之前和修改之后的状态,所以就有了undo log和redo log。 并发处理:也就是说当多个并发请求过来,并且其中有一个请求是对数据修改操作的时候会有影响,为了避免读到脏数据,所以需要对事务之间的读写进行隔离,至于隔离到啥程度得看业务系统的场景了,实现这个就得用MySQL 的隔离级别。 下面我首先讲实现事务功能的三个技术,分别是日志文件(redo log 和 undo log),锁技术以及MVCC,然后再讲事务的实现原理,包括原子性是怎么实现的,隔离型是怎么实现的等等。最后在做一个总结,希望大家能够耐心看完

redo log与undo log介绍 mysql锁技术以及MVCC基础 事务的实现原理 总结

作者:捂耳听风 链接:https://juejin.im/post/5cb2e3b46fb9a0686e40c5cb 来源:掘金 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 2019-09-09 RealMatrix 的行列备忘

    columnMaximize 是总共有多少Row rowMaximize 是总共有多少列

    Albert陈凯
  • 1.1.2 Spark生态

    1.1.2 Spark生态 Spark大数据计算平台包含许多子模块,构成了整个Spark的生态系统,其中Spark为核心。 伯克利将整个Spark的生态系统称...

    Albert陈凯
  • Storm创始人Nathan Marz:反馈即一切

    **摘要: **Nathan Marz是分布式容错实时计算系统Storm的创始人。在2011年7月Twitter收购社交媒体数据分析公司BackType前,他...

    Albert陈凯
  • 图文并茂讲解Mysql事务实现原理

    相信大家都用过事务以及了解他的特点,如原子性(Atomicity),一致性(Consistency),隔离型(Isolation)以及持久性(Durabilit...

    黄泽杰
  • mapboxGL测量实现

    讲真,MapboxGL里面虽然有测量的功能,但是不太好用,于是就萌生了自己实现的方法。本文几个turf.js来说说mapboxGL中测量的实现。

    lzugis
  • v8源码解析之hashmap(基于0.1.5)

    theanarkh
  • css(2)

    font-family可以将多个字体名保存起来,如果浏览器不支持第一个字体会依次尝试后面的字体。

    GH
  • 原创精品|后疫情时代5G发展驱动因素分析

    5G网络建设是一项投资规模巨大、产业影响深远的重大工程。回顾中国5G网络初期建设阶段,政策推动作用尤为明显,而只有政策推动的5G发展模式具有片面性、不可持续性。...

    灯塔大数据
  • 12、webpack从0到1-Prefetching/Preloading

    Ewall
  • (1)打鸡儿教你Vue.js

    HTML/CSS/JavaScript/ES6/HTTP协议/Vue/微信小程序/Node/Express/MySQL/ 面向对象/设计模式

    达达前端

扫码关注云+社区

领取腾讯云代金券