InnoDB引擎遵循ACID原則,ACID主要指:
? A: atomicity. 原子性
? C: consistency 一致性
? I: isolation. 隔離性
? D: durability. 持久性
ACID原則中的原子性主要涉及InnoDB transactions,主要MySQL以下功能相關:
? Autocommit setting. 自動提交設置
? COMMIT statement. Commit語句
? ROLLBACK statement. Rollback語句
? Operational data from the INFORMATION_SCHEMAtables. 從INFORMATION_SCHEMA表操作數據
ACID原則中的一致性主要包括innodb內部對crash情況下數據的保護處理,主要MySQL以下功能相關:
? InnoDB doublewrite buffer. 兩次寫
? InnoDB crash recovery. 實例恢復
ACID原則中的隔離性主要包括InnoDB transactions,尤其是事務隔離級別,主要MySQL以下功能相關:
? Autocommit setting. 自動提交設置
? SET ISOLATION LEVEL statement. 設置事務隔離級別(四種:RU、RC、RR、SERIALIZABLE)
? The low-level details of InnoDB locking. During performance tuning, you see these details through
INFORMATION_SCHEMA tables. Innodb鎖的底層細節,通過INFORMATION_SCHEMA下相關表獲得性能相關細節
ACID原則中的持久性主要包括MySQL運行相關的硬件配置。因為取決于你的CPU、網絡和存儲等,這方面是復雜的。
主要MySQL以下功能相關:
? InnoDB doublewrite buffer 通過innodb_doublewrite選項開啟或關閉
? innodb_flush_log_at_trx_commit 刷新redo log的機制
? sync_binlog. 刷新binlog的機制
? innodb_file_per_table. Innodb 表是單個文件存放
?存儲設備的寫緩存,如:磁盤驅動器、SSD或者RAID陣列
? 存儲設備中電池支持的緩沖
? 運行MySQL的操作系統,特別是對fsync()系統調用的支持
? UPS保護
? 你的備份策略,如備份頻率、備份類型以及備份保留時間等
? 分布式架構的數據應用,其數據中心之間的硬件、網絡連接等
參考鏈接:http://dev.mysql.com/doc/refman/5.7/en/mysql-acid.html
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。