【1】学习目的

(1)掌握在数据库负载增大时的处理方法

(2)理解mycat的基础概念

(3)掌握mycat基础配置和监控方法

【2】Mycat的前世今生

官网:http://mycat.io/

下载:http://dl.mycat.io/

  在2008年,阿里开发了开源数据库中间件 Amoeba,支持高可用、数据过滤、负载均衡等等

  在2012年,阿里开发了开源数据库中间件 Cobar,开源之后就没有维护了

  在2013年,阿里开发了开源数据库中间件 Mycat,Mycat社区非常火爆且该中间件好用

          在2017年,mycat 已经发展到1.6版本

        在2019-12-23,好像mysql已经进入2.0许久,但一直没有发布正式版

【3】Mycat的主要功能

【3.1】分布式数据库系统中间层

  APP=》数据库中间层=》Mysql等关系型数据库(MongoDB等nosql也可以)

    

  作用:实现读写分离、读负载均衡、数据库连接池管理(统一控制连接数量)、屏蔽后端数据库的一些变更(比如分库分表)

【3.2】实现数据库的读写分离

  

  (1)读写分离,顾名思义,就是把写操作应用在主库,把读操作应用到从库。

    (2)Mycat支持读负载均衡

  (3)Mycat支持后端MySQL高可用(指的是,我们在配置的时候,指定一台从机器也可以完成写的功能,主宕机后,该从机器会接收写请求,但其他从库并不会重新指定新主库到该机器),所以一般情况是需要配合Mysql的高可用策略(比如MHA、MMM、PXC、MGR)等带有自动故障转移的高可用方案来使用。

【3.3】数据库的垂直与水平拆分

利用Mycat配置好,就可以实现切分与访问逻辑,不用在应用程序端再做代码判断访问等。

(1)数据库垂直拆分:

分库:其实就是把不同业务模块分到不同的数据库(可以每个库都在一个实例里,也可以每个库在不同实例里)中去。

  

(2)数据库水平拆分

在单机上:可以看成是分表,把一个大表,拆分成多个表结构相同的表来共同存储表数据

在多机上:这种叫做分库分表,也就是说在单表水平分表的情况下,把每一个分的表都放到一个库(实例上去)上去。

  

【4】Mycat的应用场景

  (1)需要进行读写分离的场景(支持数据库端多种拓扑方案,如主从、主主、MHA、PXC等)

  (2)需要进行分库分表的场景(支持一千亿的单表分片)

  (3)多租户场景(什么是多租户?就是有多个应用程序共用一个数据中心,大家都连Mycat,彼此感受不到对方的存在,互不影响。最常见的就是我们现在的云服务)

  (4)数据统计系统(如报表系统,海量数据实时查询的一种方式)

  (5)HBASE的一种替代方案(HBASE:基于hadoop的列存储)

  (6)需要使用同样的方式查询多种数据库的场景(比如MYSQL、MongoDB)

【5】Mycat的优势

  (1)基于阿里的Cobar系统开发,开源系统(有一个好爸爸就是优势)

  (2)开发社区活跃(证明用的人多,维护的人多,经验和解决方案就多)

  (3)完全开源可以自定义开发,且经历过大规模、大范围的使用,解决方案多

  (4)支持多种关系型及NOSQL数据库

  (5)基于JAVA平台开发,支持多种平台部署,可移植性好

  (6)具有多种行业和项目中应用的成功案例

参考:

  imooc Mycat入门及应用

