ACID模型是一组数据库设计原则,强调对业务数据和关键任务应用程序很重要的可靠性方面 。MySQL 包括组件,例如InnoDB
严格遵守 ACID 模型的存储引擎,因此数据不会损坏,结果不会因软件崩溃和硬件故障等异常情况而失真。当您依赖符合 ACID 的功能时,您不需要重新发明一致性检查和崩溃恢复机制的轮子。如果您有额外的软件保护、超可靠的硬件或可以容忍少量数据丢失或不一致的应用程序,您可以调整 MySQL 设置以交换一些 ACID 可靠性以获得更高的性能或吞吐量。
以下部分讨论 MySQL 特性,特别是 InnoDB
存储引擎,如何与 ACID 模型的类别交互:
- A:原子性。
- C:一致性。
- I::隔离性。
- D:持久性。
原子性
ACID 模型的原子性方面主要涉及InnoDB
事务。相关的 MySQL 功能包括:
autocommit
设置 。COMMIT
声明 。ROLLBACK
声明 。
一致性
ACID 模型的一致性方面主要涉及InnoDB
保护数据不崩溃的内部处理。相关的 MySQL 功能包括:
- 双
InnoDB
写缓冲区。请参见 第 15.6.4 节,“双写缓冲区”。 InnoDB
崩溃恢复。请参阅 InnoDB 崩溃恢复。
隔离性
ACID 模型的隔离性方面主要涉及InnoDB
事务,特别是适用于每个事务的隔离性级别。相关的 MySQL 功能包括:
autocommit
设置 。- 事务隔离性级别和
SET TRANSACTION
声明。请参阅 第 15.7.2.1 节,“事务隔离性级别”。 InnoDB
锁定 的低级细节。详细信息可以在INFORMATION_SCHEMA
表(见 第 15.15.2 节,“InnoDB INFORMATION_SCHEMA 事务和锁定信息”)和性能模式data_locks
和data_lock_waits
表中查看。
持久性
ACID 模型的持久性方面涉及与您的特定硬件配置交互的 MySQL 软件功能。由于取决于您的 CPU、网络和存储设备的功能有许多可能性,因此提供具体指导方针是最复杂的。(这些指导方针可能采取 “购买新硬件”的形式。)相关的 MySQL 特性包括:
- 双
InnoDB
写缓冲区。请参见 第 15.6.4 节,“双写缓冲区”。 innodb_flush_log_at_trx_commit
变量 。sync_binlog
变量 。innodb_file_per_table
变量 。- 存储设备中的写入缓冲区,例如磁盘驱动器、SSD 或 RAID 阵列。
- 存储设备中的电池支持缓存。
- 用于运行 MySQL 的操作系统,特别是它对
fsync()
系统调用的支持。 - 不间断电源 (UPS) 保护运行 MySQL 服务器和存储 MySQL 数据的所有计算机服务器和存储设备的电力。
- 您的备份策略,例如备份频率和类型,以及备份保留期。
- 对于分布式或托管数据应用程序,MySQL 服务器硬件所在的数据中心的特定特征,以及数据中心之间的网络连接。**
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
文章被以下合辑收录
评论
您好,您的文章已入选合格奖,10墨值奖励已经到账请查收!
❤️我们还会实时派发您的流量收益。
3年前

评论
相关阅读
MySQL数据库当前和历史事务分析
听见风的声音
377次阅读
2025-04-01 08:47:17
墨天轮个人数说知识点合集
JiekeXu
375次阅读
2025-04-01 15:56:03
MySQL 生产实践-Update 二级索引导致的性能问题排查
chengang
349次阅读
2025-03-28 16:28:31
3月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
301次阅读
2025-04-15 14:48:05
MySQL8.0直方图功能简介
Rock Yan
278次阅读
2025-03-21 15:30:53
MySQL 有没有类似 Oracle 的索引监控功能?
JiekeXu
268次阅读
2025-03-19 23:43:22
云和恩墨杨明翰:安全生产系列之MySQL高危操作
墨天轮编辑部
262次阅读
2025-03-27 16:45:26
MySQL 9.3 正式 GA,我却大失所望,新特性亮点与隐忧并存?
JiekeXu
254次阅读
2025-04-15 23:49:58
openHalo问世,全球首款基于PostgreSQL兼容MySQL协议的国产开源数据库
严少安
248次阅读
2025-04-07 12:14:29
PG vs MySQL 执行计划解读的异同点
进击的CJR
169次阅读
2025-03-21 10:50:08
TA的专栏
热门文章
我的故障分析及处理思路分享(李真旭)
2020-10-22 11062浏览
公共子表达式消除(Common Subexpression elimination,CSE)
2020-08-26 6184浏览
Oracle数据库的跟踪和分析方法
2020-10-02 5037浏览
2.5.9使用systemd管理MySQL服务器
2020-10-20 4516浏览
初探华为云GaussDB (for MySQL)
2020-12-11 3854浏览
最新文章
28.4.4 INFORMATION_SCHEMA INNODB_BUFFER_POOL_STATS 表
2024-09-29 102浏览
28.4.3 INFORMATION_SCHEMA INNODB_BUFFER_PAGE_LRU 表
2024-09-29 63浏览
28.4.2 INFORMATION_SCHEMA INNODB_BUFFER_PAGE 表
2024-09-29 59浏览
28.4.1 INFORMATION_SCHEMA InnoDB 表参考
2024-09-29 64浏览
28.3.50 INFORMATION_SCHEMA VIEW_TABLE_USAGE 表
2024-09-29 67浏览
目录