【分布式】数据访问层

关键词:拆分、事务、2PC、CAP、BASE、Paxos

一、数据库垂直/水平拆分

1、数据库减压的方案:

    (a)优化应用;(b)缓存、搜索引擎;(c)将数据库的数据和访问分到多台数据库上

2、垂直拆分的影响:单机事务ACID、JOIN操作、外键约束

3、水平拆分的影响:单机事务ACID、JOIN操作、外键约束、自增序列唯一ID、查询跨库

 

二、分布式事务

1、分布式事务处理模型-X/Open DTP模型

  三个组件:AP应用程序、RM资源管理器、TM事务管理器

  四个概念:事务、全局事务、分支事务、控制线程

2、两阶段提交协议-2PC

  在提交之前增加了准备的阶段,称之为两阶段提交;

  缺点:开销增大了(交互次数增多的网络开销、额外引入事务管理器的开销)

3、CAP理论:接收状态并不需要时刻保持一致,只需要最终一致即可

  C一致性-Consistency:所有节点在同一时间读到同样的数据(也即有新数据写入成功后,所有节点会同时看到这个新数据)

  A可用性-Availability:保证无论是成功还是失败,每个请求都能收到一个反馈(也即系统一定要有响应)

  P分区容忍性-Partition Tolerance:即使系统中有部分问题或有消息的丢失,但是系统仍然能够继续运行(也即系统一部分出现问题时,系统仍能继续工作)

4、BASE模型

  Basically Available:基本可用,允许分区失败

  Soft state:软状态,接受一段时间的状态不同步

  Eventually consistent:最终一致,保证最终数据的状态是一致的

也即不保证数据变化前后所有节点立刻一致,但是保证它们最终是一致的

5、Paxos协议

  Paxos协议的前提是不存在拜占庭将军问题(也即,是需要有一个可信的通信环境,信息都是准确的,没有被篡改)

6、集群内数据一致性算法

  Quorum算法、Vector Clock算法

 

 

【读书系列】

    《大型网站系统与Java中间件实践》,曾宪杰,电子工业出版社

 

【持续更新,请移步至https://zorkelvll.cn/blogs/zorkelvll/articles/2018/11/18/1542543571220

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值