首页 > 数据库 >mysql面试高频问题---mysql分库分表

mysql面试高频问题---mysql分库分表

时间:2024-02-23 15:57:06浏览次数:32  
标签:分库 拆分 库中 --- IO mysql 分表

mysql分库分表

1. 问题

主从架构,读写分离,分担了访问压力

分库分表的时机:

① 前提,项目业务数据逐渐增多,或业务发展比较迅速(单表的数据量达到1000W或20G以后)
② 优化已解决不了性能问题(主从读写分离、查询索引…)
③ IO瓶颈(磁盘IO、网络IO)、CP\瓶颈(聚合查询、连接数太多)
分库分表主要解决存储的压力

2. 分库分表拆分策略
垂直拆分与水平拆分

垂直拆分之垂直分库:以表为依据,根据业务将不同表拆分到不同库中。
特点:
① 按业务对数据分级管理、维护、监控、扩展
② 在高并发下,提高磁盘IO和数据量连接数

垂直拆分之垂直分表:以字段为依据,根据字段属性将不同字段拆分到不同表中。
特点:
① 冷热数据分离
② 减少IO过渡争抢,两表互不影响
拆分规则:
● 把不常用的字段单独放在一张表
● 把text、blob等大字段拆分出来放在附表中

水平拆分之水平分库:将一个库中的数据拆分到多个库中。
特点:
1.解决了单库大数量,高并发的性能瓶颈问题
2.提高了系统的稳定性和可用性
路由规则
● 根据id节点取模
● 按id也就是范围路由, 节点1(1-100万),节点2(100万-200万)

水平拆分之水平分表:将一个表的数据拆分到多个表中(可以在同一个库内)。
特点:
① 优化单一表数据量过大而产生的性能问题;
② 避免IO争抢并减少锁表的几率;

3. 总结

4. 问答

标签:分库,拆分,库中,---,IO,mysql,分表
From: https://www.cnblogs.com/xiaolibiji/p/18029748

相关文章

  • 2-1. 设置人物及基本组件
    添加刚体在Rigidbody2D上面有GravityScale,这表示人物收到的重力比例是1。重力参数可以通过ProjectSettings->Physics2D,找到Gravity的系数。此外物理更新的FixedUpdate函数会进入,就是因为SimulationMode设置了FixedUpdate另外记得把人物的刚体限制给锁定......
  • mysql面试高频问题---事务undo log和redo log的区别
    事务undolog和redolog的区别1.问题undolog和redolog都是mysql的日志文件,但是功能不一样。缓冲池(bufferpool):主内存中的一个区域,里面可以缓存磁盘上经常操作的真实数据,在执行增删改查操作时,先操作缓冲池中的数据(若缓冲池没有数据,则从磁盘加载并缓存),以一定频率刷新到磁......
  • [数据管理] 数据治理/大数据平台-开源软件与框架篇
    数据治理可以有效保障数据建设过程在一个合理高效的监管体系下进行,最终提供高质量、安全、流程可追溯的业务数据。1序:数据治理体系企业数据治理体系包括元数据管理、主数据管理、数据资产管理、数据质量管理、数据安全及数据标准等内容。2最新一代数据治理开源软件2.0一站......
  • NanoFramework操作ESP32(一)_基础元器件篇(二十五)_ KY-018光敏传感器
    一、元器件介绍   KY-020倾斜开关模块由一个10kΩ电阻器和一个具有双向导电性的金属球开关组成,该开关根据倾斜程度来打开/关闭电路。它不测量倾斜角。当电路向侧面倾斜时,只要以足够的力和倾斜度移动电路,即可激活内部的球开关,从而使电路闭合(稳定后电路断开)。以输出低电平电压......
  • mysql面试高频问题---事务-MVCC多版本并发控制(难)
    MVCC多版本并发控制1.问题锁:排他锁(如一个事务获取了一个数据行的排他锁,其他事务就不能再获取该行的其他锁)mvcc:多版本并发控制2.MVCC多版本并发控制MVCC全称Multi-VersionConcurrencyControl,多版本并发控制。指维护一个数据的多个版本,使得读写操作没有冲突MVCC的具体......
  • Go 100 mistakes - #62: Starting a goroutine without knowing when to stop it
       ......
  • 数学笔记(1)-勾股定理与勾股数
    勾股定理,是一个基本的几何定理,指直角三角形的两条直角边的平方和等于斜边的平方。中国古代称直角三角形为勾股形,并且直角边中较小者为勾,另一长直角边为股,斜边为弦,所以称这个定理为勾股定理,也有人称商高定理。勾股定理现约有500种证明方法,是数学定理中证明方法最多的定理之一。勾......
  • UtilMeta - 简洁高效的 Python 后端元框架
    最近开源了我开发多年的一个Python后端框架:UtilMeta项目介绍UtilMeta是一个用于开发API服务的后端元框架,基于Python类型注解标准高效构建声明式接口与ORM查询,能够自动解析请求参数与生成OpenAPI文档,高效开发RESTful接口,产出的代码简洁清晰,并且支持使用主流Python......
  • 迅为RK3568开发板驱动开发指南-输入子系统
     《iTOP-RK3568开发板驱动开发指南》更新,本次更新内容对应的是驱动(第十三篇输入子系统)视频,帮助用户快速入门,大大提升研发速度。 第13篇-输入子系统目录第1篇驱动基础篇第2篇字符设备基础第3篇并发与竞争第4篇高级字符设备进阶第5篇中断第6篇平台总线第7篇设备树......
  • three.js-坐标轴辅助器
    坐标轴辅助器(AxesHelper)用于简单模拟3个坐标轴的对象.红色代表X轴.绿色代表Y轴.蓝色代表Z轴.constaxesHelper=newTHREE.AxesHelper(5);scene.add(axesHelper);文档地址:https://threejs.org/docs/index.html#api/zh/helpers/AxesHelper构造函数(Constructor)A......