分布式数据库的事务

分库/分表的扩展模式

  • 中间层可以将数据拆解成,对不同数据库进行访问,然后将访问结果在中间层进行汇总。
  • 局限性:一个事务的访问在不同的数据库中,如:转账,一个account在数据库A,另一个在数据库B,会将一个事务拆解成两个事务,就很难保证事物的原子性,以及其他的一些性质。 此时,需要将中间层再加一些性质,来保证事物的性质ACID;如:mysql中在数据库中都会提供一些接口给中间件,去做分布式数据库的处理。
  • 优点:将数据库之间的通讯降到最低,因为会在意如何拆分业务使负载均衡,在意逻辑;基本大部分都是用这样的扩展方式,这种扩展方式更强。

并行/分布式数据库

  • 在数据库内部拆分数据,分到不同节点上执行。此时应用访问数据库就向访问单机数据库一样,对应用友好。
  • 优点:不需要将一个查询拆分为子查询,可以分给不同节点不同的东西。不存在对数据库访问受到局限性。
  • 局限性:数据库并行/分布式的方式不能做到对应用透明;会采取直接的方式分数据,会导致扩展性上不去,应用和数据库协调的不好

分布式事务

  • 有多个节点,其中有一个节点接受到请求,会分发任务到其他节点去执行,那么该节点为主节点(coordinator),其他节点为从节点(participant)
  • 认为主节点就做组织工作,不做其他事物;主节点要满足ACID,主节点可以是APP/DB</
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值