MyCat(1.1)Mycat基本介绍的更多相关文章

  1. 【Mycat】作为Mycat核心开发者,怎能不来一波Mycat系列文章?

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

  2. Mysql系列九:使用zookeeper管理远程Mycat配置文件、Mycat监控、Mycat数据迁移(扩容)

    一.使用zookeeper管理远程Mycat配置文件 环境准备: 虚拟机192.168.152.130: zookeeper,具体参考前面文章 搭建dubbo+zookeeper+dubboadmin ...

  3. 应用集成mycat,实现mycat的高可用与mysql的读写分离

    前言 开心一刻 一个女人自朋友圈写道:我家老公昨天和别人家的老婆出去旅游,迄今未归,我则被别人家的老公折腾了一天,好累哦! 圈子下面,评论无数,老公在下面评论到:能不能好好说话,我只不过陪女儿去毕业旅 ...

  4. MyCat教程三:安装及配置介绍

    一.安装MyCat 1.安装准备环境 1.1 安装JDK   因为MyCat是java开发的,所以需要java虚拟机环境,在Linux节点中安装JDK是必须的. 1.2 放开相关端口   在主从节点上 ...

  5. MyCat教程一:MyCat的简单介绍

    MyCat教程二:mysql主从复制实现 MyCat教程三:安装及配置介绍 MyCat教程四:实现读写分离 MyCat教程五:实现分库分表 MyCat教程六:全局序列号-全局主键的自增长 一.MyCa ...

  6. [转帖]MyCat教程【简单介绍】

    MyCat教程[简单介绍] 2019-10-15 10:27:23 波波烤鸭 阅读数 618 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. ...

  7. mycat的基本介绍 看这一篇就够了

    1.前置知识 1.分布式系统 ​ 分布式系统是指其组件分布在网络上,组件之间通过传递消息进行通信和动作协调的系统.它的核心理念是让多台服务器协同工作,完成单台服务器无法处理的任务,尤其是高并发或者大数 ...

  8. MYCAT介绍(转)

    从定义和分类来看,它是一个开源的分布式数据库系统,是一个实现了MySQL协议的服务器,前端用户可以把它看作是一个数据库代理,用MySQL客户端工具和命令行访问,而其后端可以用MySQL原生协议与多个M ...

  9. Mycat 介绍

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

  10. Mycat分布式数据库架构解决方案--Mycat的介绍

    echo编辑整理,欢迎转载,转载请声明文章来源.欢迎添加echo微信(微信号:t2421499075)交流学习. 百战不败,依不自称常胜,百败不颓,依能奋力前行.--这才是真正的堪称强大!!! 如果我 ...

随机推荐

  1. 批处理快速合并多分Excel文件并将指定列的数据去重复

    1.批处理快速合并多个excel文件方法: 新建一个.txt文本文件,就命名为合并.txt吧. 而后开启文件,复制以下代码到文件中: @echo off E: cd xls dir copy *.cs ...

  2. TCP/IP学习笔记9--以太网之基本概念1: 分类,连接方式

    时间是变化的财富.时钟模仿它,却只有变化而无财富. -- 泰戈尔 以太网(Ethernet)一词源于Ether(以太), 是介质的意思.在爱因斯坦哥们提出量子力学之前,人们普遍认为宇宙空间充满以太,并 ...

  3. 最小二乘求解常数k使得kx=y(x,y为列向量)

    直接求解法 取范数 \[ E(k)=\|kx-y\|^{2}\\ \] 构建最小二乘得出 \[ \arg \min (E(k))=k^2x^Tx+y^Ty-2x^Tyk \] 对k求导有 \[ 2x^ ...

  4. 关于 Visual Studio 的代码度量值

    查看方式:Visual Studio -> Analyze -> Calculate code metrics feature 代码度量(Code Metrics)是用来测量专业标准的软件 ...

  5. JVM插码之六:jacoco插码及问题“$jacocodata 属性 Method not found: is$jacocoData”

    在使用jacoco统计自动化代码覆盖率 jacoco统计自动化代码覆盖率 1. 简介1.1. 什么是JacocoJacoco是一个开源的代码覆盖率工具,可以嵌入到Ant .Maven中,并提供了Ecl ...

  6. AVR单片机教程——EasyElectronics Library v1.0手册

    更新:EasyElectronics Library v1.1手册 索引: bit.h delay.h pin.h tone.h pwm.h uart.h adc.h led.h rgbw.h seg ...

  7. 暑期ACM集训

    2019-07-17 08:42:11 这是总结昨天的做题情况 总体来说,好久的没做题了,实力下降了许多,这一个月假又学习吧!!!! A - Ropewalkers Polycarp decided ...

  8. Asp.Net 加载不同项目程序集

    我们做项目时有时候不想添加别的项目的引用,但是那个项目又必须在 Global 中进行注册 最常见的就是插件机制,参考: https://shazwazza.com/post/Developing-a- ...

  9. Self寄宿

    static void Main(string[] args) { //Assembly.Load("WebApplication1, Version=1.0.0.0, Culture=ne ...

  10. C#ModBus Tcp的学习及Master的实现

    Modbus已经成为工业领域通信协议的业界标准(De facto),并且现在是工业电子设备之间常用的连接方式. 所以这也是我们工控领域软件开发的所必懂的通讯协议,我也是初次学习,先贴上我的学习笔记 一 ...