美文网首页
ACID模型[Mysql InnoDB系列]

ACID模型[Mysql InnoDB系列]

作者: judeshawn | 来源:发表于2019-08-08 16:28 被阅读0次

ACID模型是数据库设计准则的集合,这些准则强调了对于业务数据和关键任务应用非常重要的可靠性方面。Mysql具有像InnoDB存储引擎这样的非常贴合ACID模型的组件,以使数据不会损坏,而且在遭遇诸如软件崩溃或硬件失灵等异常情况下也不可能胡乱返回结果。当你需要ACID兼容的功能时,你不再需要做大量无用功来做一致性检查和崩溃恢复机制。如果有额外的软件防护、终极可靠的硬件、或者是应用可以容忍少量数据的丢失或不一致,那么你也可以调整Mysql配置来牺牲部分ACID可靠性以获取更快的性能或吞吐。

下面这一部分讨论例如像InnoDB存储引擎这样的Mysql组件是如何与ACID模型的各个方面相互契合的

  • A:atomicity 原子性
  • C:consistency 一致性
  • I:isolation 隔离性
  • D:durability 持久性

原子性


ACID模型的原子性方面主要是指InnnoDB事务(transactions).相关的Mysql功能包括:

  • 自动提交(autocommit)设置
  • COMMIT 提交
  • ROLLBACK 回滚
  • INFORMATION_SCHEMA数据库表里的运营数据

一致性


ACID模型的一致性方面主要是指内部InnoDB进程保护数据不受实例崩溃的影响。相关的Mysql功能包括:

  • InnoDB doublewrite buffer 双写缓存
  • InnoDB 故障恢复

隔离性


ACID模型的隔离性方面主要指InnoDB事务,尤其是作用于每个事务的隔离级别。相关的Mysql功能包括:

  • Autocommit自动提交配置
  • SET ISOLATION LEVEL设置隔离级别的语句
  • InnoDB 锁的底层细节。在性能优化的时候,可以在INFORMATION_SCHEMA数据库表中查看这些细节。

持久性


ACID模型的持久性方面涉及Mysql软件组件和具体的硬件配置之间的交互。由于依赖于CPU、网络和存储的性能,硬件环境可能各不相同,因此这方面是最难提供具体的指导方针的(指导方针恐怕是购买‘新硬件’之类的)。相关Mysql功能包括:

  • InnoDB double buffer,使用innodb_doublewrite配置选项来开启和关闭
  • 配置innodb_flush_log_at_trx_commit选项(提交时马上刷日志)
  • 配置sync_binlog选项
  • 配置innodb_file_per_table选项(每张innodb表使用单独数据文件)
  • 在存储设备中写Buffer,例如磁盘、SSD、或者RAID阵列
  • 存储设备中使用带备用电池的缓存
  • UPS保护所有服务器和存储设备免受突然断电导致的数据丢失
  • 备份策略,例如备份频率和类型,以及备份保留时间
  • 对于分布式的或托管数据应用,数据中心Mysql服务器硬件的地理位置,以及服务器之间的网络连接的具体特征。

相关文章

  • ACID模型[Mysql InnoDB系列]

    ACID模型是数据库设计准则的集合,这些准则强调了对于业务数据和关键任务应用非常重要的可靠性方面。Mysql具有像...

  • MySQL InnoDB ACID 模型

    什么是事务? 事务就是将多个操作组合到一起完成,要么全部成功,要么全部失败,具体到数据库就是一组原子性的SQL查询...

  • [翻译] MySQL 之 InnoDB 中的 ACID

    官方文档:15.2 InnoDB and the ACID Model 一、ACID 介绍 ACID 模型是针对那...

  • mysql简记(一)

    1.mysql 的引擎常用的为Innodb和MyIASM Innodb:对数据支持事物(ACID) ,提供...

  • InnoDB锁问题

    介绍 InnoDB本身遵守DML操作的ACID模型,所以InnoDB本身支持事务。并且InnoDB也支持多种粒度的...

  • 事务处理 commit rolllback

    mysql 5.5 版本后存储引擎 InnoDB支持事务 事务(transaction) 事物的特征: ACID ...

  • Mysql数据引擎

    InnoDB数据存储引擎(Mysql5.5+ 默认数据存储引擎)主要特性: InnoDB引擎提供了对数据库ACID...

  • 数据库基础

    环境:Windows 10+cmd+MySQL5.6.36+InnoDB 一、事务的基本要素(ACID) 1、原子...

  • InnoDB存储引擎

    1、InnoDB概述 InnoDB是一个高性能、高可用、高可扩展,是MySQL 第一个完整支持ACID事务的存...

  • MYSQL-事务原理

    ACID模型 MYSQL传统关系数据库的ACID模型有以下特性 Atomicity原子性:一个事务中所有操作都必须...

网友评论

      本文标题:ACID模型[Mysql InnoDB系列]

      本文链接:https://www.haomeiwen.com/subject/cbradctx.html