在一个项目当中,项目经理要求把原先的MySQL数据连接基于mycat来进行改造 。当时就在想MyCat是什么东西?为什么要用它呢?

蚂蚁课堂带你学Java

一、什么是MyCat:

MyCat是一个开源的分布式数据库系统,是一个实现了MySQL协议的服务器,前端用户可以把它看作是一个数据库代理,用MySQL客户端工具和命令行访问,而其后端可以用MySQL原生协议与多个MySQL服务器通信,也可以用JDBC协议与大多数主流数据库服务器通信,其核心功能是分表分库,即将一个大表水平分割为N个小表,存储在后端MySQL服务器里或者其他数据库里。

MyCat发展到目前的版本,已经不是一个单纯的MySQL代理了,它的后端可以支持MySQL、SQL Server、Oracle、DB2、PostgreSQL等主流数据库,也支持MongoDB这种新型NoSQL方式的存储,未来还会支持更多类型的存储。而在最终用户看来,无论是那种存储方式,在MyCat里,都是一个传统的数据库表,支持标准的SQL语句进行数据的操作,这样一来,对前端业务系统来说,可以大幅降低开发难度,提升开发速度。

二、那么为什么要用到MyCat呢?

例如操作系统是对各类计算机硬件的抽象。那么我们什么时候需要抽象?假如只有一种硬件的时候,我们需要开发一个操作系统吗?

再比如一个项目只需要一个人完成的时候不需要leader,但是当需要几十人完成时,就应该有一个管理者,发挥沟通协调等作用,而这个管理者对于他的上层来说就是对项目组的抽象。

同样的,当我们的应用只需要一台数据库服务器的时候我们并不需要Mycat,而如果你需要分库甚至分表,这时候应用要面对很多个数据库的时候,这个时候就需要对数据库层做一个抽象,来管理这些数据库,而最上面的应用只需要面对一个数据库层的抽象或者说数据库中间件就好了,这就是Mycat的核心作用。

所以可以这样理解:数据库是对底层存储文件的抽象,而Mycat是对数据库的抽象。

蚂蚁课堂带你学Java

MyCat分片集群分表分库策略

视频教学:

第一章 数据库分表分库原则

  • 第一节-数据库集群会产生那些问题
  • 第二节-数据库分表分库拆分原则
  • 第三节-数据库水平表拆分原则

第二章 数据库分表分库策略

  • 第四节-数据库水平表拆分片枚举算法
  • 第五节-基于MyCat实现分片枚举算法配置
  • 第六节-基于MyCat分片枚举算法效果演示
  • 第七节-基于MyCat实现求摸算法

第三章 分析MyCat取模分片算法

  • 第八节-开启MyCat日志原理分析
  • 第九节-分析MyCat取模分片算法
  • 第十节-分析MyCat取模分片算法

蚂蚁课堂带你学java

