【MySQL】主从同步原理、分库分表

news2024/11/16 5:25:25

主从同步原理

1. 主从同步原理

在这里插入图片描述

在这里插入图片描述

MySQL 经常先把命令拷入硬盘的日志,再执行日志的命令,这样的好处:

  1. 日志的位置固定,拷入硬盘的开销不大;
  2. 将命令先准备好,而不是边读边执行,性能更好,不容易出错;
  3. 日志可以在合适的时机执行,还可以分发给其他的节点,这样同一份命令由一个节点读取即可;
  4. 宕机重启时,relay log 可以从 binlog 对应的位置开始读,从 relay log 对应的位置开始写入;

不是复用 redo log,职责和生命周期不同!

回答:

  • MySQL 主从复制的核心就是主节点的二进制日志 binlog (DDL 和 DML 语句的记录);
  • 主库在事务提交时,会把数据变更记录在二进制日志文件 binlog 中;
  • 从库读取主库的二进制日志文件 binlog,写入到从库的中继日志 relay log;
  • 从库重做中继日志中的事件,将改变反映它自己的数据。

分库分表

1. 你们项目用到过分库分表吗?

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

特点:

  1. 按照业务对数据进行分级管理、维护、监控、扩展;
  2. 在高并发下,提高磁盘 IO 和网络数据量的连接数;(不同业务可以连接不同的数据库,对应的数据库磁盘利用率提高,提高数据量的连接数,因为不会因为别的业务的繁忙而不能连接此数据库)

在这里插入图片描述

特点:

  1. 冷热数据分离;
  2. 减少 IO 过度争抢,两表互不影响(处理外键约束);
    在这里插入图片描述

特点:

  1. 很直接的方式解决了单库大数量,高并发的性能瓶颈问题;
  2. 均匀的分库提高了系统的稳定性和可用性;

路由规则:

  • 根据 id 节点取模;
  • 根据 id 节点进行范围路由,节点1(1 - 100w),节点2(100w - 200w);

在这里插入图片描述

特点:

  1. 优化单一表数据量过大而产生的性能问题;
  2. 避免 IO 争抢并减少锁数据行的几率;

新的问题和新的技术:

在这里插入图片描述

分库之后的问题:

  • 分布式事务一致性问题;
  • 跨节点关联查询;
  • 跨节点分页、排序函数;
  • 主键避重;

在这里插入图片描述

分库分表中间件:

  • mycat;
  • sharding-sphere

至于中间件怎么实现与解决的感兴趣再了解,知道这个技术可以处理即可,交给它吧~

回答:

  • 业务介绍
    1. 根据自己的简历上的项目,像一个数据量大的较大业务场景(请求较多或者业务累计量大)
    2. 达到了什么样的量级(单表 1000w 或者超过 20G)
  • 具体拆分策略
    1. 水平分库,将一个库的数据拆分到多个库中,解决海量数据存储和高并发的问题;
    2. 水平分库,解决单库存储和性能的问题;
    3. 垂直分库,根据业务进行拆分,高并发下提高磁盘 IO 和网络连接数;
    4. 垂直分表,冷热数据分离,多表基本互不影响;
  • 基本上是以垂直分库和垂直分表为主;如果业务需要,再在垂直拆分的基础上做水平拆分;
    发下提高磁盘 IO 和网络连接数;**
    4. 垂直分表,冷热数据分离,多表基本互不影响;
  • 基本上是以垂直分库和垂直分表为主;如果业务需要,再在垂直拆分的基础上做水平拆分;
  • 而我觉得还是以垂直分库、垂直分表根据适合此业务场景;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1476932.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

TCGA临床及肿瘤信息解读

TCGA临床信息各英文列解读 地址:https://docs.gdc.cancer.gov/Data_Dictionary/viewer/#?viewtable-entity-list&anchorclinical 一些用药 Cisplatin:顺铂,顺铂的作用机制主要通过与DNA结合,形成DNA-顺铂加合物&#xff0…

练习 2 Web [ACTF2020 新生赛]BackupFile 1

[ACTF2020 新生赛]BackupFile 1 Web常规题目 首先尝试查找常见的前端页面index.php之类的,没找到 题目有个“BackupFile”——备份文件 尝试用工具遍历查找相关的文件 御剑没扫出来,搜索搭建好dirsearch后,扫出来的index.php.bak 扫描工…

【4.3计算机网络】网络规划与设计

目录 1.网络规划2.逻辑网络设计3.物理网络设计 1.网络规划 需求分析->通信规范分析->逻辑网络设计->物理网络设计->实施阶段 2.逻辑网络设计 3.物理网络设计 例题1: 解析:选A。 例题2: 解析:选A。 例题3. 解析&am…

2024年小程序云开发CMS内容管理无法使用,无法同步内容模型到云开发数据库的解决方案,回退老版本CMS内容管理的最新方法

一,问题描述 最近越来越多的同学找石头哥,说cms用不了,其实是小程序官方最近又搞大动作了,偷偷的升级的云开发cms(内容管理)以下都称cms,不升级不要紧,这一升级,就导致我…

uniapp:启动图 .9png 制作教程

1、工具安装:自行下载Android Studio 2、制作.9png 注意上图3条黑线的位置,意思是:标注黑线的位置可以进行缩放。 对其大多数启动图来说,标注以上3条黑线即可。

