Mycat教程+面试+linux搭建

目录

一 MyCAT介绍

二 常见的面试题总结

三 linux下搭建Mycat


一 MyCAT介绍

1.1. 什么是MyCAT?

简单的说,MyCAT就是:

·一个彻底开源的,面向企业应用开发的“大数据库集群”

·支持事务、ACID、可以替代Mysql的加强版数据库

·一个可以视为“Mysql”集群的企业级数据库,用来替代昂贵的Oracle集群

·一个融合内存缓存技术、Nosql技术、HDFS大数据的新型SQL Server

·结合传统数据库和新型分布式数据仓库的新一代企业级数据库产品

·一个新颖的数据库中间件产品

MyCAT的目标是:低成本的将现有的单机数据库和应用平滑迁移到“云”端,解决数据存储和业务规模迅速增长情况下的数据瓶颈问题。

1.2. MyCAT的关键特性

·支持 SQL 92标准

·支持Mysql集群,可以作为Proxy使用

·支持JDBC连接ORACLE、DB2、SQL Server,将其模拟为MySQL  Server使用

·支持galera for mysql集群,percona-cluster或者mariadb cluster,提供高可用性数

据分片集群

·自动故障切换,高可用性

·支持读写分离,支持Mysql双主多从,以及一主多从的模式

·支持全局表,数据自动分片到多个节点,用于高效表关联查询

·支持独有的基于E-R 关系的分片策略,实现了高效的表关联查询

·多平台支持,部署和实施简单

1.3. MyCAT架构

        如图所示:MyCAT使用Mysql的通讯协议模拟成了一个Mysql服务器,并建立了完整的Schema(数据库)、Table (数据表)、User(用户)的逻辑模型,并将这套逻辑模型映射到后端的存储节点DataNode(MySQL Instance)上的真实物理库中,这样一来,所有能使用Mysql的客户端以及编程语言都能将MyCAT当成是Mysql Server来使用,不必开发新的客户端协议。 

2 Mycat解决的问题(重点)

l 性能问题

l 数据库连接过多

l E-R分片难处理

l 可用性问题

l 成本和伸缩性问题

3. Mycat支持的分片策略

MyCAT支持水平分片与垂直分片:

·水平分片:一个表格的数据分割到多个节点上,按照行分隔。

·垂直分片:一个数据库中多个表格A,B,C,A存储到节点1上,B存储到节点2上,C存储到节点3上。

MyCAT通过定义表的分片规则来实现分片,每个表格可以捆绑一个分片规则,每个分片规则指定一个分片字段并绑定一个函数,来实现动态分片算法。

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

2、Table:表,即物理数据库中存储的某一张表,与传统数据库不同,这里的表格需要声明其所存储的逻辑数据节点DataNode。在此可以指定表的分片规则。

3、DataNode:MyCAT的逻辑数据节点,是存放table的具体物理节点,也称之为分片节点,通过DataSource来关联到后端某个具体数据库上

4、DataSource:定义某个物理库的访问地址,用于捆绑到Datanode上

二 常见的面试题总结

待整理.....

三 linux下搭建Mycat

Linux下搭建Mycathttps://blog.csdn.net/ytyDaMoTou/article/details/132537930

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

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

相关文章

关于Vue.set()

简介 Vue.set() 是 Vue 中的一个全局方法,其主要作用是向响应式对象添加新的属性,并确保新属性同样具有响应式。在 Vue.js 中,当数据对象的属性被直接修改时,Vue 可以监测到数据变化并响应变化。但若添加新的响应式对象属性时&am…

uni-app里使用webscoket

实现思路和vue中是一样的。如果想看思路可以看这篇文章:websocket 直接上可以运行的代码: 一、后端nodeJS代码: 1、新建项目文件夹 2、初始化项目: npm init -y 3、项目里安装ws npm i ws --save 4、nodeJS代码&#xff1…

SmartInspect Professional .Net Delphi Crack

SmartInspect Professional .Net & Delphi Crack SmartInspect Professional是一个用于调试和跟踪.NET、Java和Delphi软件的高级日志记录工具。它使您能够识别错误,找到客户问题的解决方案,并让您清楚地了解软件在不同环境和条件下的工作方式。可以轻…

Redis 7 第三讲 数据类型 进阶篇

⑥ *位图 bitmap 1. 理论 由0和1 状态表现的二进制位的bit 数组。 说明:用String 类型作为底层数据结构实现的一种统计二值状态的数据类型 位图本质是数组,它是基于String 数据类型的按位操作。该数组由多个二进制位组成,每个二进制位都对应一个偏…

3、监测数据采集物联网应用开发步骤(3)

监测数据采集物联网应用开发步骤(2) 系统整体结构搭建 新建项目 输入项目名称:MonitorData 所谓兵马未动粮草先行,按下图创建好对应的模块备用: com.plugins 业务插件模块 com.zxy.adminlog 日志或文本文…

