ACID 编辑
ACID,是指数据库管理系统在写入或更新资料的过程中,为保证数据库事务是正确可靠的,所必须具备的四个特性:原子性、一致性、隔离性、持久性
1
相关
InnoDB,是MySQL和MariaDB的数据库引擎之一,最初由MySQL AB发行。InnoDB由Innobase Oy公司所开发,2006年5月时由甲骨文公司并购。与传统的ISAM与MyISAM相比,InnoDB的最大特色就是支援了ACID相容的数据库事务功能,类似于PostgreSQL。
TokuDB是一个开源的高性能存储引擎,适用于MySQL和MariaDB。它通过分形树索引来实现,具可扩展性,与ACID和多版本并发控制兼容,可改善基于数据库索引的查询,可在线修改纲要,并能降低硬盘和闪存的复制滞后。
SQLite是遵守ACID的关联式数据库管理系统,它包含在一个相对小的C语言程式库中。与许多其它数据库管理系统不同,SQLite不是一个客户端/服务器结构的数据库引擎,而是被集成在用户程序中。
NewSQL是一类关系数据库数据库,它寻求为线上交易处理工作提供NoSQL系统的可扩展性,同时维护传统数据库系统的ACID保证。
事务隔离定义了数据库系统中一个事务中操作的结果在何时以何种方式对其他并发事务操作可见。隔离是事务ACID四大属性之一。
持久性定义了数据库系统中保证已提交的数据库交易将永久存在。持久性是ACID四大属性之一。例如,如果一个航班已回传一个机位已成功预订,那么即使系统崩溃,该座位仍然保持预订状态。为实现其特性,可以通过在确认提交之前,将数据库交易的日志记录更新到非挥发性内存中来实现持久性。
二阶段提交是指在计算机网络以及数据库领域内,为了使基于分布式系统架构下的所有节点在进行数据库事务提交时保持内存一致性模型而设计的一种算法。通常,二阶段提交也被称为是一种协议。在分布式系统中,每个节点虽然可以知晓自己的操作时成功或者失败,却无法知道其他节点的操作的成功或失败。当一个事务跨越多个节点时,为了保持事务的ACID特性,需要引入一个作为协调者的组件来统一掌控所有节点的操作结果并最终指示这些节点是否要把操作结果进行真正的提交。因此,二阶段提交的算法思路可以概括为: 参与者将操作成败通知协调者,再由协调者根据所有参与者的反馈情报决定各参与者是否要提交操作还是中止操作。
事务隔离定义了数据库系统中一个事务中操作的结果在何时以何种方式对其他并发事务操作可见。隔离是事务ACID四大属性之一。
二阶段提交是指在计算机网络以及数据库领域内,为了使基于分布式系统架构下的所有节点在进行数据库事务提交时保持内存一致性模型而设计的一种算法。通常,二阶段提交也被称为是一种协议。在分布式系统中,每个节点虽然可以知晓自己的操作时成功或者失败,却无法知道其他节点的操作的成功或失败。当一个事务跨越多个节点时,为了保持事务的ACID特性,需要引入一个作为协调者的组件来统一掌控所有节点的操作结果并最终指示这些节点是否要把操作结果进行真正的提交。因此,二阶段提交的算法思路可以概括为: 参与者将操作成败通知协调者,再由协调者根据所有参与者的反馈情报决定各参与者是否要提交操作还是中止操作。