Sora的潜力与影响:对视频制作、广告、娱乐等行业的深度解析

随着技术的飞速发展,OpenAI推出的Sora模型已经引起了广泛关注。作为一款强大的视频生成工具,Sora不仅改变了视频制作的传统模式,更对广告、娱乐等多个行业产生了深远影响。本文将深度解析Sora的潜力与影响,探讨其在视频制作、广告…

JVM之CMS垃圾收集器详解

CMS垃圾收集器 CMS回收流程 官网: https://docs.oracle.com/javase/8/docs/technotes/guides/vm/gctuning/cms.html#concurrent_mark_sweep_cms_collector CMS(Concurrent Mark Sweep)收集器是一种以获取 最短回收停顿时间为目标的收集器。 采用的是"标记-清除…

重拾前端基础知识:CSS3

重拾前端基础知识:CSS3 前言边框圆角阴影图片 背景渐变文本字体多列动画与过渡2D 转换3D 转换过渡动画 网格布局弹性盒子(重点)父元素设置子元素设置 响应式设计设置 Viewport构建响应式网格视图12栅格媒体查询 案例讲解图片按钮分页 浏览器支…

面试数据库篇(mysql)- 10事务中的隔离性是如何保证

锁:排他锁(如一个事务获取了一个数据行的排他锁,其他事务就不能再获取该行的其他锁mvcc : 多版本并发控制MVCC 全称 Multi-Version Concurrency Control,多版本并发控制。指维护一个数据的多个版本,使得读写操作没有冲突 MVCC的具体实现,主要依赖于数据库记录中的隐式字段…

进程间通信的常见方式

进程间通信是计算机系统中不同进程之间进行数据交换和共享信息的方式。 父子进程之间其他地址空间不一样,但共享同一块内核空间。进程间通信的本质还是通过内核开辟缓冲区,一个进程写,一个进程读这样的工作原理。 常见的通信方式包括&#x…

一键安装|卸载 mysql 8.2.0 shell脚本

场景:为了在无网、外网 mysql 安装方便,这里分享一个自己编写得 shell脚本 这里以当前最新版 mysql 8.2.0;centos-7 二进制包下载: 下载地址 mysql_install.sh #!/bin/bash # 解压安装包 tar -xf mysql-8.2.0-linux-glibc2.17-x8…

Unity - 相机画面为黑白效果

一、 在Hierarchy中创建一个Global Volume,并设置它为局部作用 二、 将场景出现的作用域范围缩小至相机所在位置,将相机包含即可。 三、添加覆盖组件Color Adjustments,并将Saturation直接拉为-100 。 此时,相机拍摄画面为黑白,场景视图中…

ifcplusplus 示例 函数中英文 对照分析

有需求,需要分析 ifc c渲染,分析完,有 230个函数,才能完成一个加载,3d加载真的是大工程! 函数中英文对照表,方便 日后开发,整理思路顺畅!!!&#…

回归预测 | Matlab实现CPO-BiTCN-BiGRU冠豪猪算法优化双向时间卷积门控循环单元多变量回归预测

回归预测 | Matlab实现CPO-BiTCN-BiGRU冠豪猪算法优化双向时间卷积门控循环单元多变量回归预测 目录 回归预测 | Matlab实现CPO-BiTCN-BiGRU冠豪猪算法优化双向时间卷积门控循环单元多变量回归预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matlab实现CPO-BiTCN-B…

kubesphere jenkins 流水线 未运行(解决方案)

场景: 在kubesphere 中运行 流水线 devops 结果,显示未运行 但是用 admin 账户是可以运行成功的。 问题解决 1- 查日志: 然后 Caused: org.acegisecurity.userdetails.UsernameNotFoundException: org.springframework.security.core.…

yolov5v7v8目标检测增加计数功能--免费源码

在yolo系列中,很多网友都反馈过想要在目标检测的图片上,显示计数功能。其实官方已经实现了这个功能,只不过没有把相关的参数写到图片上。所以微智启软件工作室出一篇教程,教大家如何把计数的参数打印到图片上。 一、yolov5目标检测…

拥有美国洛杉矶RAKsmart云服务器:探索无限可能

随着信息技术的飞速发展,云服务器已成为企业和个人用户不可或缺的重要工具。美国洛杉矶的RAKsmart云服务器,凭借其卓越的性能、稳定的网络环境和高级的安全性,为用户提供了无尽的便利和可能性。那么,拥有这样一台云服务器&#xf…

倔强的人适合什么职业?

倔强的人总是有一股咬牙坚持的意志力,他们不管面对怎样的困境,哪怕称得上是绝境的处境,依然愿意一往直前,这种不服输和不妥协的精神感染了很多人。 倔强的人可以坚持自己的想法,不会因为外界因素和某些人的看法而有所…

VR全景HDR拍摄教程

什么是HDR? HDR可以用在哪里? 书面解释:HDR(高动态范围 High Dynamic Range)摄影,是摄影领域广泛使用的一种技术。 是不是有点懵? 我们来看一个实际的拍摄现场环境,你就懂了 我们…

文物预防性保护系统方案的需求分析

没有文物保存环境监测,就不能实施有效的文物预防性保护。因此要建立文物预防性保护体系,一定要先有良好的文物状态监测制度,进而进行科学有效的文物保护管理。所以,导入文物预防性保护监测与调控系统,首先就是要针对文物进行全年温度、湿度、光照等关键参…