查看“InnoDB 与 ACID 模型”的源代码
←
InnoDB 与 ACID 模型
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
ACID 模型是一组数据库设计原则,强调对于商业数据和关键任务应用程序而言非常重要的可靠性方面。MySQL 包含诸如 InnoDB 存储引擎等组件,它们严格遵循 ACID 模型,这样数据不会被损坏,结果不会因软件崩溃和硬件故障等异常情况而扭曲。当您依赖于符合 ACID 的功能时,您无需重新发明一致性检查和崩溃恢复机制。在您拥有额外的软件保护措施、超可靠硬件或可以容忍少量数据丢失或不一致的应用程序的情况下,您可以调整 MySQL 设置,以牺牲一些 ACID 可靠性来换取更高的性能或吞吐量。 以下各节将讨论 MySQL 的特性,尤其是 InnoDB 存储引擎,如何与 ACID 模型的各个类别相互作用: * A:原子性。 * C:一致性。 * I:隔离性。 * D:持久性。 ==原子性== ACID 模型的原子性方面主要涉及 InnoDB 事务。相关的 MySQL 特性包括: * 自动提交设置。 * COMMIT 语句。 * ROLLBACK 语句。 ==一致性== ACID 模型的一致性方面主要涉及 InnoDB 的内部处理,以防止数据在崩溃时受损。相关的 MySQL 特性包括: * InnoDB 双写缓冲区。 * InnoDB 崩溃恢复。 ==隔离性== ACID 模型的隔离性方面主要涉及 InnoDB 事务,特别是适用于每个事务的隔离级别。相关的 MySQL 特性包括: * 自动提交设置。 * 事务隔离级别和 SET TRANSACTION 语句。 * InnoDB 锁定的底层细节。详情可以在 INFORMATION_SCHEMA 表中查看以及 Performance Schema 的 data_locks 和 data_lock_waits 表。 ==持久性== ACID 模型的持久性方面涉及 MySQL 软件特性与您特定的硬件配置相互作用。由于取决于您的 CPU、网络和存储设备的功能有很多可能性,因此这方面最难提供具体的指导原则。(而且这些指导原则可能采取“购买新硬件”的形式。)相关的 MySQL 特性包括: * InnoDB 双写缓冲区。 * innodb_flush_log_at_trx_commit 变量。 * sync_binlog 变量。 * innodb_file_per_table 变量。 * 存储设备(如磁盘驱动器、SSD 或 RAID 阵列)中的写入缓冲区。 * 存储设备中的电池支持缓存。 * 用于运行 MySQL 的操作系统,特别是其对 fsync()系统调用的支持。 * 保护运行 MySQL 服务器和存储 MySQL 数据的所有计算机服务器和存储设备电力的不间断电源 (UPS)。 * 您的备份策略,例如备份的频率和类型以及备份保留期。 * 对于分布式或托管的数据应用程序,MySQL 服务器所在的数据中心的特定特征,以及数据中心之间的网络连接。
返回至“
InnoDB 与 ACID 模型
”。
导航菜单
个人工具
登录
命名空间
页面
讨论
大陆简体
查看
阅读
查看源代码
查看历史
更多
搜索
导航
首页
基础知识
正则表达式
Markdown
分布式
项目管理
系统集成项目管理基础知识
云原生
Docker
云原生安全
云原生词汇表
十二因素应用
Kubernetes
音频处理
音频合成
Edge-tts
CMS系统
Docsify
VuePress
Mediawiki
自动生成
Marp
CI/CD
GitLab
设计
颜色
平面设计
AI
数字人
操作系统
GNU/Linux
数据库
Mysql
工具
链入页面
相关更改
特殊页面
页面信息