zoukankan      html  css  js  c++  java
  • 14.2 InnoDB and the ACID Model

    14.2 InnoDB and the ACID Model
    
    ACID 模型是一组数据库设计原则,强调可靠性方面对于商业数据和关键人物。
    
    MySQL 包含组件比如InnoDB存储引擎坚持ACID 模型,
    
    这样数据不会被破坏和结果不受特殊条件的弯曲 比如软件crashes 和硬件故障
    
    
    当你依靠ACID兼容的功能, 你不需要重复发明一致性检查和 crash recovery机制。
    
    
    如果你有额外的软件保障的情况下, 超可靠的硬件,一个应用可以容忍小量数据丢失或者不一致,
    
    
    你可以调整MySQL 设置来交换ACID 可靠性的一些对于更好的性能和吞吐量
    
    
    下面的章节讨论MySQL的特点, 特别是InnoDB存储引擎,与ACID模型交互:
    
    
    
        A: atomicity.
    
        C: consistency.
    
        I:: isolation.
    
        D: durability. 
    
    
    
    原子性:
    
    ACID 模型的原子性方面主要涉及InnoDB 事务,MySQl相关的功能包含:
    
    1.自动提交设置
    
    2. 提交语句
    
    3. 回滚语句
    
    4.从INFORMATION_SCHEMA 操作数据
    
    
    一致性:
    
    ACID 模型的一致性方面主要涉及 internal InnoDB 处理来保护数据(crash),Mysql相关功能包括:
    
        InnoDB doublewrite buffer.
    
        InnoDB crash recovery. 
    
    
    隔离:
    
    
    ACID 模型的隔离方面主要涉及InnoDB 事务, 特别适用于交易系统
    
    1.Autocommit  自动提交设置
    
    2.SET ISOLATION LEVEL statement. 
    
    3. InnoDB 锁low-level 细节, 在性能调优,你可以查询那些细节通过INFORMATION_SCHEMA tables. 
    
    
    Durability 耐久性:
    
    ACID 模型的耐久性方面涉及MySQL 软件功能和你的特定的硬件配置交互。
    
    很多可能的取决于你的CPU,网络,存储设备,
    
    1. InnoDB doublewrite buffer,  开启和关闭通过innodb_doublewrite configuration option.
    
    
    2.Configuration option innodb_flush_log_at_trx_commit. 
    
    
    3.Configuration option sync_binlog. 
    
    4.Configuration option innodb_file_per_table. 
    
    5.写buffer 到一个存储设备,比如磁盘,ssd或者raid阵列

  • 相关阅读:
    [luogu3393]逃离僵尸岛
    [BZOJ2818]GCD
    [SCOI2015]情报传递
    [NOIP2010]引水入城
    [luogu4315]月下“毛景树”
    「LibreOJ NOI Round #2」不等关系
    [HNOI2013]游走
    Yet Another Minimization Problem
    ZJOI2015 地震后的幻想乡
    [九省联考2018]一双木棋chess
  • 原文地址:https://www.cnblogs.com/zhaoyangjian724/p/6199099.html
Copyright © 2011-2022 走看看