当前位置: 首页 > news >正文

MySQL(三):切分,主从复制,读写分离

文章目录

  • 一、切分
    • 水平切分
    • 垂直切分
    • 水平切分策略
  • 二、主从复制
  • 三、读写分离


一、切分

水平切分

水平切分又称为sharding,它是将同一个表中的记录拆分到多个结构相同的表中。当一个表的数据不断增多的时候,sharding是必然的选择,它可以将数据分布到集群的不同节点上,从而缓解单个数据库的压力。
在这里插入图片描述

垂直切分

垂直切分指的是将一张表按列拆分成多个表,通常是按照列的关系密集程度进行切分,也可以利用垂直切分将经常被使用的列和不经常被使用的列进行切分到不同的表中。

在数据库的层面使用垂直切分将按数据库中表的密集程度部署到不同的库中,例如将原来的电商数据库垂直切分成商品数据库、用户数据库等。

在这里插入图片描述

水平切分策略

哈希取模:hash(key) % N;
范围:可以是ID范围也可以是时间范围
映射表:使用单独的一个数据库来存储映射关系

二、主从复制

原理如下图所示:
在这里插入图片描述
主要涉及到了三个线程: binlog线程, IO线程,SQL线程。
1.binlog线程: 负责将主服务器上的数据更改写入二进制的日志
2.IO线程:负责从主服务器读取二进制日志,并写入slave服务器的relay log。
3.sql线程: 负责读取relay log,解析出主服务器已经执行的数据更改并且写入slave 服务器中。

三、读写分离

主服务器处理写操作和实时性要求比较高的读操作,而slave服务器处理读操作。
读写分离能提高性能的原因在于:

  • 主从服务器负责各自的读和写,极大程度缓解了锁的争用;
  • 从服务器可以使用 MyISAM,提升查询性能以及节约系统开销;
  • 增加冗余,提高可用性。

读写分离常用代理的方式来进行时西安,代理服务器接收应用层传来的读写请求,然后决定转发到哪一个服务器


http://www.lryc.cn/news/10920.html

相关文章:

  • 王道考研——计算机网络(第一章 计算机网络体系结构)
  • ElementUI中为什么使用this.$refs.form.validate验证成功却直接跳过
  • 全期望值定理与全方差定理
  • 股票的最大利润 AcWing (JAVA)
  • Go 语言函数调用参数传递规则
  • 二分查找【零神基础精讲】
  • 「计算机组成原理」数据的表示和运算(上)
  • 分层,均质,稀薄燃烧
  • mybatis-plus小课堂:多表查询【案例篇】(apply 拼接 in SQL,来查询从表某个范围内的数据)
  • HashMap原理详解
  • 推荐3款远程办公软件
  • 计算机中有符号数的表示
  • MySQL(一)服务器连接 库的基本操作
  • Maven怎样构建生命周期?
  • 真实3D地形生成器【免费在线】
  • 华为OD机试 - 整数编码(Python)
  • 【GlobalMapper精品教程】051:融合Dissolve操作详解
  • Java Excel的数据导入导出
  • OceanBase 4.0解读:兼顾高效与透明,我们对DDL的设计与思考
  • Qt线程池
  • 设置table中的tbody
  • 2023美赛A题完整数据!思路代码数据数学建模
  • Node.js安装与配置
  • k8s(存储)数据卷与数据持久卷
  • php5.6.9安装sqlsrv扩展(windows)
  • URL黑名单 扫描工具ua特征 GET(args)参数检查 cookie黑名单 POST参数检查参考代码
  • 【软考系统架构设计师】2022下论文写作历年真题
  • 推荐3个好用的scrum敏捷项目管理工具
  • 每日学术速递2.17
  • ElementUI`resetFields()`方法避坑