【第十五章 分库分表(垂直拆分,水平拆分),MyCat】

news2024/11/20 9:22:50

第十五章 分库分表(垂直拆分,水平拆分),MyCat

1.分库分表:
(1)介绍:
①采用单数据库进行数据存储,存在以下性能瓶颈:
A.IO瓶颈:热点数据太多,数据库缓存不足,产生大量磁盘IO,效率较低。 请求数据太多,带宽不够,网络IO瓶颈。
B.CPU瓶颈:排序、分组、连接查询、聚合统计等SQL会耗费大量的CPU资源,请求数太多,CPU出现瓶颈。
分库分表的中心思想都是将数据分散存储,使得单一数据库/表的数据量变小来缓解单一数据库的性能问题,从而达到提升数据库性能的目的。
(2)拆分策略:
分库分表的形式,主要是两种:垂直拆分和水平拆分。而拆分的粒度,一般又分为分库和分表,所以组成的拆分策略最终如下:
在这里插入图片描述(3)垂直拆分:
①垂直分库:以表为依据,根据业务将不同表拆分到不同库中。
在这里插入图片描述

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

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

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

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

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

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

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

(5)实现技术:
①shardingJDBC:基于AOP原理,在应用程序中对本地执行的SQL进行拦截,解析、改写、路由处理。需要自行编码配置实现,只支持java语言,性能较高。
②MyCat:数据库分库分表中间件,不用调整代码即可实现分库分表,支持多种语言,性能不及前者。
2.MyCat:
Mycat是开源的、活跃的、基于Java语言编写的MySQL数据库中间件。
在MyCat的整体结构中,分为两个部分:上面的逻辑结构、下面的物理结构。
在这里插入图片描述MyCat的逻辑结构主要负责逻辑库、逻辑表、分片规则、分片节点等逻辑结构的处理,而具体的数据存储还是在物理结构,也就是数据库服务器中存储的。

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

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

相关文章

第二证券|A股传奇董秘变身老板,公司IPO过会

A股传奇董秘何愿平卷土重来,但这次不是以董秘的身份。 12月20日,碧兴科技IPO获科创板上市委会议经过,其实控人正是A股曾经的传奇董秘何愿平。作为前碧水源董秘,何愿平曾多年连任A股身家最贵董秘。 二次创业过会 招股书显现&…

离散化算法

目录 算法原理 算法模板 1)手工编码 2)c用STL函数实现离散化 附录: 算法原理 给出一列数字,在有些情况下,这些数字的值得绝对大小不重要,而相对大小很重要。例如,对一个班级学生的成绩进行…

图片加水印怎么弄?这些图片加水印方法分享给你

相信很多小伙伴平常会喜欢将自己拍摄的作品上传到社交平台上与他人分享吧。然而有时会遇到自己辛苦拍摄的视频或者图片被他人盗用,甚至是获利的情况。其实想要避免自己的作品被他人盗用,我们可以在作品上面添加专属自己的水印,不仅可以给作品…

Java学生成绩管理系统

1、内容要求 编写一个学生成绩管理系统。学生的属性包括学号、姓名、年龄等。每个学生要学习若干课程,每门课程有平时成绩、期中考试成绩、期末考试成绩以及总评成绩,其中总评成绩平时成绩*30%期中成绩*30%期末成绩*40%。请先设计合理的类存放这些信息&a…

Span-level Bidirectional Network(2022 EMNLP)

论文题目(Title):A Span-level Bidirectional Network for Aspect Sentiment Triplet Extraction 研究问题(Question):方面情感三元组提取(ASTE)是一种新的细粒度情感分析任务,旨在从评论句中提…

【ML】机器学习中的十大深度学习算法

🔎大家好,我是Sonhhxg_柒,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎 📝个人主页-Sonhhxg_柒的博客_CSDN博客 📃 🎁欢迎各位→点赞…

RTOS多任务切换实现

实现任务需要的基础知识 1、程序内部细节 通过分析C语言程序的编码会发现程序都是一些指令和数据。 什么是程序? 指令运行过程中的数据 2、常用汇编指令 汇编指令详解 3、ARM架构过程调用标准AAPCS 传参: 通过r0-r3传递,多于4个参数的部…

【矩阵论】6. 范数理论——基本概念——向量范数与矩阵范数

