1.|1. 数据库分库分表处理的具体实现方案 读后感
查看《数据库分库分表策略的具体实现方案》,写了一篇读后感, 总结一下这篇文章讲了些什么。
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 总结
数据库分表可以解决单表海量数据的查询性能问题,
分库可以解决单台数据库的并发访问压力问题。
【1.|1. 数据库分库分表处理的具体实现方案 读后感】PS: 若你觉得可以、还行、过得去、甚至不太差的话,可以“关注”一下,就此谢过!
推荐阅读
- Docker应用:容器间通信与Mariadb数据库主从复制
- 数据库设计与优化
- 数据库总结语句
- MySql数据库备份与恢复
- 数据库|SQL行转列方式优化查询性能实践
- MySQL数据库的基本操作
- springboot整合数据库连接池-->druid
- Android|Android sqlite3数据库入门系列
- Python3|Python3 MySQL 数据库连接
- 达梦数据库|DM8表空间备份恢复