这是我参与「第五届青训营 」伴学笔记创作活动的第7天
分布式理论
概述
什么是分布式?
分布式系统是计算机程序的集合,这些程序利用跨多个独立计算节点的计算资源来实现共同的目标。可以分为分布式计算、分布式存储、分布式数据库等等。
优势:
去中心化
低成本
弹性
资源共享
可靠性强
缺点:
普遍的节点故障
不可靠的网络
异构机器与硬件环境
安全
常见的分布式系统
理论基础
CAP理论:
C:一致性
A:可用性
P:分区容错性
ACID理论:
事务是数据库系统中非常重要的概念,它是数据库管理系统执行过程中的一个逻辑单元,它能保证一个事务中所有操作要么全部执行要么全部不执行。
A原子性
C一致性
I隔离性
D持久性
CAP的一致性是指所有节点某个时刻,数据相同
BASE理论:
对CAP中的一致性和可用性权衡的结果
Basically Available 基本可用
Soft state 软状态
Eventually consistent 最终一致性
分布式事务
MVCC
是一种并发控制方式,维持一个数据的多个版本使读写操作没有冲突。所以既不会阻塞写,也不会阻塞读。MVCC为每个修改保存一个版本,和事务的时间戳相关。可以提高并发性能,解决脏读问题。
共识协议
Quorum NWR模型
N:在分布式存储系统中,有多少备份数据
W:代表一次成功更新操作要求至少有w份数据写入成功
R:代表一次成功的读数据操作至少有r份数据成功读取
为了保持一致性 W+R>=N
RAFT协议
分布式一致性算法
Paxos协议