您当前的位置: 首页 > 

水的精神

暂无认证

  • 0浏览

    0关注

    711博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

分库分表

水的精神 发布时间:2020-02-18 16:47:48 ,浏览量:0

 这篇文章主要介绍分库分表,以及分库分表带来的问题、

 

# # 分库分表的几种形式

 水平分库,本质是把相同的表放在不同的机器上。

 垂直分库:本质是将多个表拆分到不同的机器上。

 水平分表,本质是分表数据。

 垂直分表: 本质是将不同的字段分成成多个表。

 

# # 垂直分表(按照字段分,分的内容是字段)

 带来的好处:

 

# # 垂直分库(分的内容是表)

  简单的理解就是将数据库放在不同的机器上。

 

带来的好处:

 

 

# # 水平分库(本质是分的表数据,把表数据分到不同的机器上去)

 

 

# # 水平分表(本质是分表数据)

 

 

 

# # 分库分表最终的形式

其中tabel1 和 table2 是一类表,表字段相同。

 

   

  从这个架构来看,想要操作表需要经过的是: 判断服务器是哪个 -->  判断表是哪个 

 

 

 # # 分库分表带来的问题

 分布式事务问题

 跨节点关联查询,有可能查询的数据不在相同的服务器上,那是不是想要关联查询就要拆成连个分别去执行呢?

 全量数据的排序问题,需要排序的数据分布在不同的表中,以最简单的上一个架构图中可以看到,一份数据被放在了三个库的九张表中。

 主键重读的问题,比方说:主键自增,如果九张表都是自增,且都是从1 开始自增,那主键就一定要重复了。

 

# # 公共表的问题

 实际开发中,往往有一些数据,量并不大,并不需要分库分表。比方说数据字典表,有点数据属于高频联合查询的依赖表,比如地理区域表。

 

 

 

 

关注
打赏
1664074814
查看更多评论
立即登录/注册

微信扫码登录

0.0454s