MyCat - 分片 - 垂直拆分 - 概述及案例场景 | 学习笔记

简介: 快速学习 MyCat - 分片 - 垂直拆分 - 概述及案例场景

开发者学堂课程【全面讲解开源数据库中间件MyCat使用及原理(二):MyCat - 分片 - 垂直拆分 - 概述及案例场景】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/756/detail/13258


MyCat - 分片 - 垂直拆分 - 概述及案例场景

内容介绍:

一、课程总述

二、垂直拆分

 

一、课程总述

MyCat 的拆分方式,有垂直拆分也有水平拆分,分为三个层面,第一个方面解释一下 my cat 当中的垂直拆分,第二部分解释 my cat 当中的水平拆分,第三部分关于水平差分当中的分片规则的相关配置以及分片规则到底有哪些。

 

二、垂直拆分

1.概述

一种是按照不同的表(或者 schema )来切分到不同的数据库(主机)之上,这种切分可以称之为数据的垂直(纵向)切分。

image.png

垂直拆分指的是原有的应用系统,只操作了一个数据库,由于这一个数据库的存储容量是有限的,需要进行拆分,就可以把不同业务模块,涉及到的表拆分,到不同的数据库当中,也就是说拆分了三个数据库,第一个数据库来存储用户系统,相关的一些表,第二是数据库存储订单系统,所涉及到的数据库表,第三个数据库当中存储支付系统所涉及到的数据库表。这样也就意味着垂直拆分各个数据库中的存储的表结构是不一样的。

2.案例场景

image.png

原有的工作模式是应用程序需要去访问 MySQL 数据库,但是由于 MySQL 的存储容量是有限的,这个时候就需要考虑到扩容,可以对数据库进行拆分,可以把这单个数据库拆分成若干个数据库,这幅示例图当中,就拆分成了三个数据库,分别是user_db,Order_db,还有 goods_db,拆分成三个数据库以后,业务系统在访问的时候,不用直接访问mysql,应用程序在访问的时候,它只需要访问 mycat 当中的逻辑库 ITCAST_DB 就可以。在逻辑库当中,又配置了一定的逻辑表,每个游戏表又规定了它所归属的数据节点。通过 mycat 的垂直拆分,把原有的数据库进行拆分,使得用户为一个模块,订单为一个模块,商品为一个模块。

在业务系统中,有以下表结构,但是由于用户与订单每天都会产生大星的数据,单台服务器的数据存储及处理能力是有限的,可以对数据库表进行拆分,原有的数据库表:

image.png

具体的数据库表应该如何划分:原有的数据库表包括了一些用户和地区的数据库表,第二部分是商品相关的数据库表,第三部分是订单相关的数据库表。原来的数据库表所有的都存储在一个数据库当中,因为数据库的容量是有限的,如果数据库量大就要考虑分片。可以把用户及用户关联的地域放在一个数据库当中。可以把商品相关的信息放在一个数据库当中,把订单相关的信息存放在另一个数据库当中,就可以降低单台服务器的负载,并且提高数据库的存储能力,从而达到一个动态扩容。

相关文章
|
Prometheus Cloud Native Java
微服务框架(二十三)Prometheus + Grafana 安装、配置及使用
此系列文章将会描述Java框架Spring Boot、服务治理框架Dubbo、应用容器引擎Docker,及使用Spring Boot集成Dubbo、Mybatis等开源框架,其中穿插着Spring Boot中日志切面等技术的实现,然后通过gitlab-CI以持续集成为Docker镜像。 本文为Prometheus + Grafana 安装、配置及使用 本系列文章中所使用的框架版本为Spring ...
|
自然语言处理 物联网 Swift
零一万物开源Yi-VL多模态大模型,魔搭社区推理&微调最佳实践来啦!
近期,零一万物Yi系列模型家族发布了其多模态大模型系列,Yi Vision Language(Yi-VL)多模态语言大模型正式面向全球开源。
|
JavaScript 中间件 测试技术
Nest 框架:解锁企业级 Web 应用开发的秘密武器(上)
Nest 框架:解锁企业级 Web 应用开发的秘密武器(上)
Nest 框架:解锁企业级 Web 应用开发的秘密武器(上)
|
网络协议 程序员 网络架构
数据封装与解封装过程
数据封装与解封装过程
634 0
|
人工智能 Java 物联网
C# 成为 2023 年度编程语言之王!
2023 年 TIOBE 年度编程语言已经正式公布,C# 在稳居前 10 名 20 多年之久后,首次摘下年度编程语言桂冠。TIOBE 数据显示,C# 在 2023 年的涨幅达 1.43%,远超过竞争对手 Scratch 的 0.83% 和 Fortran 的 0.64%。
823 1
C# 成为 2023 年度编程语言之王!
|
机器学习/深度学习 设计模式 人工智能
人工智能和机器学习技术来优化微服务架构
人工智能和机器学习技术来优化微服务架构
379 1
|
SQL 弹性计算 测试技术
实时数仓Hologres TPC-H及点查性能开箱测试
Hologres现在仍然是TPCH-30000榜单的全球第一,领先第二名高达23%,最新发布的2.2版本相比之前的1.x的版本性能大约提升100%。
|
固态存储 算法 计算机视觉
SSD算法1
8月更文挑战第9天
|
SQL Oracle 关系型数据库
Oracle|内置函数之INSTR
【7月更文挑战第5天】
IDEA 出现问题:严重占用CPU 长时间在90~100%解决方案
IDEA 出现问题:严重占用CPU 长时间在90~100%解决方案
4267 0
IDEA 出现问题:严重占用CPU 长时间在90~100%解决方案