MySQL的ACID模式

jx_yu發表於2016-03-15

InnoDB引擎遵循ACID原則,ACID主要指:

? A: atomicity.        原子性

? C: consistency        一致性

? I: isolation.         隔離性

? D: durability.        永續性

 

Atomicity 原子性

ACID原則中的原子性主要涉及InnoDB transactions,主要MySQL以下功能相關

? Autocommit setting.       自動提交設定

? COMMIT statement.        Commit語句

? ROLLBACK statement.    Rollback語句

? Operational data from the INFORMATION_SCHEMA tables.     INFORMATION_SCHEMA表運算元據

 

Consistency 一致性

ACID原則中的一致性主要包括innodb內部對crash情況下資料的保護處理,主要MySQL以下功能相關:

? InnoDB doublewrite buffer.    兩次寫

? InnoDB crash recovery.    例項恢復

 

Isolation 隔離性

ACID原則中的隔離性主要包括InnoDB transactions,尤其是事務隔離級別,主要MySQL以下功能相關:

? Autocommit setting.                          自動提交設定

? SET ISOLATION LEVEL statement.     設定事務隔離級別(四種:RURCRRSERIALIZABLE

? The low-level details of InnoDB locking. During performance tuning, you see these details through
INFORMATION_SCHEMA tables.         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保護

? 你的備份策略,如備份頻率、備份型別以及備份保留時間等

? 分散式架構的資料應用,其資料中心之間的硬體、網路連線等

 

參考連結:http://dev.mysql.com/doc/refman/5.7/en/mysql-acid.html

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/27000195/viewspace-2057770/,如需轉載,請註明出處,否則將追究法律責任。

相關文章