第101讲:Mycat分布式数据库代理系统的核心概念以及部署

news2024/11/13 9:36:03

文章目录

    • 1.Mycat核心概念
      • 1.1.Mycat介绍
      • 1.2.Mycat的应用场景
      • 1.3.Mycat结构概念
      • 1.4.Mycat的原理
      • 1.5.Mycat管理
    • 2.部署Mycat

1.Mycat核心概念

1.1.Mycat介绍

Mycat是开源的、活跃的、基于JAVA语言编写的MySQL数据库中间件,可以把它看做是一个代理程序,开发人员可以像使用MySQL一样来使用Mycat,连接上Mycat就可以操作管理的数据库,无需知道底层到底有哪些数据库,每一台数据库都做了怎样的配置。

Mycat是一个开源的分布式数据库系统,在企业环境中,只要涉及分布式的数据库架构,大多数都会采用Mycat去实现,Mycat的核心功能有读写分离、分库分表等等。

Mycat不光可以支持MySQL数据库,还可以支持Oracle、SQLServer、DB2等等主流的数据库,还支持MongoDB这类的NoSQL数据库,对于使用者来说,无论使用的是哪一种数据库,在Mycat中都是一个传统的数据库,支持标准的SQL语句,对于开发人员来说可以大大减少开发难度,通过一个Mycat软件就可以很方面的管理。

Mycat相当于分发者,一个MySQL可以管理后端多个MySQL服务器或者是MySQL集群,通常情况下为了保证高可用环境,一般会准备两个Mycat,通过负载均衡产品形成负载均衡集群,Mycat不仅可以实现读写分离还可以实现分库分表以及容灾备份等等,让整个架构具有很强的灵活性。

1.2.Mycat的应用场景

Mycat发展到现在,使用的场景非常丰富,典型的应用场景有以下几种:

  • 读写分离,配置最简单,支持读写分离,主从切换,高可用架构集群。
  • 分库分表,对于超过1000w的数据进行分片,最大支持1000亿数据的分库分表。
  • 多租户应用,每个程序都通过mycat链接到不同的数据库。

1.3.Mycat结构概念

在Mycat的结构中,分为逻辑结构和物理结构,在逻辑结构中包含:

  • Schema逻辑库:通过逻辑库去关联真实的数据库,相当于调用,但是数据不存在Mycat,只是逻辑层面。
  • Table逻辑表:与逻辑库概念一致,关联的是真实的表。
  • 分片规则:通过一些策略,决定数据的读写操作应该路由到哪一个数据库节点。
  • DataNode分片节点:分片节点会关联具体的Mycat节点。

在物理结构中包含的就是具体的数据库实例节点。

image-20220712211856264

1.4.Mycat的原理

Mycat相当于一个中间件,用户通过Mycat去管理后端的数据库节点,可以实现读写分离、分库分表、高可用等机制。

在Mycat中,每当执行一条SQL语句时,Mycat会对这条SQL语句进行SQL解析、分片分析、路由分析、读写分离分析等操作,最终经过一系列的分析决定当前SQL语句路由到哪一个数据节点,数据库数据执行完毕后,如果返回的结果,会将结果返回给Mycat,由于数据分散存储在每个数据库节点中,Mycat收到数据后会对数据进行合并、聚合处理、排序处理、分页处理等操作,最终返回给客户端。

1.5.Mycat管理

Mycat默认开通2个端口,可以在server.xml中进行修改。

  • 8066 数据访问端口,即进行 DML 和 DDL 操作。

  • 9066 数据库管理端口,即 mycat 服务管理控制功能,用于管理mycat的整个集群状态

2.部署Mycat

1.安装java环境
[root@mysql-1 ~]# yum -y install java

