InnoDB引擎遵循ACID原則,ACID主要指:
站在用戶的角度思考問題,與客戶深入溝通,找到未央網(wǎng)站設(shè)計與未央網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、主機(jī)域名、網(wǎng)站空間、企業(yè)郵箱。業(yè)務(wù)覆蓋未央地區(qū)。? A: atomicity. 原子性
? C: consistency 一致性
? I: isolation. 隔離性
? D: durability. 持久性
ACID原則中的原子性主要涉及InnoDB transactions,主要MySQL以下功能相關(guān):
? Autocommit setting. 自動提交設(shè)置
? COMMIT statement. Commit語句
? ROLLBACK statement. Rollback語句
? Operational data from the INFORMATION_SCHEMAtables. 從INFORMATION_SCHEMA表操作數(shù)據(jù)
ACID原則中的一致性主要包括innodb內(nèi)部對crash情況下數(shù)據(jù)的保護(hù)處理,主要MySQL以下功能相關(guān):
? InnoDB doublewrite buffer. 兩次寫
? InnoDB crash recovery. 實例恢復(fù)
ACID原則中的隔離性主要包括InnoDB transactions,尤其是事務(wù)隔離級別,主要MySQL以下功能相關(guān):
? Autocommit setting. 自動提交設(shè)置
? SET ISOLATION LEVEL statement. 設(shè)置事務(wù)隔離級別(四種:RU、RC、RR、SERIALIZABLE)
? The low-level details of InnoDB locking. During performance tuning, you see these details through
INFORMATION_SCHEMA tables. Innodb鎖的底層細(xì)節(jié),通過INFORMATION_SCHEMA下相關(guān)表獲得性能相關(guān)細(xì)節(jié)
ACID原則中的持久性主要包括MySQL運(yùn)行相關(guān)的硬件配置。因為取決于你的CPU、網(wǎng)絡(luò)和存儲等,這方面是復(fù)雜的。
主要MySQL以下功能相關(guān):
? InnoDB doublewrite buffer 通過innodb_doublewrite選項開啟或關(guān)閉
? innodb_flush_log_at_trx_commit 刷新redo log的機(jī)制
? sync_binlog. 刷新binlog的機(jī)制
? innodb_file_per_table. Innodb 表是單個文件存放
?存儲設(shè)備的寫緩存,如:磁盤驅(qū)動器、SSD或者RAID陣列
? 存儲設(shè)備中電池支持的緩沖
? 運(yùn)行MySQL的操作系統(tǒng),特別是對fsync()系統(tǒng)調(diào)用的支持
? UPS保護(hù)
? 你的備份策略,如備份頻率、備份類型以及備份保留時間等
? 分布式架構(gòu)的數(shù)據(jù)應(yīng)用,其數(shù)據(jù)中心之間的硬件、網(wǎng)絡(luò)連接等
參考鏈接:http://dev.mysql.com/doc/refman/5.7/en/mysql-acid.html