java集群_「Java知识」MyCat的图文视频讲解,MyCat分片集群分表分库策略相关推荐

  1. java基础知识点_「Java面试题/知识点精华集」20000+字的Java基础知识篇(2020最新版) !

    " 本文已经收录进我的 79K Star 的 Java 开源项目 JavaGuide:https://github.com/Snailclimb/JavaGuide (「Java学习+面试指 ...

  2. bigint对应java什么类型_「JAVA」从格式化输出到扫描输入,深究Java正则表达式匹配之道

    字符串是不可变的 字符串是不可变的,也就是说当字符串的内容发生改变的时候,会创建一个新的String对象:但是如果内容没有发生改变的时候,String类的方法会返回原字符串对象的引用. 而正则表达式往 ...

  3. java 下拉列表 枚举_「Java三分钟」精准而优雅——枚举类详解

    关注我,每天三分钟,带你轻松掌握一个Java相关知识点. 1.为什么要用枚举 你在读一个老工程代码时,是否经常看见有几个类,里面放着成百上千的静态常量,场面相当恐怖,而且如果不加注释,很多你都不知道这 ...

  4. java web 静态_「Java Web」主页静态化的实现

    一个站点的主页一般不会频繁变动,而大多数用户在訪问站点时不过浏览一下主页(未登陆).然后就离开了.对于这类訪问请求.假设每次都要通过查询数据库来显示主页的话,显然会给server带来多余的压力. 这时 ...

  5. java unix 时间戳_「unix时间戳」Unix时间戳和Java中的时间戳的区别 - seo实验室

    unix时间戳 前言 最近在使用阿里的日志服务时,遇到了一些Timestamp的坑,所以特意做了了解并整理了一下.在这之前首先得介绍一下Unix时间戳:unix时间戳是从1970年1月1日(UTC/G ...

  6. java 文本编辑器_「java文本编辑器」用Java实现文本编辑器 - seo实验室

    java文本编辑器 源码里有注释:import java.awt.*; import java.awt.event.*; import java.io.*; import javax.swing.*; ...

  7. 光纤中的多种光学模式芯径_「涨知识」你想知道的光纤常识都在这里了,看不看随你...

    光纤已经成为远距离有线信号传输的主要手段,安装.维护光纤也是弱电人的基本功.光纤中涉及的理论知识.组件和铺设要点都很多,我们在这里作了一些梳理. 三种光 不是所有的光都能用于光纤中信号传播.光线中主要 ...

  8. 会说话的狗狗本电脑版_「电脑知识」硬件狗狗专业电脑硬件检测跑分工具免安装单文件版|电脑硬件|电脑|显卡|狗狗|操作系统...

    最新很多小伙伴要求找一款适合大家的硬件检测跑分工具,今天给大家分享一款,简单的希望大家能够喜欢. 硬件狗狗专业的电脑硬件检测工具免安装单文件版,硬件狗狗是一款媲美鲁大师电脑硬件检测工具,由快科技(驱动 ...

  9. 轧机用弹性阻尼体反力计算_「轴承知识」轧机轴承故障频繁怎么办?必要的检查维护不可少...

    Sulli小苏:今天详细介绍下轧机轴承故障频繁怎么办?必要的检查维护不可少.对于轧机轴承大家可能陌生的,因此对于轧机轴承的故障更是不了解,东莞凌纳机械作为一名专业的轴承商,给大家分享下有关轧机轴承出现 ...

最新文章

  1. pycharm波浪线检查去掉
  2. eclipse hibernate配置文件(*.hbm.xml)加上自动提示功能
  3. OpenCV Shi-Tomasi corner 检测器
  4. Codeup-问题 C: 畅通工程
  5. mysql存储日期 jsp_JSP+MySql的时间处理
  6. nvidia-rapids︱cuDF与pandas一样的DataFrame库
  7. 目标检测之hough forest---霍夫森林(Hough Forest)目标检测算法
  8. vue-axios配置token,上传图片
  9. 计算机网络 | 无盘工作站的建立
  10. 离散傅里叶变换matlab程序
  11. 【新手必看】全网最全平面设计理论基础知识,平面设计重要理论
  12. 已经安装了VRay但3dmax的材质编辑器里没有VRay材质的解决过程
  13. Nine-Patch点九切图法
  14. 平板如何下载鸿蒙系统,鸿蒙系统2.0
  15. 网易易盾-滑块-cb参数
  16. 字节跳动 录屏功能_免费屏幕录制软件有哪些?原来这么多
  17. 双极结型晶体管——三极管理解
  18. 使用点云数据创建数字高程模型(DEM)
  19. 网站白名单可行性分析
  20. 解决steam 上origin 安装超级慢的问题 [已解决]

热门文章

  1. 2021年品牌CDP与营销数字化转型报告:从自建数据资产到消费者深度运营
  2. 【回顾】千万级智能推荐系统的架构演进
  3. 如果conda找不到想要安装的库怎么办PackagesNotFoundError: The following packages are not available from current
  4. 速成pytorch学习——7天模型层layers
  5. 金士顿服务器内存条型号解读,教你如何解读金士顿台式机内存标签的含义
  6. KMP算法模板与解析
  7. 蓝桥杯 基础练习 龟兔赛跑预测
  8. 卡住 安装_【书中有路】弹簧式安全阀结构原理、故障解析、安装要点
  9. python画猴子_Python学习笔记(1)
  10. java 内存管理_高性能Java代码之内存管理