Mycat【什么是Mycat、Mycat与其他中间件区别、Mycat应用场景、核心概念详解、Mycat原理】(一)-全面详解(学习总结---从入门到深化)

 

目录

Mycat概述_什么是Mycat

Mycat概述_Mycat与其他中间件区别

Mycat概述_Mycat应用场景

Mycat概念_核心概念详解

Mycat概述_Mycat原理

Mycat部署安装_MySQL主从复制概述


Mycat概述_什么是Mycat

 什么是Mycat

Mycat是数据库中间件,所谓中间件数据库中间件是连接Java应用程序和数据库中间的软件。

 

为什么要用Mycat 

遇到问题:

  • Java与数据库的紧耦合
  • 高访问量高并发对数据库的压力
  • 读写请求数据不一致 

 

实时学习反馈

1.Mycat是数据库___。

A 分布式系统

B 中间件

C 服务

D 平台

2. Mycat技术主要解决______问题。

A 高访问量高并发对数据库的压力

B 多人协作

C 安全性

D 系统拆分 

Mycat概述_Mycat与其他中间件区别

目前的数据库中间件有很多,并从各个维度将其与 Mycat进行对比。 

Mycat优势

性能可靠稳定 

基于阿里开源的Cobar产品而研发,Cobar的稳定性、可靠性、优秀 的架构和性能以及众多成熟的使用 案例使得MYCAT一开始就拥有一 个很好的起点,站在巨人的肩膀上,我们能看到更远。

强大的技术团队 

MyCat现在由一支强大的技术团队维护 , 吸引和聚集了一大批业内 大数据和云计算方面的资深工程师、架构师、DBA,优秀的团队保 障了MyCat的稳定高效运行。而且MyCat不依托于任何商业公司, 而且得到大批开源爱好者的支持。

 体系完善

MyCat已经形成了一系列的周边产品,比较有名的是 Mycat-web、 Mycat-NIO、Mycat-Balance 等,已经形成了一个比较完整的解决方 案,而不仅仅是一个中间件。

实时学习反馈

1.MyCat技术是在___基础上发展的版本。

A Cobar

B Amoeba

C oneproxy

D Atlas

2. 下列不属于Mycat技术优势的是____。

A 性能可靠稳定

B 体系完善

C 商业收费

D 强大的技术团队

Mycat概述_Mycat应用场景

Mycat还形成了一系列周边产品,比较有名的是 Mycat-web、 Mycat-NIO、Mycat-Balance等,已成为一个比较完整的数据处理 解决方案,而不仅仅是中间件。 

高可用性与MySQL读写分离 

利用Mycat可以轻松实现热备份,当一台服务器停机时,可以由双 机或集群中的另一台服务器自动接管其业务,从而在无须人工干预的情况下,保证系统持续提供服务。这个切换动作由Mycat自动完成。

注意: Mycat 的读写分离及自动切换都依赖于数据库产品的主从数据同步。 

100亿大表水平分表、集群并行计算 

数据切分是Mycat的核心功能,是指通过某种特定的条件,将存放在同一个数据库中的数据分散存放在多个数据库(主机)中,以达到分散单台设备负载的效果。

 

数据切分有两种切分模式

  • 按照不同的表将数据切分到不同的数据库中,这种切分可以叫作数据的垂直切分。
  • 根据表中数据的逻辑关系,将同一个表中的数据按照某种条件拆分到多个数据库中,这种切 分叫作数据的水平切分。当数据量超过800万行且需要做分片时,可以利用Mycat实现数据切 分。 

数据库路由器 

Mycat基于MySQL 实例的连接池复用机制,可以让每个应用最大程度地共享一个MySQL实例的所有连接池,让数据库的并发访问能力大大提升。

 整合多种数据源

当一个项目需要用到多种数据源如Oracle、MySQL、SQL Server、 PostgreSQL时,可以利用Mycat进行整合,只需访问Mycat 这一个 数据源就行。

实时学习反馈

1.下列描述不属于Mycat应用场景的是___。

A MySQL读写分离

B 整合多种数据源

C 分库分表

D 主从复制 

