数据库-mysql

1. 数据库分库分表处理的具体实现方案 读后感

2019-04-13  本文已影响2人  光小月

查看《数据库分库分表策略的具体实现方案》,写了一篇读后感, 总结一下这篇文章讲了些什么。

1. 数据库的扩展方式

-  业务拆分,
-  主从复制,
-  数据库分库与分表

2. 业务拆分

业务拆分就是将重复使用的表存放在不同的库中
image.png

3. 主从复制

配置,拓补,原理分析,效率,mysqlreplicate搭建
配置主从,设置主从读写分离
image.png

主要讲述了MySQL主从复制的原理:数据复制的实际就是Slave从Master获取Binary log文件,然后再本地镜像的执行日志中记录的操作。由于主从复制的过程是异步的,因此Slave和Master之间的数据有可能存在延迟的现象,此时只能保证数据最终的一致性。

4. 数据库分库与分表

机器有自身的物理上限, 数据量太多时,需要分库
-  4.1 分表实现策略, 用户ID,表容量
用户ID是系统重要字段,
表容量: 是将数据平均分为多少张表
数据库分表能够解决单表数据量很大的
时候数据查询的效率问题
image.png
-  4.2 分库实现策略
分库操作可以很好地解决单台数据库的性能问题。
分库策略与分表策略的实现很相似,可以通过取模的方式进行路由。
关键字: 用户ID、库容量
image.png

提供的思路方式:

分库分表的策略相对于前边两种复杂一些,一种常见的路由策略如下:

1、中间变量 = user_id%(库数量*每个库的表数量);

2、库序号 = 取整(中间变量/每个库的表数量);

3、表序号 = 中间变量%每个库的表数量;
-  4.3 总结
数据库分表可以解决单表海量数据的查询性能问题,
分库可以解决单台数据库的并发访问压力问题。
上一篇 下一篇

猜你喜欢

热点阅读