文件首頁
MySQL 8.4 參考手冊
相關文件 下載本手冊
PDF (美國信紙尺寸) - 39.9Mb
PDF (A4) - 40.0Mb
Man Pages (TGZ) - 258.5Kb
Man Pages (Zip) - 365.5Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 參考手冊  /  InnoDB 儲存引擎  /  InnoDB 與 ACID 模型

17.2 InnoDB 與 ACID 模型

ACID 模型是一組資料庫設計原則,強調對商業資料和任務關鍵型應用程式很重要的可靠性方面。MySQL 包含諸如 InnoDB 儲存引擎之類的元件,這些元件緊密遵守 ACID 模型,因此資料不會損毀,結果也不會因軟體當機和硬體故障等異常狀況而扭曲。當您依靠符合 ACID 標準的功能時,您不需要重新發明一致性檢查和當機復原機制。如果您有額外的軟體保護措施、超可靠的硬體,或是可以容忍少量資料遺失或不一致的應用程式,您可以調整 MySQL 設定,以犧牲一些 ACID 可靠性來換取更高的效能或輸送量。

以下各節討論 MySQL 功能,特別是 InnoDB 儲存引擎,如何與 ACID 模型的類別互動

  • A:原子性。

  • C:一致性。

  • I::隔離性。

  • D:持久性。

原子性

ACID 模型的 原子性 方面主要涉及 InnoDB 交易。相關的 MySQL 功能包括

一致性

ACID 模型的 一致性 方面主要涉及內部 InnoDB 處理,以保護資料免受當機影響。相關的 MySQL 功能包括

隔離性

ACID 模型的 隔離性 方面主要涉及 InnoDB 交易,特別是套用至每個交易的隔離層級。相關的 MySQL 功能包括

持久性

ACID 模型的 持久性 方面涉及 MySQL 軟體功能與您的特定硬體配置互動。由於根據您的 CPU、網路和儲存裝置的功能,可能會有許多可能性,因此這方面最難提供具體的指導方針。(而這些指導方針可能採用「購買新硬體」的形式。)相關的 MySQL 功能包括

  • InnoDB 雙寫緩衝區。請參閱 第 17.6.4 節「雙寫緩衝區」

  • innodb_flush_log_at_trx_commit 變數。

  • sync_binlog 變數。

  • innodb_file_per_table 變數。

  • 儲存裝置(例如磁碟機、SSD 或 RAID 陣列)中的寫入緩衝區。

  • 儲存裝置中的電池備援快取。

  • 用於執行 MySQL 的作業系統,特別是其對 fsync() 系統呼叫的支援。

  • 保護所有執行 MySQL 伺服器和儲存 MySQL 資料的電腦伺服器及儲存裝置電力供應的不斷電系統(UPS)。

  • 您的備份策略,例如備份頻率和類型,以及備份保留期限。

  • 對於分散式或託管資料應用程式,MySQL 伺服器硬體所在的資料中心特定特性,以及資料中心之間的網路連線。