news 2026/4/24 11:54:36

4.1.17.8.高性能

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
4.1.17.8.高性能

1.主从复制

在主服务器上,所有修改数据的语句(如 INSERT、UPDATE、DELETE)会被记录到二进制日志中。

主服务器上的一个线程(二进制日志转储线程)负责读取二进制日志的内容并发送给从服务器。

从服务器接收到二进制日志数据后,会将这些数据写入自己的中继日志(Relay Log)。中继日志是从服务器上的一个本地存储。

从服务器上有一个 SQL 线程会读取中继日志,并在本地数据库上执行,从而将更改应用到从数据库中,完成同步。

2.分库分表

2.1.分库

①垂直分库:按照业务模块将不同的表拆分到不同的库中,例如,用户表、订单表、商品表等分到不同的库中。

②水平分库:按照一定的策略将一个表中的数据拆分到多个库中,例如,按照用户 id 的 hash 值将用户表拆分到不同的库中。

2.2.分表

2.2.1.分表的方式分类

垂直拆分可以减轻查询业务的基本数据,不需要附带一些数据量大的字段的查询压力。

当表的数据量过大时,仍然要考虑水平分表,将一个表的数据分散到多个表中,以减轻单表的查询压力

2.2.3.分表策略

为了实现水平分表,需要设计合适的路由策略来确定数据应该存储在哪个表中,具体哪个表,由分片键(Sharding Key)来决定,分片键的选择应满足以下条件:

1)高区分度:分片键的值应尽量均匀分布,以避免数据倾斜。

2)查询频率高:选择经常在查询条件中使用的字段作为分片键,有助于提高查询效率。

3)写入频率高:选择经常被写入的字段,可以均匀分布写入负载。

那常见的路由策略有三种,分别是范围路由、Hash 路由和配置路由。

2.2.3.1.范围路由

什么是范围路由?

范围路由是根据某个字段的值范围进行分表。这种方式适用于分片键具有顺序性或连续性的场景。

范围路由的优点是实现简单,可以随着数据的增加平滑地扩充新的表。适用于按时间或按顺序增长的字段(如时间戳、订单号等)。缺点是可能出现数据倾斜问题,导致某些表的数据量明显大于其他表。

2.2.3.2.Hash路由(?)

哈希路由是通过对分片键进行哈希计算,然后取模来确定数据存储的表。哈希值决定了数据分布,通常能较好地平衡数据量。

哈希路由的优点是数据可以均匀分布,避免了数据倾斜,但范围查询时可能会涉及多个表,性能较差。

2.2.3.3.配置路由

配置路由是通过配置表来确定数据存储的表,适用于分片键不规律的场景。

配置路由的优点是可以根据实际情况灵活配置。缺点是需要额外的配置表,维护成本较高。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 11:11:11

【课程设计/毕业设计】基于springboot+微信小程序的在线复习小程序基于SpringBoot的在线题库微信小程序系统【附源码、数据库、万字文档】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/4/22 10:57:22

python练习项目

项目名称:简易学生成绩管理系统 功能要求: 主菜单:循环显示「1-添加成绩 2-查询成绩 3-统计分析 4-退出」;添加成绩:输入姓名成绩(校验0-100),追加写入student_grade.txt&#xff…

作者头像 李华
网站建设 2026/4/22 11:30:48

电动汽车负荷随机性下的蓄电池容量优化配置:MATLAB实现与探索

MATLAB代码:考虑电动汽车负荷随机性的蓄电池容量优化配置 关键词:蓄电池容量优化配置 储能优化配置 中长期配置 并网波动性 参考文档:《不确定环境下并网型光储微电网的容量规划》《考虑电动汽车有序充电的光储充电站储能容量优化策略_李景…

作者头像 李华
网站建设 2026/4/23 2:39:11

让YOLO飞起来:从CPU到GPU的配置指南

最近在配置YOLO(You Only Look Once)进行物体检测和图像分割任务时,发现默认安装的情况下,YOLO使用的是CPU进行计算。这对于需要处理大量图像或实时检测的任务来说,效率明显不足。本文将详细介绍如何将YOLO从CPU模式切…

作者头像 李华
网站建设 2026/4/20 15:31:52

磁链观测器:从仿真到闭环代码实现

磁链观测器(仿真+闭环代码参考文档) 1.仿真采用simulink搭建,2018b版本 2.代码采用Keil软件编译,思路参考vesc中使用的方法,自己编写的代码能够实现0速闭环启动,并且标注有大量注释,方便学习。 …

作者头像 李华
网站建设 2026/4/18 4:24:37

单机版RS485集中抄表软件:探索电表数据采集的奥秘

单机版RS485集中抄表软件,集中抄读645-2007协议的智能电表,645-1997的没有测试过,不清楚能不能抄,本地485有线集中抄表,配合485转网络可实现远程抄表在电力数据采集领域,单机版RS485集中抄表软件发挥着至关…

作者头像 李华