目录7、事务的ACID特性8、事务的生命周期(事务控制语句)8.1 事务的开始8.2 事务的结束8.3 自动提交策略(autocommit)8.4 隐式提交语句8.5 隐式回滚8.6 开始事务流程8.7 事务回滚事务点9. InnoDB 事务的ACID如何保证?9.0 一些概念 9.1 redo log9.1.1 Redo是什么?9.1.2 作用是什么?9.1.3 redo日志位置9.1
转载
2024-01-11 13:52:52
18阅读
先看宏观概念mysql整体上可以分为server层和存储引擎层,存储引擎是以插件形式整合到mysql中的,所有的存储引擎共用一个server层。mysql各个模块的功能如下图所示
再看ACIDACID是啥?ACID是事务型数据库(OLTP,联机事务处理,相对于OLAP,联机分析处理,是分析型数据库)为了保证事务的正确可靠,必须具备的四个特性。包括原子性,一致性,隔离性,持久性;可以说ACI
转载
2023-07-07 13:56:40
89阅读
一、ACID
1.简介ACID,是指数据库管理系统(DBMS)在写入或更新资料的过程中,为保证事务(transaction)是正确可靠的,所必须具备的四个特性:原子性(atomicity,或称不可分割性)、一致性(consistency)、隔离性(isolation,又称独立性)、持久性(durability)。1.原子性atomicity:在同一个事务内部的一组操作必须全部执行成功(或者全部失败
转载
2023-06-23 15:32:30
84阅读
这是在网上copy下来的ACID的概念,可以直接跳过看后面:1、原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有发生一样。也就是说事务是一个不可分割的整体,就像化学中学过的原子,是物质构成的基本单位。2、一致性(Consistency):事务开始前和结束后,数据库的完整性约束没有被破
转载
2024-01-11 12:35:33
15阅读
ACID 特性在关系型数据库管理系统中,一个逻辑工作单元要成为事务,必须满足这 4 个特性,即所谓的 ACID:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。1 原子性原子性:事务是一个原子操作单元,其对数据的修改,要么全都执行,要么全都不执行。修改—》Buffer Pool修改—》刷盘。可能会有下面两种情况:事务提交
转载
2023-09-21 08:50:07
97阅读
1.事务定义数据库的事务(Transaction)是一种机制、一个操作序列,包含了一组数据库操作命令。
事务把所有的命令作为一个整体一起向系统提交或撤销操作请求,即这一组数据库命令要么
都执行,要么都不执行,因此事务是一个不可分割的工作逻辑单元。
在数据库系统上执行并发操作时,事务是作为最小的控制单元来使用的,特别适用于多用户同时操
作的数据库系统。例如,航空公司的订票系统、银行、保险公司以及证券
转载
2023-06-24 16:15:28
98阅读
前言最近在面试,有被问到,MySQL的InnoDB引擎是如何实现事务的,又或者说是如何实现ACID这几个特性的,当时没有答好,所以自己总结出来,记录一下。事务的四大特性ACID事务的四大特性ACID分别是,A-原子性(Atomicity),C-一致性(Consistency),I-隔离性(Isolation),D-持久性(Durability)。一致性是最终目的,原子性、隔离性、持久性是为了保证一
转载
2023-11-14 10:02:03
40阅读
在当今的数据库管理中,ACID(原子性,一致性,隔离性,持久性)是确保数据可靠性的核心原则。而当我们讨论 MySQL 中的 ACID 性质时,确保数据库的完整性和可恢复性至关重要。下面将详细阐述如何解决与“acid mysql”相关的问题,涵盖备份策略、恢复流程、灾难场景、工具链集成、日志分析和最佳实践等多个方面。
## 备份策略
要确保数据的安全与可靠,首先必须制定有效的备份策略。以下是一个
说到事物的四大特性原子性、一致性、隔离性、持久性,懂的人很多,但是稍微涉及细节,四大特性在数据库中的实现原理是怎么实现的?几乎很少有人能够答上来。所以这里着重讨论下mysql中的实现原理。问题一:Mysql怎么保证一致性的?OK,这个问题分为两个层面来说。从数据库层面,数据库通过原子性、隔离性、持久性来保证一致性。也就是说ACID四大特性之中,C(一致性)是目的,A(原子性)、I(隔离性)、D(持
转载
2023-09-19 12:59:30
46阅读
ACID模式是一组数据库设计原则强调的是,对于业务数据和关键任务应用重要的可靠性方面。MySQL包含诸如InnoDB存储引擎严格遵循ACID模型,因此数据不会损坏,结果也不会因软件崩溃和硬件故障等异常情况而失真。当您依赖于ACID的功能时,您无需重新发明一致性检查和崩溃恢复机制。如果您有其他软件保护措施,超可靠的硬件或可以容忍少量数据丢失或不一致的应用程序,则可以调整MySQL设置以牺牲一些ACI
转载
2023-10-20 11:50:40
140阅读
ACID简述 Atomicity、Durability实现之 (WAL+redo log) Atomicity 、Isolation实现之 (锁 OR undo log+MVCC)一、前言 主要是后台程序员都会和数据库打交道,最常用的关系型数据库是MySQL,最常用的存储引擎是InnoDB。InnoDB又以其支持事务而大量应用,事务的核心就是ACID。网上也有很多关于ACID的文章,但关于实现原理
转载
2023-11-11 08:59:22
52阅读
什么是事务?事务就是将多个操作组合到一起完成,要么全部成功,要么全部失败,具体到数据库就是一组原子性的SQL查询,事务内的语句要么全部成功,要么全部失败。转账的例子,小张给小王转账200块,小张这边要减200,小王那边要加200,没有事务的话如果小张减200成功,小王加200失败,那么小张给小王说我明明转账给你了,你却说没搜到,然后两个人就开始掐架了。有事务之后,小王那边加两百失败,那么整个交易是
转载
2023-11-27 00:25:53
42阅读
# 实现mysql ACID
## 流程图
```mermaid
flowchart TD
A(开始)
B{开启事务}
C{执行SQL语句}
D{提交事务}
E{回滚事务}
F(结束)
A --> B
B --> C
C --> D
C --> E
D --> F
E --> F
```
##
原创
2024-02-26 07:36:41
11阅读
引言照例,我们先来一个场景~面试官:"知道事务的四大特性么?"你:"懂,ACID嘛,原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)!"面试官:"你们是用mysql数据库吧,能简单说说innodb中怎么实现这四大特性的么?“你:"我只知道隔离性是怎么做的balab
原创
2020-10-23 22:19:09
266阅读
什么是ACID特性
ACID是指数据库事务应该具备的四个特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。下面我们将分别对这四个特性进行详细解释。
原子性(Atomicity)
原子性指的是事务是一个不可分割的工作单位,事务中的所有操作要么全部完成,要么全部不完成,不会出现部分完成的情况。如果在事务执行过程中发生错误
原创
2023-09-27 08:37:35
243阅读
1.原子性 (Atomicity)原子性是指一个事务是一个不可分割的工作单位,其中的操作要么都做,要么都不做。原子性的实现利
原创
2023-01-09 17:27:04
104阅读
Duration 持久性:基于Redolog innoDb引擎层特有 记录内容:数据页的改变 空间大小:追加写; 作用:灾难恢复; 实现方式:WAL(提交日志的时候,先写重做日志,再修改对应的页,避免丢失); 原理: 有更新的记录,先写到redolog-buffer(内存里面),当一定情况(例如内存不够、其他事务提交、当前事物提交 )落盘到磁盘中(顺序IO),落到redolog 里面,InnoDB
转载
2024-02-03 23:34:13
36阅读
文章目录1 问题背景2 事务3 原子性4 持久性4.1 redo log的存在背景4.2 为什么将redo log的数据写到磁盘比将Buffer中的数据写到磁盘快?4.3 redo log什么时候同步到磁盘里去?5 隔离性5.1 含义5.2 情况6 总结 1 问题背景前面MySQL锁之InnoDB锁实战用sql语句演示了MySQL锁导致的现象,从现象去认知了MySQL锁到底是怎么样的。在本博客M
转载
2023-11-07 05:41:01
52阅读
很久没更新博客了,这次简单聊一下我自己对mysqlACID原理的理解名词解释A(atomicity):原子性C(consistency) :一致性I(isolation):隔离性D(durability):持久性ACID的实现原理A(atomicity):使用undo log日志实现,原子性要么都成功,要么都失败,会记录每一次的操作记录的undo log日志,后面发生异常时在从undo log把事
转载
2023-06-14 21:16:41
64阅读
# MySQL ACID 实现详解
在数据库管理系统中,ACID 是一个关键的概念,代表了四个核心特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。这些特性保证了数据库在处理事务时的可靠性和稳定性。本文将深入探讨 MySQL 如何实现这些特性,并通过代码示例和流程图进行有效的说明。
## 1. ACID 特性概述