YOLOv7源码解析

YOLOv7源码解析 YAML文件YAML文件 以yolov7 cfg/yolov7-w6-pose.yaml为例: # parametersnc: 1 # number of classes nkpt: 4 # number of key points depth_multiple: 1.0 # model depth multiple width_multiple: 1.0 # layer channel multiple dw_conv_kpt: Trueanchor…

road to master

零、学习计划 数据库相关 索引 我以为我对数据库索引很了解,直到我遇到了阿里面试官 - 知乎 (zhihu.com)给我一分钟,让你彻底明白MySQL聚簇索引和非聚簇索引 - 知乎 (zhihu.com)聚集索引(聚类索引)与非聚集索引(非聚类…

Json路径表达式

原json路径 {"timeStamp": "20220801110008","transIDO": "6ba9088c981b407fb38feasdf09","version": "1.0.0","signMethod": "md5","content": "{\"companyName\&quo…

基于python+pyqt的opencv汽车分割系统

目录 一、实现和完整UI视频效果展示 主界面: 识别结果界面: 查看分割处理过程图片界面: 二、原理介绍: 加权灰度化 ​编辑 二值化 滤波降噪处理 锐化处理 边缘特征提取 图像分割 完整演示视频: 完整代码链…

C# 课后练习题

17. XAF框架下的导航按钮 using System; using System.Collections.Generic; using System.Line; using System.Text; using System.Threading.Tasks;namespace Tutorial_XAF.Module.BussinessObjects {[XAFDisplayName("测试")][NavigationItem("这是导航&quo…

计算机竞赛 基于YOLO实现的口罩佩戴检测 - python opemcv 深度学习

文章目录 0 前言1 课题介绍2 算法原理2.1 算法简介2.2 网络架构 3 关键代码4 数据集4.1 安装4.2 打开4.3 选择yolo标注格式4.4 打标签4.5 保存 5 训练6 实现效果6.1 pyqt实现简单GUI6.3 视频识别效果6.4 摄像头实时识别 7 最后 0 前言 🔥 优质竞赛项目系列&#xf…

【推荐】Spring与Mybatis集成整合

目录 1.概述 2.集成 2.1代码演示: 3.整合 3.1概述 3.2 进行整合分页 接着上两篇,我已经写了Mybatis动态之灵活使用,mybatis的分页和特殊字符的使用方式接下来把它们集成起来,是如何的呢👇👇&#x1…

vscode 无法跳转第三方安装包

vscode 无法跳转第三方安装包 场景:使用vscode写代码时, 第三方的安装包无法使用ctrl 左键,点击进入查看, 不方便源码查看 解决办法: 使用快捷键 Ctrl Shift P, 进入命令搜索框搜索 setting.json 编辑…

linux下查看库符号注意使用c++filt解析

个人随笔 (Owed by: 春夜喜雨 http://blog.csdn.net/chunyexiyu) 这篇文档,主要内容就如标题所言: linux下查看库符号时,注意使用cfilt解析后,再来做grep查找 经验教训 这个问题来源于一个经验教训; 我想查一下libj…

react解决死循环方法?

使用useeffect(副作用)方法结束这个操作 1、导入useeffect、useState 2、把下方代码写入:里面填写的是你要终止某个东西的代码 注意:不可不写,也可以写依赖或不写

精进面试技巧:如何在程序员面试中脱颖而出

🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…

《人月神话》:chapter 4 系统设计中的“专制”和“民主”

以下总结来自于《人月神话》 第四章 :贵族制,民主制和系统设计 系统设计中最重要的因素:概念完整性 1.设计必须由一个人或者具有共识的小型团队来完成 2.大型系统架构设计与具体实现相分离 3.必须有人控制概念,确保完整性&…

Verilog基础:块语句

相关阅读 Verilog基础专栏https://blog.csdn.net/weixin_45791458/category_12263729.html?spm1001.2014.3001.5482 1、块语句 块语句(block statements)是一种把语句组织在一起,这样他们在语法上就像单个语句一样工作。Verilog HDL中有两种类型的块: …

树状表格子节点移动 - 在Vue.js中实现上下移动子节点的表格功能

目录 功能介绍 示例 代码 视图部分 逻辑部分 完整代码 功能介绍 本文介绍了如何在Vue.js框架下实现一个树状表格,其中支持选择子节点行的上下移动。通过这个功能,用户可以方便地改变子节点的顺序。代码示例和详细的实现步骤将展示如何使用Vue.js的相…

基于YOLOv8模型和DarkFace数据集的黑夜人脸检测系统(PyTorch+Pyside6+YOLOv8模型)

摘要:基于YOLOv8模型和DarkFace数据集的黑夜人脸检测系统可用于日常生活中检测与定位黑夜下的人脸,利用深度学习算法可实现图片、视频、摄像头等方式的目标检测,另外本系统还支持图片、视频等格式的结果可视化与结果导出。本系统采用YOLOv8目…