首页 > 数据库技术 > 详细

mysql分布式

时间:2019-11-18 12:35:36      阅读:49      评论:0      收藏:0      [点我收藏+]

一,复制,对数据进行备份,实现搞可用,提高吞吐量,实现高性能。

  1,主从架构

  2,多主架构

  3,主主从从

  4,主备 (实际用得多)

 

二,分片/分库分表 ()

1,垂直拆分

  1,垂直分表

  2,垂直分库

  如果做垂直分库,应该把有关联的表放在同一个库中,因为数据库的事务不能跨库,不能使用inner join,  order_by ,等链接查询,只能分次数查询,在应用端在合并。

2,水平拆分

  1,水平分表

  2,水平分库分表

  3,分布式id

 需求:水平分表后,需要保证多表id冲突问题

 

 雪花算法:1bit + 时间戳41 + 机器id10 序列号12

 id 取模运算

 

分布式事务

在一个事务不能完成的情况下,

核心:二阶段提交协议(简称2PC协议/XA协议)

问题:会出现事务等待情况,增加死锁的机率

 

基于状态/消息的最终一致性方案(使用较多)

 

 

悲观锁:

  开发者主动设置

乐观锁:

  先不加锁(假设没有并发),但更新前校验数据的一致性,手动代码实现(先查在更新)

  

 

 

 

 

 

 

 

 

 

 

mysql分布式

原文:https://www.cnblogs.com/wjun0/p/11881212.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!