Mycat 简介

一、Mycat是什么?

Mycat 是一款数据库中间件。

二、Mycat是可以干什么?

  1. 读写分离
  1. 数据分片
  1. 多数据源整合

三、原理是什么?

Mycat 的原理中最重要的一个动词是“拦截”,它拦截了用户发送过来的 SQL 语句,首先对 SQL语句做了一些特定的分析:如分片分析、路由分析、读写分离分析、缓存分析等,然后将此 SQL 发往后端的真实数据库,并将返回的结果做适当的处理,最终再返回给用户。

四、数据分片

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

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

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

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

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

5、分片规则:前面讲了数据切分,一个大表被分成若干个分片表,就需要一定的规则,这样按照某种业务规则把数据分到某个分片的规则就是分片规则,数据切分选择合适的分片规则非常重要,将极大的避免后续数据处理的难题。

参考资料:http://www.mycat.org.cn/document/mycat-definitive-guide.pdf

本文分享自微信公众号 - DBA札记(dba_jason),作者:小董

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2021-02-10

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 快速学习-Mycat简介

    2013 年阿里的 Cobar 在社区使用过程中发现存在一些比较严重的问题,及其使用限制,经过 Mycat 发人第一次改良,第一代改良版——Mycat 诞生。 ...

    cwl_java
  • MyCat教程【简单介绍】

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    用户4919348
  • Mycat数据库中间件简介

    Mycat是一个优秀的数据库中间件,它可以实现mysql数据库的读写分离和高可用,能够支持数亿大表的分布式数据库系统,我们也可以把它当做一种数据库...

    AsiaYe
  • 学会数据库读写分离、分表分库——用Mycat,这一篇就够了!

    根据不同的系统选择不同的版本。包括linux、windows、mac,作者考虑还是非常周全的,当然,也有源码版的。(ps:源码版的下载后,只要配置正确,就可以正...

    itmifen
  • 学会数据库读写分离、分表分库——用Mycat,这一篇就够了!

    系统开发中,数据库是非常重要的一个点。除了程序的本身的优化,如:SQL语句优化、代码优化,数据库的处理本身优化也是非常重要的。主从、热备、分表分库等都是系统发展...

    itmifen
  • 分布式数据库中间件 MyCat 搞起来!

    前面文章我们提到,如果数据量比较大的话,我们需要对数据进行分库分表,分完之后,原本存在一个数据库中的数据,现在就存在多个数据库中了,就像下面这样:

    江南一点雨
  • MyCat教程【安装及配置介绍】

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

    用户4919348
  • Mycat Web监控工具

    Mycat-web 是 Mycat 可视化运维的管理和监控平台,弥补了 Mycat 在监控上的空白。帮 Mycat 分担统计任务和配置管理任务。Mycat-we...

    常见_youmen
  • docker中安装mycat

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.n...

    林老师带你学编程
  • 利用mycat实现mysql读写分离

    实现mysql读写分离的工具有很多种,我这里就介绍mycat这一种方式。其它的大家有兴趣可以自己去了解。 第一步:首先就是mycat的安装: 这个地址就可以下载...

    林老师带你学编程
  • mycat快速搭建入门

    mycat是一个数据库中间件,在此不做多介绍,今天我们直接上入门级的搭建demo。

    GreizLiao
  • 数据库中间件Mycat的安装使用

    后端:可以用MySQL原生协议与多个MySQL服务器通信,也可以用JDBC协议与大多数主流数据库服务器通信,其核心功能是分表分库,即将一个大表水平分割为N个小表...

    仙人技术
  • MySQL之分库分表(MyCAT实现)

    随着微服务这种架构的兴起,我们应用从一个完整的大的应用,切分为很多可以独立提供服务的小应用。每个应用都有独立的数据库。

    Java_老男孩
  • Mycat - 实现数据库的读写分离与高可用

        上语文课,不小心睡着了,坐在边上的同桌突然叫醒了我,并小声说道:“读课文第三段”。我立马起身大声读了起来。正在黑板写字的老师吓了一跳,老师郁闷的看着我,...

    青石路
  • mycat实现MySQL读写分离

    老七Linux
  • 快速学习-Mycat快速入门

    MyCAT 是使用 JAVA 语言进行编写开发,使用前需要先安装 JAVA 运行环境(JRE),由于 MyCAT 中使用了JDK7 中的一些特性,所以要求必须在...

    cwl_java
  • 那些年这么火的MyCat你还不知道吗?

    今天,终于安排到Mycat系列文章了。在Mycat系列文章中,我们一起从一个利用Mycat实现分库分表的案例作为入门程序。后续会持续更新Mycat原理、架构和底...

    狼王编程
  • 一步一步在Windows中使用MyCat负载均衡 上篇

      传统关系型数据库的分布式开发通常需要自己做,不仅耗时耗力而且效果不是很理想,当想快速搭建时,最初想到的是看有没有第三方,网上牛人还是很多的,做得比较好的其中...

    欢醉
  • 快速学习-Mycat基本概述

    Mycat 是什么?从定义和分类来看,它是一个开源的分布式数据库系统,是一个实现了 MySQL 协议的的Server,前端用户可以把它看作是一个数据库代理,用 ...

    cwl_java

扫码关注云+社区

领取腾讯云代金券