2.安装mycat
[root@mysql-1 ~]# tar xf Mycat-server-1.6.5-release-20180117003034-linux.tar.gz -C /data/
[root@mysql-1 ~]# ll /data/mycat/
总用量 12
drwxr-xr-x 2 root root  190 711 22:14 bin
drwxrwxrwx 2 root root    6 31 2016 catlet
drwxrwxrwx 4 root root 4096 711 22:14 conf
drwxr-xr-x 2 root root 4096 711 22:14 lib
drwxrwxrwx 2 root root    6 117 2018 logs
-rwxrwxrwx 1 root root  219 117 2018 version.txt

3.配置环境变量
[root@mysql-1 ~]# vim /etc/profile
export MYCAT_HOME=/data/mycat
export PATH=$MYCAT_HOME/bin:$PATH
[root@mysql-1 ~]# source /etc/profile

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

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

相关文章

MariaDB落幕和思考

听过MySQL的基本也都知道 MariaDB。MariaDB由MySQL的创始人主导开发,他早前曾以10亿美元的价格,将自己创建的公司MySQL AB卖给了SUN,此后,随着SUN被甲骨文收购,MySQL的所有权也落入Oracle的手中。传闻MySQL的创始人担心…

融中穿刺路径角度评估的C++技术实现

消融模型的三维渲染 我们以肝部为例,通常肝部在做消融手术规划时有几个步骤。 一三维重建: 对器官进行图像分割; 对肿瘤的原发区域GTV进行勾画。 二穿刺路径的规划: 路径规划当中有几个约束:穿刺深度、危及器官的…

普中51单片机(DS18B20温度传感器)

DS18B20温度传感器原理 内部结构 64位(激)光刻只读存储器 光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列号。64位光刻ROM的排列是:开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身…

论文精读--GPT1

把transformer的解码器拿出来,在没有标号的大量文本数据上训练一个语言模型,来获得预训练模型,然后到子任务上微调,得到每个任务所需的分类器 Abstract Natural language understanding comprises a wide range of diverse tasks…

祝贺!湖南天府生态农业有限公司喜获“湖南省生猪核心育种场”授牌

为贯彻落实全国畜禽遗传改良计划,根据《湖南省种业振兴行动实施方案》以及省农业农村厅办公室《关于开展省级种畜禽核心场遴选工作的通知》,湖南省农业农村厅组织省畜禽遗传资源委员会在全省范围内开展了省级畜禽核心育种场遴选工作。 经养殖场申请、市县…

解决SSH远程登录开饭板出现密码错误问题

输入“adduser Zhanggong回车”,使用adduser命令创建开发板用户名为Zhanggong 输入密码“123456” 输入密码“123456”

华清远见作业第四十一天——Qt(第三天)

思维导图: 编程 完善对话框,点击登录对话框,如果账号和密码匹配,则弹出信息对话框,给出提示”登录成功“,提供一个Ok按钮,用户点击Ok后,关闭登录界面,跳转到其他界面 如…

OpenAI Sora视频模型技术原理报告解读

▌01. OpenAI Sora 视频生成模型技术报告总结 •不管是在视频的保真度、长度、稳定性、一致性、分辨率、文字理解等方面。 •技术细节写得比较泛(防止别人模仿)大概就是用视觉块编码(visual patch)的方式,把不同格…

k8s-heml联动harbor 18

将打包的heml包上传到harbor仓库进行管理 创建一个公开的项目来接收传送的heml包 安装helm-push插件: helm plugin install https://github.com/chartmuseum/helm-push (在线安装,要求网速要快或者提供科学上网) 离线安装&…

庖丁解牛-二叉树的遍历

庖丁解牛-二叉树的遍历 〇、前言 01 文章内容 一般提到二叉树的遍历,我们是在说 前序遍历、中序遍历、后序遍历和层序遍历 或者说三序遍历层序遍历,毕竟三序和层序的遍历逻辑相差比较大下面讨论三序遍历的递归方法、非递归方法和非递归迭代的统一方法然…

linux drm mipi dsi lcd 点屏之设备树配置

