写点什么

MySQL 计划对系统表采用 ACID

  • 2014-06-06
  • 本文字数:809 字

    阅读完需:约 3 分钟

MySQL 目前仍然用 MyISAM 而不是 InnoDB 存储其关键的系统表,这可能让许多开发者感到很惊讶。因为 MyISAM 并不是 ACID(原子性、一致性、隔离性和持久性)兼容的,当修改像权限这样的系统对象时,可能会导致数据丢失或损坏。Morgan Tocker 已经对外宣布 MySQL 团队计划使用 InnoDB 作为 MySQL 系统表的存储引擎

MyISAM 是 MySQL 最初使用的存储引擎。它基于 IBM 的主机数据库技术——索引顺序存取方法(Indexed Sequential Access Method),即 ISAM 。由于 MyISAM 不支持事务,也就没有与之相关的开销,所以它往往要比其他的数据库存储引擎速度更快一些。这种引擎的缺点在于它不是 ACID 兼容的,所以很容易造成数据损坏,特别是在电力故障的情况下。

MyIASM 的首选替代方案就是由 Innobase Oy 公司开发的 InnoDB 。因为其可以提供 ACID 兼容的事务、外键约束及其他一些功能,Oracle 在 MySQL5.5 就将 InnoDB 设定为默认的存储引擎。

目前仍在积极开发的其他 MySQL 存储引擎包括:

  • Oracle 开发的 Archive
  • Monty Program 公司的 Aria
  • Monty Program 公司的 CONNECT
  • Oracle 的 CSV
  • Oracle 的 NDB
  • Calpont 公司的 InfiniDB
  • TokuTek 公司的 TokuDB
  • Percona 公司的 XtraDB
  • Monty Program 公司的 FederatedX
  • Monty Program 公司的 CassandraSE
  • Monty Program 公司的 sequence
  • Monty Program 公司的 mroonga

尽管 MySQL 计划只支持 InnoDB,它的分支 MariaDB 对存储引擎的选择仍保持完全不可知的状态。

关于发布日期,Morgan 表示:

与包含明确功能的版本不同,开发里程碑版本(DMR)的‘发布列车’模型要求各个特性在合并之前必须已经处于稳定状态。所以我不想在这里提前透露还在开发初期的工作。只能说很快。:D

查看英文原文: MySQL to Adopt ACID for System Tables


感谢杨赛对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2014-06-06 04:352361
用户头像

发布了 75 篇内容, 共 62.3 次阅读, 收获喜欢 6 次。

关注

评论

发布
暂无评论
发现更多内容

九科信息成功签约东风汽车财务有限公司RPA项目

九科Ninetech

软件测试/测试开发丨UI自动化测试用例结构分析

测试人

Python 程序员 软件测试 自动化测试 测试开发

WebAssembly 在云原生中的实践指南

Se7en

com.squareup.okhttp3:okhttp 组件安全漏洞及健康度分析

墨菲安全

组件 组件健康度 组件安全漏洞

OLAP数据库引擎怎么选?这本白皮书详解

Geek_2d6073

关于信创技术你需要了解这些概念

Onegun

操作系统 中间件 信创产业 信创生态

持续性能优化:确保应用保持高性能

这我可不懂

性能优化 高性能

低代码开发平台如何提升企业应用构建效率

力软低代码开发平台

WebGL:基于web的交互式2D/3D图形引擎

3D建模设计

JavaScript WebGL

WebVR — 网络虚拟现实

3D建模设计

WebVR

Git 速查表:中级用户必备的 12 个 Git 命令

Se7en

软件测试|Python科学计算神器numpy教程(十)

霍格沃兹测试开发学社

低代码/无代码平台:加速应用开发的工具

高端章鱼哥

低代码 快速开发 无代码 JNPF

3D 碰撞检测

3D建模设计

3D 碰撞检测

火山引擎开源通用多媒体处理框架 BMF

字节跳动开源

开源 框架 视频云 多媒体

【附 Demo】悦数图数据库推出 Graph RAG: 减少大模型“幻觉”,优化向量数据库检索能力

最新动态

GitHub Copilot三连更:能在代码行里直接提问,上下文范围扩展到终端

Openlab_cosmoplat

人工智能

com.google.guava:guava 组件安全漏洞及健康分析

墨菲安全

组件 组件健康度

Java实现学生信息管理系统读取Excel数据

SoFlu软件机器人

Katalyst:字节跳动云原生成本优化实践

字节跳动开源

开源 Kubernetes 运维 云原生 成本优化

智能汽车驾驶演进:虚拟ECU种类与优劣分析

DevOps和数字孪生

虚拟ECU 汽车行业

WebGPT VS WebGPU

3D建模设计

webgpu webgpt

org.mockito:mockito-core 组件安全漏洞及健康度分析

墨菲安全

组件 组件健康度

AI技术图像编辑 Luminar Neo for Mac激活中文

mac大玩家j

图像编辑 Mac软件 编辑图像 图像处理工具

Premiere Pro 2023 for Mac(pr2023视频编辑软件)v23.6中文激活版

mac

pr2023 苹果mac Windows软件 视频编辑软件 Premiere Pro

低代码是什么?能做什么?

树上有只程序猿

低代码 应用开发

提升开发能力的低代码思路

互联网工科生

软件开发 低代码 企业级应用程序开发

【升职加薪秘籍】我在服务监控方面的实践(2)-监控组件配置

蓝胖子的编程梦

elasticsearch Prometheus 服务监控 #Grafana 微服务监控

6 个用于 3D 网页图形渲染的最佳 WebGL 库

3D建模设计

图形引擎

软件测试|Mac安装appium报权限问题

霍格沃兹测试开发学社

软件测试|自动化界面操作神器pywinauto教程(一)

霍格沃兹测试开发学社

MySQL计划对系统表采用ACID_数据库_Jonathan Allen_InfoQ精选文章