【MySQL】分库分表

https://www.bilibili.com/video/BV1Kr4y1i7ru/?p=163​
https://blog.csdn.net/qq_47959003/article/details/126058710

随着互联网及移动互联网的发展,应用系统的数据量也是成指数式增长,若采用单数据库进行数据存储,存在以下性能瓶颈:
1、IO瓶颈:热点数据太多,数据库缓存不足,产生大量磁盘O,效率较低。请求数据太多,带宽不够,网络O瓶颈。
2、CPU瓶颈:排序、分组、连接查询、聚合统计等SQL会耗费大量的CPU资源,请求数太多,CPU出现瓶颈。

分库分表的中心思想都是将数据分散存储,使得单一数据库/表的数据量变小来缓解单一数据库的性能问题,从而达到提升数据库性能的目的。

分库分表

垂直分库:以表为依据,根据业务将不同表拆分到不同库中。
在这里插入图片描述

特点:
1.每个库的表结构都不一样。
2.每个库的数据也不一样。
3.所有库的并集是全量数据。

垂直分表:以字段为依据,根据字段属性将不同字段拆分到不同表中。
在这里插入图片描述

特点:
1.每个表的结构都不一样。
2.每个表的数据也不一样,一般通过一列(主键/外键)关联。
3.所有表的并集是全量数据。

水平分库:以字段为依据,按照一定策略,将一个库的数据拆分到多个库中。
在这里插入图片描述

特点:
1.每个库的表结构都一样。
2.每个库的数据都不一样。
3.所有库的并集是全量数据。

水平分表:以字段为依据,按照一定策略,将一表的数据拆分到多个表中。
在这里插入图片描述

特点:
1.每个表的表结构都一样。
2.每个表的数据都不一样。
3.所有表的并集是全量数据。

实现技术

可以根据主键id不同,访问不同的服务器
在这里插入图片描述

shardingJDBC:基于AOP原理,在应用程序中对本地执行的SQL进行拦截,解析、改写、路由处理。需要自行编码配置实现,只支持java语言,性能较高。
MyCat:数据库分库分表中间件,不用调整代码即可实现分库分表,支持多种语言,性能不及前者。

MyCat

MyCat是开源的、话跃的,基于java语言编写的Mysql数据库中间件。可以像使用mysql一样来使用mycat,对于开发人员来说根本感觉不到mycat的存在。(伪装协议)

http://www.mycat.org.cn/

目录结构:
bin:存放可执行文件,用于启动停止mycat;
conf:存放mycat的配置文件;
lib:存放mycat的项目依赖包;
logs:存放mycat的日志文件

在这里插入图片描述

在这里插入图片描述

mycat中不存放数据,只存放逻辑上的分片和其他一些聚合操作

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

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

相关文章

Java中线程的创建方式

一、继承Thread类&#xff0c;重写run方法 public class MyThread{public static void main(String[] args) {Thread threadDome new ThreadDome();threadDome.start();} }class ThreadDome extends Thread{Overridepublic void run() {for (int i 0; i < 5; i) {try {Th…

Java项目:基于SSM框架实现的汽车养护保养管理系统【ssm+B/S架构+源码+数据库+开题+毕业论文+任务书】

一、项目简介 本项目是一套基于SSM框架实现的汽车养护保养管理系统 包含&#xff1a;项目源码、数据库脚本等&#xff0c;该项目附带全部源码可作为毕设使用。 项目都经过严格调试&#xff0c;eclipse或者idea 确保可以运行&#xff01; 该系统功能完善、界面美观、操作简单、…

Linux之逻辑控制符

Linux之逻辑控制符&& 用&&连接两个命令&#xff0c;前一个命令执行成功&#xff0c;才会执行后一个命令。&&此命令可以连接很多个 命令格式 command1 && command2 command1 && command2 && command3 command1 && co…

【机器学习】基于顺序到顺序Transformer机器翻译

引言 1.1 序列到序列模型详解 序列到序列(Seq2Seq)模型是深度学习中处理序列数据转换问题的关键架构。在自然语言处理(NLP)任务中&#xff0c;如机器翻译、文本摘要和聊天机器人等&#xff0c;Seq2Seq模型能够高效地将输入序列转换为期望的输出序列。 模型架构&#xff1a; 编…

宋街宣传活动-循环利用,绿色生活

善于善行回收团队是一支致力于推动环保事业&#xff0c;积极倡导和实践绿色生活的志愿者队伍。我们的宗旨是通过回收再利用&#xff0c;减少资源浪费&#xff0c;降低环境污染&#xff0c;同时提高公众的环保意识&#xff0c;共同构建美丽和谐的家园。 善于善行志愿团队于2024年…

工具清单 - 看板工具

# 工具清单 Crepido在新窗口打开 - Create (kanban) boards to track users and projects from flat markdown files. MIT NodejsKanboard在新窗口打开 - Simple and open source visual task board. (Source Code在新窗口打开) MIT PHPmyTinyTodo在新窗口打开 - Simple way t…

C语言数据存储大小端问题

大小端 什么是大小端 大端模式&#xff08;Big-endian&#xff09;&#xff0c;是指数据的高字节&#xff0c;保存在内存的低地址中&#xff0c;而数据的低字节&#xff0c;保存在内存的高地址中; 小端模式&#xff08;Little-endian&#xff09;&#xff0c;是指数据的高字…

