随笔 - 14  文章 - 0  评论 - 0  阅读 - 28810

理解数据库的事物,ACID,cap

什么是事物

事物就是一系列数据库操作组成的一个完整的逻辑过程。比如电商下单,新增订单记录,扣减库存,扣减积分,修改优惠券使用状态,要保证这一系列操作要不都成功,要不都不成功。不然数据就对不上啦。

什么是ACID

原子性,一致性,持久性,隔离性,这种基本概念就不必讲了

分布式系统一致性

分布式系统中的一致性与数据库有一致性不同,分布式一致性分成

强一致性:指系统某个数据更新后,后续对该数据的任何读写操作都将得到更新后的值

弱一致性: 弱一致性,相对于强一致性的概念,它不保证某个数据修改后,后续的读写都是得到更新后的值

最终一致性:最终一致性是弱一致性的特殊形式,在没有其他更新值的情况下,经过一段时间的窗口期,最终所有访问的数据都是更新后的值。比如DNS服务,更新域名指向的机器后,多级缓存要等到失效时间才会更新,但最终数据会趋于一致。

 

cap理论

cap理论是主要针对分布式存储系统。C是一致性,A是可用性, P是分区容忍性。

CAP理论认为 分布式系统最多同时满足三个特性中的两个。

一致性: 分布式系统中的所有数据备份在同一时刻,值是否相同。这里指的是强一致性。

可用性: 系统提供的服务一直处于可用状态,对于用户的每一个请求,总能在有限时间内返回结果。

分区容错性: 分布式系统遇到任务网络分区故障时,仍可以对外提供满足一致性和可用性的服务,除非整个网络环境故障。

对于一个分布式系统而言,分区容错性是基本要求。因为既然是分布式系统,那么不同的服务必然会部署到不同的网络,因此必然出现子网络。而网络问题又是一个必定会出现的异常情况.所以只能根据业务特点,在一致性和可用性上做平衡。

对于redis数据库这种,保持了cp,舍弃了可用性,因为如果不能实现一致性就没人用啦。

而对于大部分企业而言,是保持了ap,舍弃了一致性,虽然可能有不好的用户体验,但是远甚于直接无法访问系统

 

posted on   蓝色阿根廷  阅读(146)  评论(0编辑  收藏  举报
编辑推荐:
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
· .NET 9 new features-C#13新的锁类型和语义
阅读排行:
· Sdcb Chats 技术博客:数据库 ID 选型的曲折之路 - 从 Guid 到自增 ID,再到
· 语音处理 开源项目 EchoSharp
· 《HelloGitHub》第 106 期
· Spring AI + Ollama 实现 deepseek-r1 的API服务和调用
· 使用 Dify + LLM 构建精确任务处理应用
< 2025年1月 >
29 30 31 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31 1
2 3 4 5 6 7 8

点击右上角即可分享
微信分享提示