MySQL事务、主从、分库分表常见面试题

文章目录

      • 1.事务的特性
      • 2.并发事务问题,如何解决,默认隔离级别
      • 3.undo log和redo log的区别
      • 4.事务中的隔离性是如何保证的(解释一下MVCC)
      • 5.主从同步原理
      • 6.分库分表

1.事务的特性

在这里插入图片描述

2.并发事务问题,如何解决,默认隔离级别

并发事务问题
在这里插入图片描述

如何解决:对事务进行隔离
在这里插入图片描述

默认隔离级别:可重复读

3.undo log和redo log的区别

● redo log:记录的是数据页的物理变化,服务宕机可用来同步数据
● undo log:记录的是逻辑日志,当事务回滚时,通过逆操作恢复原来的数据
● redo log保证了事务的持久化,undo log保证了事务的原子性和一致性

4.事务中的隔离性是如何保证的(解释一下MVCC)

在这里插入图片描述

5.主从同步原理

MySQL主从复制的核心就是二进制日志binlog

  1. 主库再事务提交时,会把数据变更记录在二进制日志文件Binlog中
  2. 从库读取主库的二进制日志文件Binlog,写入到从库的中继日志Relay Log
  3. 从库重做中继日志中的事件,将改变反应它自己的数据

6.分库分表

大多当单表1000万数据或超过20G的时候,就需要用到分库分表

  1. 水平分库,将一个库的数据拆分到多个库中,解决海量数据存储和高并发的问题
  2. 水平分表,解决单表存储和性能的问题
  3. 垂直分库,根据业务进行拆分,高并发下提高磁盘IO和网络连接数
  4. 垂直分表,冷热数据分离,多表互不影响

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Windows部署ChatGLM3步骤

一、环境要求 硬件 内存:> 16GB 显存: > 13GB(4080 16GB) 软件 python 版本推荐3.10 - 3.11 transformers 库版本推荐为 4.36.2 torch 推荐使用 2.0 及以上的版本,以获得最佳的推理性能 二、部署步骤 1、新建pytho…

无缝集成:使用Spring Boot和Vue实现头像上传与回显功能

🌟 前言 欢迎来到我的技术小宇宙!🌌 这里不仅是我记录技术点滴的后花园,也是我分享学习心得和项目经验的乐园。📚 无论你是技术小白还是资深大牛,这里总有一些内容能触动你的好奇心。🔍 &#x…

乡村振兴多元共治,共绘乡村新蓝图:政府引领、企业助力、村民参与

乡村振兴是一项复杂而艰巨的任务,需要从多个角度进行考虑。以下是从不同身份出发对乡村振兴建设的思考: 1、政府领导的角度: 政府是乡村振兴的主要推动者和组织者。在制定和实施乡村振兴战略时,政府需要注重规划引领,科…

【webrtc】源码下载与编译

目录 下载 下依赖 内存需求 !! 参考文章 : 下载 (1) windows ,centos上都会报错 (2) ubuntu A : 在git上设置代理 B fetch通过 ubuntu的界面 proxy设置了代理 这将会拉取webRTC源码,且额外加了a…

群晖虚拟机搭建Synology Drive并实现Obsidian笔记异地多端同步

文章目录 一、简介软件特色演示: 二、使用免费群晖虚拟机搭建群晖Synology Drive服务,实现局域网同步1 安装并设置Synology Drive套件2 局域网内同步文件测试 三、内网穿透群晖Synology Drive,实现异地多端同步Windows 安装 Cpolar步骤&#…

目标检测——瓷砖瑕疵检测数据集

一、重要性及意义 瓷砖瑕疵检测在瓷砖制造和质量控制过程中具有极其重要的地位,其重要性和意义主要体现在以下几个方面: 首先,瓷砖瑕疵检测是确保产品质量的关键环节。瓷砖作为家居装修中不可或缺的材料,其表面质量直接影响到装…

关于ABP 新增表,dbfirst模式

下面的代码是基于abp生成的项目,项目名:Store 1.在Domain结尾的项目中通过EF工具生成数据实体: Scaffold-DbContext Data Source服务器IP;Initial Catalog数据库;User Idsa;Password密码;EncryptFalse; Microsoft.EntityFrameworkCore.SqlS…

【React】React Hooks