2. 在Mycat技术中实现MySQL读写分离必须依赖____。

A 多种数据源

B MySQL的主从复制

C 分库分表

D 高可用

Mycat概念_核心概念详解

逻辑库schema 

业务开发人员通常在实际应用中并不需要知道中间件的存在,只需 要关注数据库,所以数据库中间件可以被当作一个或多个数据库集 群构成的逻辑库。

注意:

逻辑库,与MySQL中的Database(数据库)对应,⼀个逻辑库中定义了所包括的Table。 

逻辑表table 

既然有逻辑库,就会有逻辑表。在分布式数据库中,对于应用来说,读写数据的表就是逻辑表。逻辑表可以分布在一个或多个分片库中,也可以不分片。

 

注意:

Table:表,即物理数据库中存储的某⼀张表,与传统数据库不同,这⾥的表格需要声明其所存储的逻辑数据节点DataNode。 

节点主机DataNode 

将数据切分后,每个分片节点不一定会独占一台机器,同一台机器上可以有多个分片数据库,这样一个或多个分片节点所在的机器就是节点主机。为了规避单节点主机并发数量的限制,尽量将读写压力高的分片节点均匀地放在不同的节点主机上。

数据库主机DataHost 

数据切分后,每个分片节点(dataNode)不一定都会独占一台机器, 同一机器上面可以有多个分片数据库,这样一个或多个分片节点 (dataNode)所在的机器就是节点主机(dataHost),为了规避单节点主 机并发数限制,尽量将读写压力高的分片节点(dataNode)均衡的放 在不同的节点主机(dataHost)。

用户

MyCat的用户(类似于MySQL的用户,支持多用户)

 实时学习反馈

1.Mycat技术中逻辑库指的是___。

A 分片节点

B 物理主机节点

C 与MySQL数据库对应

D 数据节点

 2. Mycat技术中逻辑表指的是__。

A 分片节点

B 物理主机节点

C 物理数据库中存储的某⼀张表

D 数据节点

Mycat概述_Mycat原理

Mycat 的原理中最重要的一个动词是“拦截”,它拦截了用户发送过来的SQL 语句。 

 

流程: 首先对 SQL 语句做了一些特定的分析:如分片分析、路由分析、读写分离分析、缓存分析等,然后将此 SQL 发 往后端的真实数据库,并将返回的结果做适当的处理,最终再返回给用户。 

 流程示例

1 解析SQL语句涉及的表。

2 查看表的定义,如果表存在分片规则,则获取SQL语句的分片字段。

3 将SQL语句发送到相应的分片去执行。

4 最后处理所有分片返回的数据并返回给客户端。 

实时学习反馈

1.Mycat原理中最重要的动作___。

A 截取

B 拦截

C 获取

D 代理 

Mycat部署安装_MySQL主从复制概述

为什么要主从复制 

注意: MySQL是现在普遍使用的数据库,但是如果宕机了必然会造成数据丢失。为了保证MySQL数据库的可靠性。就要会一些提高可靠性的技术。 

如何解决性能问题 

生活中有很形象的例子,比如你在自助咖啡厅买咖啡(如果只有一 台咖啡机)

如果有多台咖啡机,很明显大家买咖啡的效率就上去了:

 

 

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

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

相关文章

Oracle语句优化 (汇总)

大部分写sql语句都是为了实现而实现,如果最后在投入使用的过程中没有很难接受的性能,基本不怎么去考虑其性能。最近刚好有点时间,对优化方面进修进修,以备不时之需。 选择最有效率的表名顺序 Oracle的解析器按照从右到左的顺序处…

欧姆龙以太网口怎么和电脑连接

捷米特JM-ETH-CP以太网通讯处理器用于欧姆龙 CP1L/ CP1E/ CP1H 系列 PLC 的以太网数据采集,捷米特JM-ETH-CP以太网模块不占用 PLC 通讯口,即编程软件/上位机软件通过以太网对 PLC 数据监控的同时,触摸屏可以通过复用接口与 PLC 进行通讯。支持…

MyBatis查询数据库(1)

