一、相关概念:
- 为了解决存储压力,MySql可以实现分布式存储,通过不同的算法将数据存储到不同服务器中,以达到分散单台服务器负载的效果
- 分库分割方式:
垂直分割(分库) 按业务类型分类,将存储在一个库里的表分别存储到不同的数据库器里
水平分割(分表) 将表记录按行切分,分散存储到多个数据库服务器表中。
二、常用分库分表软件
- MyCat
三、十种分片规则:
- 枚举法 sharding-by-intfile(常用)
- 固定分片 rule1
- 范围约定 auto-sharding-long
- 求模法 mod-long (常用)
- 日期列分区法 sharding-by-date
- 通配取模 sharding-by-pattern
- ASCII码求模通配 sharding-by-prefixpattern
- 编程指定 sharding-by-substring
- 字符串拆分hash解析 sharding-by-stringhash
- 一致性hash sharding-by-murmu
四、常用的拓扑结构:
五、分片服务器的工作过程;
客户端(client50)连接分片服务器执行存储数据命令insert
步骤一:检查表使用的分片规则
步骤二:根据表使用分片规则的计算结果,将命令发送给后端数据库服务器执行
步骤三:获取数据库服务器的执行结果,并将结果返回给客户端