函数递归

哈喽啊各位&#xff0c;真是&#xff0c;好久好久好久不见。这段时间实在是太过忙碌了昂&#xff0c;还望诸君见谅&#xff0c;接下来时间会松很多&#xff0c;咱们也会恢复正常更新速度啦 小希在这里祝诸君&#xff1a;期末不挂科&#xff0c;四六级都过&#xff01;功不唐捐…

解密:不用import,Python编程将遭遇什么?

在Python中,import 语句用于导入其他模块或库,如果不使用 import,会导致以下问题&#xff1a; 无法使用外部库或模块&#xff1a; Python标准库以及第三方库提供了丰富的功能和工具,如果不导入这些库,就无法使用它们提供的功能。 代码可读性降低&#xff1a; import 语句可…

新质生产力水平测算与中国经济增长新动能(dta数据及do代码)

时间跨度&#xff1a;2012-2022年 数据范围&#xff1a;全国30个省份&#xff08;不含港澳台、西藏&#xff09; 数据指标&#xff1a; 参考韩文龙等的做法&#xff0c;收集了全部控制变量与稳定性检验所需变量。 类型 符号 变量 变量定义 被解释变量 GDP 各省人均GDP…

CRMEB开源电商系统 /api/products SQL注入漏洞复现(CVE-2024-36837)

0x01 产品简介 CRMEB开源电商系统是一款由西安众邦网络科技有限公司打造的全栈式电商解决方案,旨在为开发者和商家提供高性能、智能化的电商平台服务。该系统集成了CRM(客户关系管理)、ERP(企业资源规划)和EB(电子商务)的功能,通过深度结合这些功能,帮助用户快速构建…

螺丝工厂vtk ThreadFactory(1)

螺丝工厂vtkThreadFactory (1) 缘起 几年前的探索在Python里应用Openscad实现3D建模之3D螺纹建模初探3 新的参考: generating nice threads in openscadvtkRotationalExtrusionFilter 辅助AI: coze 笔记&#x1f4d2;: openscad 代码分析 // 半径缩放函数&#xff0c;用…

离散数学开放性问题

离散数学有关技术对人工智能发展的支持、现状认识&#xff1f;你觉得目前可能存在的巨大需求和相关技术是什么&#xff1f;哪些会替代人类工作&#xff1f;人工智能是否会对国家和人民安全产生威胁&#xff1f; 离散数学对AI发展的支持与现状认识 逻辑与推理&#xff1a;命题逻…

llamaindex原理与应用简介(宏观理解)

llamaindex原理与应用简介&#xff08;宏观理解&#xff09; 文章目录 llamaindex原理与应用简介&#xff08;宏观理解&#xff09; 这是我认为对于 llamaindex 应用的场景概述讲的相对比较好的视频&#xff1a;llamaindex原理与应用简介

JPS(Jump Point Search)跳点搜索路径规划算法回顾

本篇文章主要回顾一下几年前学的JPS跳点搜索规划算法的相关内容&#xff0c;之前学的时候没有进行概括总结&#xff0c;现在补上 一、A*算法简单回顾 – 1、基本介绍和原理 A*&#xff08;A-Star)算法是一种静态路网中求解最短路径最有效的直接搜索方法&#xff0c;也是解决许多…

吴恩达2022机器学习专项课程C2W3:2.26 机器学习发展历程

目录 开发机器学习系统的过程开发机器学习案例1.问题描述2.创建监督学习算法3.解决问题4.小结 误差分析1.概述2.误差分析解决之前的问题3.小结 增加数据1.简述2.增加数据案例一3.增加数据案例二4.添加数据的技巧5.空白创建数据6.小结 迁移学习1.简述2.为什么迁移学习有作用3.小…

Excel文件损坏怎么修复?这2个方法要学会

当你的excel文件不可读&#xff0c;或者出现提示“文件已经被损坏&#xff0c;无法打开”&#xff0c;这种情况时&#xff0c;会给我们正常的工作带来很多麻烦&#xff0c;文件损坏打不开怎么办&#xff1f;来看看这2招&#xff0c;详细的图文教程&#xff0c;小白也能轻松恢复…

MSPM0L1306——定时器

相关配置&#xff1a; #include "ti_msp_dl_config.h"int main(void) {SYSCFG_DL_init();//清除定时器中断标志NVIC_ClearPendingIRQ(TIMER_0_INST_INT_IRQN);//使能定时器中断NVIC_EnableIRQ(TIMER_0_INST_INT_IRQN);while (1) { } }//定时器…

ubuntu访问windows共享文件夹

方法: Ubuntu访问Windows共享文件夹的方法-CSDN博客 基于交换机的PC端网络通信_服务器交换机pc端-CSDN博客 补充说明&#xff1a; 在这里面输入&#xff1a; smb://192.168.0.30/WindowsShareToLinux

功率半导体检测 -硬件基础知识汇总系列文章

文章目录 前言三极管、IGBT相关文章IGBT各测试项半导体案例模拟电路视频教程 前言 入职一家半导体检测系统的研发公司&#xff0c;算是又重新开始了走人生的另一段路&#xff0c;记录下日常的点点滴滴 三极管、IGBT相关文章 一、三极管的工作原理详解 二、三极管发射结正偏-集…