下载此文档

软件架构-mysql终级解决方案分库分表.docx


文档分类:IT计算机 | 页数:约7页 举报非法文档有奖
1/7
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/7 下载此文档
文档列表 文档介绍
『互联网架构』软件架构-mysql终级解决方案分库分表
 
   
 
 
 
 
 
 
 
     
 
 
 
 
 
今天一起说说sharding-Sphere,跟数据库有关的,分库分表的初解决高并发、数据分片。
垂直拆分
将一个字段(属性)比较多的表拆分成多个小表,将不同字段放到不同的表中降低单(表)库大小的目的来提高性能。 通俗:大表拆小表,拆分是基于关系型数据库的列(字段)来进行 特点
每个库(表)的结构都不一样。
每个库(表)数据都(至少有一列)一样。
每个库(表)的并集是整个数据库的全量数据。
每个库(表)的数据量(count)不会变的。
举例:一个用户表有很多的属性,关联了很多数据,如果放到同一个表里面的话查询是方便了,但是效率不行。
未拆分UserInfo表的字段
| userid | groupid | areaid | amount | point | modelid | message | islock | vip | overduedate | siteid | connectid | from | mobile |
拆分UserInfo表的字段
把常用的字段放一个表,不常用的放一个表,把字段比较大的比如text的字段拆出来放一个表里面,使用的话是根据具体业务来拆,查询时使用多表联查,可以再配合redis存储。
| userid | groupid | areaid | amount | point | modelid | message |和| islock | vip | overduedate | siteid | connectid | from | mobile |
解决问题
表与表之间的io竞争。
不解决问题
单表中数据量增长出现的压力。
水平拆分
某个字段按一定规律进行拆分,将一个表的数据分到多个表(库)中降低表的数据量,优化查询数据量的方式,来提高性能。 特点
每个库(表)的结构都一样。
每个库(表)的数据都不一样。
每个库(表)的并集是整个数据库的全量数据 。
拆分UserInfo表的字段
# 表0 userInfo_0| userid | groupid | areaid | amount | point | modelid | message | islock | vip | overduedate | siteid | connectid | from | mobile | # 表1 userInfo_1| userid | groupid | areaid | amount | point | modelid | message | islock | vip | overduedate | siteid | connectid | from | mobile | # 表2 userInfo_2| userid | groupid | areaid | amount | point | modelid | message | islock | vip | overduedate | siteid | connectid | from | mobile |
分库分表常见算法
Hash取模:通过表的一列字

软件架构-mysql终级解决方案分库分表 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数7
  • 收藏数0 收藏
  • 顶次数0
  • 上传人科技星球
  • 文件大小118 KB
  • 时间2022-03-16