前言🍭 ❤️❤️❤️SSM专栏更新中,各位大佬觉得写得不错,支持一下,感谢了!❤️❤️❤️ Spring Spring MVC MyBatis_冷兮雪的博客-CSDN博客 经过前⾯的学习咱们 Spring 系列的基本操作已经实现的差不多了&#xff0…

光伏5G多合一融合终端|光伏多合一融合终端|光伏多合一群调群控网关|分布式光伏群控群调|光伏AGC/AVC系统这几者之间什么技术关系,多少钱一套预算?

光伏5G多合一融合终端|光伏多合一融合终端|光伏多合一群调群控网关|分布式光伏群控群调|光伏AGC/AVC系统这几者之间什么技术关系,多少钱一套预算? 一:光伏5G多合一融合终端的功能 光伏5G多合一融合终端的功能:群调群控/AGC/AVC功…

【数据结构与算法】栈算法题

TS 实现栈 interface IStack<T> {push(e: T): void;pop(): T | undefined;peek(): T;isEmpyt(): boolean;size(): number; }// implements: 实现接口, 一个类可以实现多个接口 class ArrayStack<T> implements IStack<T> {private data: T[] []; // private…

Spring详解(学习总结)

目录 一、Spring概述 &#xff08;一&#xff09;、Spring是什么&#xff1f; &#xff08;二&#xff09;、Spring框架发展历程 &#xff08;三&#xff09;、Spring框架的优势 &#xff08;四&#xff09;、Spring的体系结构 二、程序耦合与解耦合 &#xff08;一&…

在Windows server 2012上使用virtualBox运行CentOS7虚拟机,被强制暂停

文章目录 问题场景排查过程处理解决事后反思 问题场景 我们的平台服务使用docker部署&#xff0c;使用docker-compose进行管理&#xff0c;部署到CentOS7的服务器里平台部署到客户环境时&#xff0c;一小部分客户&#xff0c;使用自己机房或单独的服务器。很多客户不愿意采购新…

【嵌入式Linux项目】基于Linux的全志H616开发板智能垃圾桶项目

目录 一、功能需求 二、涵盖的知识点 1、wiringPi库下的相关硬件操作函数调用 2、线程&#xff08;未使用互斥锁和条件&#xff09; 3、父子进程 4、网络编程&#xff08;socket套接字&#xff09; 5、进程间通信&#xff08;共享内存和信号量&#xff09; 三、开发环境…

Elasticsearch原理剖析

一、 Elasticsearch结构 Elasticsearch集群方案由EsMaster、EsClient和EsNode1、EsNode2、EsNode3、EsNode4、EsNode5、EsNode6、EsNode7、EsNode8、EsNode9进程组成&#xff0c;如下图所示&#xff0c;模块说明如表下所示。 说明如表&#xff1a; 名称说明ClientClient使用H…

OpenCV 入门教程:颜色空间转换

OpenCV 入门教程&#xff1a;颜色空间转换 导语一、颜色空间的基本概念1.1 RGB颜色空间1.2 灰度颜色空间1.3 其他颜色空间 二、颜色空间转换三、示例应用3.1 提取图像的色彩通道3.2 调整图像的亮度和对比度 总结 导语 在图像处理和计算机视觉领域&#xff0c;颜色空间转换是一…

OpenCV(图像处理)-图片搜索

图片搜索 1.知识介绍2.实现流程2.1 计算特征点与描述子2.2 描述子的匹配2.3 求出单应性矩阵并画出轮廓2.4 将特征点标出 此篇博客作者仍在探索阶段&#xff0c;还有一些模糊的概念没有弄懂&#xff0c;请读者自行分辨。 1.知识介绍 Opencv进行图片搜索需要的知识有&#xff1…

nginx漏洞修复之检测到目标URL存在http host头攻击漏洞

漏洞说明 为了方便的获得网站域名&#xff0c;开发人员一般依赖于HTTP Host header。例如&#xff0c;在php里用_SERVER[“HTTP_HOST”]。但是这个header是不可信赖的&#xff0c;如果应用程序没有对host header值进行处理&#xff0c;就有可能造成恶意代码的传入。 解决方法…