linux drm mipi dsi lcd 点屏之设备树配置 设备树文档: https://elixir.bootlin.com/linux/v6.8-rc5/source/Documentation/devicetree/bindings/display/dsi-controller.yaml https://elixir.bootlin.com/linux/v6.8-rc5/source/Documentation/devicetree/binding…

卫星地面站监测系统仿真

当今世界,大国竞争日趋激烈,国际关系愈发紧张,信息与通信已经是当下高度信息化社会的“命脉”,信息只有经过有效且广泛地传播,才能成为一种有利用价值的资源,产生经济效益、推动社会发展。通信技术在发展的…

C语言运用中断子系统用驱动控制led实验,c语言串口led点灯实验(驱动+应用层)

中断子系统用驱动控制led实验 驱动代码 #include <linux/init.h> #include <linux/module.h>#include<linux/interrupt.h> #include<linux/gpio.h> #include<linux/timer.h>#include<linux/of.h> #include<linux/of_irq.h> #inclu…

QQ防红跳转短网址生成网站完整源码

使用此源码可以生成QQ自动跳转到浏览器的短链接&#xff0c;无视QQ报毒&#xff0c;任意网址均可生成。 全新界面&#xff0c;网站背景图采用Bing随机壁纸 支持生成多种短链接 兼容电脑和手机页面 生成网址记录功能&#xff0c;域名黑名单功能 网站后台可管理数据 安装说明&am…

《图解HTTP》笔记2:http的构成

1&#xff0c;查看浏览器上面一个具体的http请求 浏览器地址栏输入网址&#xff1a;https://news.baidu.com/ 使用浏览器的开发者工具&#xff0c;查看网络中发送和接受的数据。 可以看到输入一个网址&#xff0c;浏览器和服务器进行了很多的交互。&#xff08;绿色部分&#…

【深蓝学院】移动机器人运动规划--第6章 模型预测控制(MPC)与运动规划--笔记

0. Outline 1. Reactive Control&#xff08;反应式控制&#xff09; 控制学中的 “Reactive Control” 通常指的是一种控制策略&#xff0c;它依赖于系统对特定事件或变化的即时反应&#xff0c;而不是按照预定的计划或策略行动。这种控制往往是基于当前的传感器输入来做出决…

盘点自动化汽车生产线设备 数据采集分析联合各设备

1.机器人自动装配线 机器人自动装配线已成为汽车制造业中的常见场景。这些机器人在汽车组装的各个环节发挥关键作用&#xff0c;从焊接和铆接到零部件组装。它们不仅提高了装配速度&#xff0c;还确保了产品的一致性&#xff0c;降低了废品率。 2.3D打印技术 3D打印技术正在汽车…

电商API接口接入|电子商务市场最简单的数据采集方法,你学到了吗?

小刘从某职业院校电子商务专业毕业后&#xff0c;-直在某品牌电商部负责运营工作&#xff0c;近期&#xff0c;同班同学小王邀请小刘加入创业大军&#xff0c;共同开设网店&#xff0c;销售家乡的螃蟹、鲜虾、扇贝等生鲜水产。 运营经验丰富的小刘决定&#xff0c;在创业开始前…

Jenkins的使用GIT(4)

Jenkins的使用GIT 20211002 我们使用 Jenkins 集成外部 Git 仓库&#xff0c;实现对真实代码的拉取和构建。在这里&#xff0c;我们选用 Coding/Github/Gitee 等都可以作为我们的代码源 1 生成公钥私钥 首先&#xff0c;我们先来配置公钥和私钥。这是 Jenkins 访问 Git 私有库…

mysql 事务详解一

前言 提到事务&#xff0c;大家肯定不陌生。在我们现实生活中也是存在的&#xff0c;比如我们去超市购物&#xff0c;然后去支付。虽然是两个步骤&#xff0c;必须保证同时成功&#xff0c;这个交易才可以完成。 如果这个场景&#xff0c;拿到我们购物系统&#xff0c;就是几…