6.1 基本概念 6.1.1 向量范数 a. 模长(二范数) Cn中向量X(x1x2⋮xn)的模长为∣X∣(X,X)tr(AHA)∣x1∣2∣x2∣2⋯∣xn∣2C^n中向量 X\left( \begin{matrix} x_1\\x_2\\\vdots\\x_n \end{matrix} \right)的模长为 \vert X\vert\sqrt{(X,X)}\sqrt{tr(A^HA…

nginx+keeplived 实现高可用 Web 负载均衡

nginxkeeplived 实现高可用 Web 负载均衡 一、架构简介 在系统设计中,可以利用Nginx的反向代理和负载均衡实现后端应用的高可用性,同时我们还需要考虑Nginx的单点故障。如果Nginx所在服务器宕机,或者Nginx服务不可用就会造成整个系统的不可…

鸡蛋车的控制律

这个老头像幽灵, ​拿个鸡蛋来炸群。 ​只见动画不见车, ​骗人无果还丢人! 温州一个做汽车驾驶模拟器的,在重庆为我约了美女,为鸡蛋车站台。他掏空口袋砸我,材料、工资、车马,都是他担。 余姚一…

代码随想录算法训练营第十天(字符串)| 232.用栈实现队列,225. 用队列实现栈

代码随想录算法训练营第九天(字符串)| 232.用栈实现队列,225. 用队列实现栈 232. 用栈实现队列 大家可以先看视频,了解一下模拟的过程,然后写代码会轻松很多。 题目链接/文章讲解/视频讲解: 看到题目的…

react笔记_08生命周期

目录生命周期(旧)生命周期componentWillMountcomponetdidMountshouldComponentUpdatecomponentWillUpdatecomponentDidUpdatecomponentWillUnmountcomponentWillReceiveProps组件的挂载、更新、销毁案例1渲染过程更新过程1-通过setState去修改数据更新过程2-通过forceUpdate强制…

用Python分析《阿凡达·水之道》的豆瓣短评

《阿凡达水之道》于2022年12月16日上映。第一部的口碑、评分等都非常高,第二部是否能延续呢,本文获取了该电影的豆瓣短评,进行了初步的分析,看下观众都是如何评价的。 数据获取 打开豆瓣首页,搜索电影名,进…

Spring(三): 使用注解来存储和读取Bean对象

目录一、存储Bean对象1.1 配置扫描路径1.2 使用注解存储Bean对象1.3 通过上下文读取Bean对象1.4 Bean命名规则1.5 方法注解 Bean1.5 重命名Bean二、获取Bean对象2.1 属性注入2.2 Setter注入2.3 构造方法注入2.4 Resource注解2.5 Resource注解中name参数的作用一、存储Bean对象 …

说明书丨艾美捷Annexin-V-Cy3凋亡检测试剂盒

Cy3标记的重组人膜联蛋白V显示亮红色荧光(Ex(max):543nm;Em(最大值):570nm)。 艾美捷Annexin-V-Cy3凋亡检测试剂盒化学性质: Applications: Flow Cytometry, Fluorescen…

C++【修理之路】初识string

这里写目录标题为什么学习string类?标准库中的string类string的定义转换为C风格的字符串string类的输出和输出访问字符串中的字符字符串的拼接string 字符串的增删改查总结为什么学习string类? C语言中,字符串是以’\0’结尾的一些字符的集合…

3D数学之四元数 学习笔记

四元数有三个虚部,一个实部 [ w (x y z) ] w xi yj zk i j k ijk -1 用于表示,物体在空间中的任意角度旋转 四元数的模 Sqrt(pow(w, 2) pow(x, 2) pow(y, 2) pow(z, 2)) 四元数共轭:p a bi 共轭为: p a - bi …

一文梳理 | 电力企业网络安全管理及等级保护工作重点

前言 为加强电力行业网络安全监督管理,规范电力行业网络安全工作,国家能源局近日印发《电力行业网络安全管理办法》和《电力行业网络安全等级保护管理办法》(以下简称“两办法”),有效期均为5年。随着这两部规范性文件…

门神 马丁内斯 要什么样的成就,才不枉这些年的颠沛流离

2022-12-18日 随着劳塔罗的最后一球波网而入 阿根廷成功获得了卡塔尔世界杯的冠军 结束后 所有人都去拥抱劳塔罗 只有梅西拉起了倒在地上的马丁内斯 很多人说 在这次比赛中 阿根廷有两个神 一个是球王梅西 另一个则是 门将 马丁内斯 当场上二比零时 所有人都以为阿根廷胜券在…

(二)汇编语言——寄存器

目录 通用寄存器 汇编指令 物理地址 接下来我们来介绍寄存器,同时会介绍一些基本的语句(mov,add等),好了,就让我们进入今天的学习吧!同时,我们以8086为例子来介绍,参考来自王爽老师的书。 说…