事務是訪問并可能更新各種數據項的一個程序執行單元。
innoDB引擎遵循ACID原則,ACID主要指:
A: atomicity. 原子性
C: consistency 一致性
I: isolation. 隔離性
D: durability. 持久性
Atomicity 原子性
ACID原則中的原子性主要涉及InnoDBtransactions,主要MySQL以下功能相關:
Autocommit setting. 自動提交設置
COMMIT statement. Commit語句
ROLLBACK statement. Rollback語句
Operational data from the INFORMATION_SCHEMAtables. 從INFORMATION_SCHEMA表操作數據
Consistency 一致性
ACID原則中的一致性主要包括innodb內部對crash情況下數據的保護處理,主要MySQL以下功能相關:
InnoDB doublewrite buffer. 兩次寫
InnoDB crash recovery. 實例恢復
Isolation 隔離性
ACID原則中的隔離性主要包括InnoDBtransactions,尤其是事務隔離級別,主要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_SCHEMAtables. Innodb鎖的底層細節,通過INFORMATION_SCHEMA下相關表獲得性能相關細節
Durability 持久性
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(Uninterruptiblepower supply)保護
你的備份策略,如備份頻率、備份類型以及備份保留時間等
分布式架構的數據應用,其數據中心之間的硬件、網絡連接等
新聞熱點
疑難解答