数据库中的acid是什么意思
数据库中的acid是什么意思
对于许多网友来说数据库中的acid是什么意思的相关话题,接下来IT袋网小编为大家介绍。
我们说到数据库的时候,常常提到其 ACID 属性。那么 ACID 是什么意思呢?
ACID 是用来描述数据库事务的属性。反过来说,满足 ACID 属性的一系列数据库操作被称为事务。
下图解释了 ACID 在数据库事务中的含义。

1、原子性(Atomicity)
事务中的写操作是一次性执行的,不能分解成更小的部分。
如果在执行事务时出现故障,同一个事务中的写入将被回滚。
应用程序可以安全地重试同一事务,而不会产生任何副作用。
因此,原子性意味着 “全有或全无”(All or Nothing)。
2、一致性(Consistency)
CAP 定理中的 “一致性 “是指每次读取都会收到最近的写入或错误。
与 CAP 定理不同的是,这里的一致性是指保留数据库的不变性。
事务写入的任何数据都必须符合事先定义的规则,并保持数据库处于良好状态。
比如我们在数据库中设置了 Trigger 用来更新关联表,那么数据写入后必须保证其正确执行。
3、隔离(Isolation)
当有来自两个不同事务的并发写入时,这两个事务是相互隔离的。
最严格的隔离是 “序列化”(serializability),即每个事务运行时都像数据库中唯一运行的事务一样。
然而,这在现实中很难实现,所以我们通常采用较弱的隔离级别。
4、持久化(Durability)
事务提交后,即使系统发生故障,数据也会被持久化。数据库会使用预写日志(Write-Ahead Log)或类似机制来确保持久化。
在分布式系统中,持久化意味着数据会复制到其他节点。
神书 DDIA (Designing Data Intensive Applications) 中关于 ACID 有几点很好的见地,值得我们思考:
- 一致性其实是应用程序的责任,而不是数据库的职责范围。应用程序可以使用原子性和隔离来保证数据的一致性。而数据库系统只能保证各种数据库规则被执行了。
- ACID 四个属性中只有隔离是用来描述并发情况的,原子性并不描述并发情况。
- 各个弱隔离级别都会带来一些限制,我们需要清楚其底层机制。
上面IT袋网为您介绍的数据库中的acid是什么意思的全文内容,IT袋网[www.itdai.com]希望对网友有所帮助!
相关阅读
-
网站首页图片怎么做的 网页设计图片的模板
跟大家说一说网站首页图片怎么做的和网页设计图片的模板的IT小经验,接下来一起来看看吧。 PS制作华丽大气的游戏网站主页图片 制作主页是一项非常复杂的工作,跟创意合成有点类似。首
-
什么是5G无线网络 有什么特点?
今天介绍什么是5G无线网络的内容,接下来一起来看看吧。 5G无线网络是一种使用5GHz频段的无线网络,它是2.4GHz的补充,旨在提供更高的性能和更少的干扰。 通常支持a、n、ac和ax等协议。其中
-
网站域名怎么申请注册 服务器域名注册的流程
一篇很详细的教程是关于网站域名怎么申请注册和服务器域名注册的流程IT技巧方面的经验,具体内容如下: .com域名 是商业使用最广域名,.com域名从开始到现在一直是全球使用最为多的顶级
-
什么是FTP 工作原理及过程
跟大家说一说什么是FTP的方法内容,继续往下看吧! FTP(File Transfer Protocol)是一种用于在计算机网络上进行文件传输的协议。 它允许用户通过网络将文件从一个计算机传输到另一个计算机。