useState useState 向组件中添加状态变量 状态是只读的,不可以直接修改 对于对象类型的状态变量,应该传递一个新的对象来更改 需要对象展开,并重新赋值,进行增加或者修改。 如果需要删除,则使用 filter。 import { …

Android MTK 屏下指纹的调试过程记录

Demo链接 -----> https://download.csdn.net/download/u011694328/89118346 一些品牌手机都有了屏下指纹的功能,还算是个比较新颖的功能,最近有项目需要使用屏下指纹, 使用的是汇顶(Goodix)的指纹方案&#xff0c…

学习笔记之——3DGS-SLAM系列代码解读

最近对一系列基于3D Gaussian Splatting(3DGS)SLAM的工作的源码进行了测试与解读。为此写下本博客mark一下所有的源码解读以及对应的代码配置与测试记录~ 其中工作1~5的原理解读见博客: 学习笔记之——3D Gaussian Splatting及其在SLAM与自动…

jupyter python paramiko 网络系统运维

概述 通过使用jupyter进行网络运维的相关测试 设备为H3C 联通性测试 import paramiko import time import getpass import re import os import datetimeusername "*****" password "*****" ip "10.32.**.**"ssh_client paramiko.SSHCli…

【JSON2WEB】14 基于Amis的CRUD开发30分钟速成

【JSON2WEB】01 WEB管理信息系统架构设计 【JSON2WEB】02 JSON2WEB初步UI设计 【JSON2WEB】03 go的模板包html/template的使用 【JSON2WEB】04 amis低代码前端框架介绍 【JSON2WEB】05 前端开发三件套 HTML CSS JavaScript 速成 【JSON2WEB】06 JSON2WEB前端框架搭建 【J…

docker安装Jenkins,CI/CD,代码发布,环境维护,测试神器

文章目录 前言创建文件夹设置权限docker-compose.yaml文件安装启动docker 查看网站获取密码方式1获取密码方式2 初始化jenkins 前言 Jenkins 是一个开源的持续集成(CI)和持续交付(CD)工具,用于自动化构建、测试和部署…

2024最新高频渗透测试面试题,啃完直通大厂

2024的金三银四即将结束,不知道大家有没有找到心仪的工作呀,今天给大家整理了100道渗透测试面试题,都是今年被问到的高频题目 第一套渗透面试题 什么是渗透测试?它的目的是什么?渗透测试的五个阶段是什么?…

免重装系统,直接把家庭版升级为专业版!

前言 前段时间有小伙伴找小白重装系统。一般在重装系统之前,我都会问对方:为什么要重装系统? 结果她和我说:家庭版不好用,想要重装成专业版。感觉专业版更好一些,听起来好像也更厉害一些。 嗯……这个理由…

npm i -g nodemon 遇到的下载卡住及运行权限问题解决记录

一、下载nodemon原因 nodemon作用:用node环境运行js文件时可以实时刷新运行出结果 (即修改js代码后不需再手动重新运行js文件) 二、下载卡住 reify:semver:timing reifyNode:node_modules/nodemon Completed 卡住位置:reify:semver: timing reifyNode…

C#学习笔记9:winform上位机与西门子PLC网口通信_上篇

今日继续我的C#学习笔记,今日开始学习打开使用千兆网口来进行与西门子PLC的通信: 文章提供整体代码、解释、测试效果截图、整体测试工程下载: 主要包含的知识有:下载NuGet程序包、西门子PLC及通信协议、搭建虚拟的S7通信仿真环境…

连接两部VR头显的type-c DP分配器方案,可以给主机设备PD反向供电与两部VR同时供电。

随着type-c的发展,目前越来越多的设备都在使用type-c作为连接的接口, 不仅是笔记本与手机在使用现在的游戏主机如(任天堂,steam,)或者是VR的一体机或者是VR头显也都在使用type-c作为连接接口。 type-c接口…

Linux云计算之Linux基础3——Linux系统基础part-2

1、终端、shell、文件理论 1、终端 终端(terminal):人和系统交互的必要设备,人机交互最后一个界面(包含独立的输入输出设备) 物理终端(console):直接接入本机器的键盘设备和显示器虚拟终端(tty):通过软件…

Linux系统本地搭建DbGate数据库并结合内网穿透实现无公网IP远程连接

文章目录 1. 安装Docker2. 使用Docker拉取DbGate镜像3. 创建并启动DbGate容器4. 本地连接测试5. 公网远程访问本地DbGate容器5.1 内网穿透工具安装5.2 创建远程连接公网地址5.3 使用固定公网地址远程访问 本文主要介绍如何在Linux Ubuntu系统中使用Docker部署DbGate数据库管理工…