大型分布式网站与中间件(2)数据访问层

1.数据库从单机到分布式的挑战

1.1 数据垂直/水平拆分的困难

随着数据量和访问量不断的上升,数据库的压力越来越大,更换更好的硬件是一种解决方式,但是无法解决根本问题。在不靠升级硬件的情况下,能想到的处理方式就是给数据库减压。减压的思路有三个,一是优化应用;二是引入缓存减轻对数据库的压力;三是拆分数据库。

拆分的方式有两种。垂直拆分就是把一个数据库中不同业务单元的数据拆分到不同的数据库里面,水平拆分是根据一定的规则把同一业务单元的数据拆分到多个数据库中。 无论是垂直拆分还是水平拆分,最后的结果都是将原来在一个数据库中的数据拆分到了不同数据库中,所以原来单机数据库可以支持的特性现在就未必支持了。

垂直拆分会带来以下影响:
在这里插入图片描述
水平拆分会带来以下影响:
在这里插入图片描述

1.2 多实例数据库后,如何保证事务
1.2.1 分布式事务

分布式事务是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于分布式系统的不同节点上。对于传统的单机上的事务,所有的事情都在这一台机器上完成,而在分布式事务中,会有多个节点参与。

1)分布式事务模型与规范
在这里插入图片描述
在这里插入图片描述
分布式事务AP/TM/RM之间的关系:
在这里插入图片描述
DTP整体模型:
在这里插入图片描述

2)两阶段提交 2PC(Two Phase Commitment Protocol)
在这里插入图片描述
即在提交前有准备的过程,如果在准备过程中有一个资源失败,那么就会回滚所有资源。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值