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

项目代码第10讲【数据库运维知识——如何优化数据库查询效率?】:各种日志查看;主从复制;分库分表(MyCat);读写分离;区别数据分区、分表、分库

01. 运维-课程介绍_哔哩哔哩_bilibili

一、各种日志查看

二、主从复制

三、分库分表(MyCat)

四、读写分离

 五、区别数据分区、分表、分库

1、数据库分区

上图中的ibd文件,是分区表的数据文件,可以分布在不同的物理设备上(存放在不同硬盘上,见1>2》),从而高效地利用多个硬件设备

作用:如下图,在查询的时候缩小了磁盘的扫描范围

1>分区表的优势

1》逻辑上是一个事务,无需额外干涉:

        跨多表操作时和单表操作是一样的。底层的数据一致性是由数据库自己保证的。

2》分区表的数据就是:上上(上)图的ibd文件,可以把数据存储分布在不同的硬盘上——>可并行的硬盘IO资源

        这点也有劣势,如下2>

2>分区表的劣势

1》可并行的硬盘IO资源(见1>2》)设备计算资源与内存资源无法突破单体极限:作为计算节点,CPU和内存资源都是在单机上完成的

        分区表的数据操作(如查询、更新等)尽管可以在逻辑上分开处理,但最终这些操作还是需要在单一计算节点上执行。

        这意味着CPU和内存资源受限于该节点的硬件限制。

        如果某个操作不能有效地被分散到多个节点或者分区中去,并且需要大量的计算资源或内存,那么这个操作的性能将会受到所在单机的硬件能力的限制。

2》【在设计前很难知道需要分区,所以这里也是一个限制】查询必须包含分区键,且分区键必须是主键的一部分,分区键必须是整数列或解析为整数的表达式。

举例:

《1》创建下述opr表,主键只有opr_no,没有包含分区键opr_data

        代码报错,要求分区键必须是主键的一部分

《2》解决《1》:添加分区键opr_data为主键的一部分

3>实际架构设计原则:不要过分依赖数据库或某个组件自带的特性,要完成一个相对通性的设计——从而引出数据分表

2、数据分表

1>范围分表

2>Hash分表

        可以解决数据不均衡的问题,但是当新增一个结点的时候,n就会从3变成4,就会进行全局数据的迁移工作。这个风险就太大了。

        所以针对Hash分表的时候一开始就会给足资源,或者进行局部数据的迁移和调整。

3、数据分库:最后考虑

相关文章:

  • nginx部署前端项目(linux、docker)
  • Go 语言标准库中reflect模块详细功能介绍与示例
  • 从替代到超越,禅道国产化替代解决方案2.0发布!
  • 【剪辑_BGM 整合】
  • SQLite - C/C++编程接口详解
  • ner任务思路收集_基于规则匹配器
  • CPQ报价系统 | 机加工CPQ选型报价解决方案
  • Avro 批量转换成 Json 文件
  • 二维数组参数的五种形式
  • 追溯初心:记录、分享与交流的动力之源
  • 高通SDX35:atomic notifier内核通知链实例
  • AI Agent浪潮下,昇腾与科大讯飞携手开辟AI落地“新航路”
  • PEmicro Multilink FX调试踩坑
  • [已解决]DaisyUI覆盖进度条样式,导致进度条显示异常
  • bluecode-螺旋阵列的神秘艺术
  • 从头开始学C语言第三十五天——指针函数、递归函数
  • 修改菜品-02.代码开发
  • Copilot完全指南:AI编程助手的革命性实践
  • WEB或移动端常用交互元素及组件 | Axure / 元件类型介绍(表单元件、菜单和表格 、流程元件、标记元件)
  • 口腔种植全流程AI导航系统及辅助诊疗与耗材智能化编程分析
  • 沈阳哪家网站做的好/苏州seo关键词优化外包
  • 在国税网站更换购票员怎么做/广州营销型网站
  • 建设网站证书/怎么让自己上百度
  • 重庆市建设和交通委员会网站/seo技术培训泰州
  • 找柳市做网站/精准客户运营推广
  • 网页使用怎么做/杭州seo顾问