系列导航

一、Mycat实战---为什么要用mycat

二、Mycat安装

三、mycat实验数据

四、mycat垂直分库

五、mycat水平分库

六、mycat全局自增

七、mycat-ER分片

本篇博客开始给大家介绍一下mycat,个人感觉这个东西非常不错填补了关系型数据库分布式部署领域的一个空白。
后续将围绕mycat他能干什么?mycat是什么?怎么用?来介绍mycat,当然重点是怎么用,这将伴随一系列的样例来给大家介绍。
    怎么用将围绕以下几点来逐步给大家讲解
    1、mycat的安装
    2、mycat的实验数据
    3、mycat垂直分布及全局表实验    
    4、mycat水平分布实验
    5、mycat全局ID自增实验
    6、mycatER分片表实验
    序:
    所有介绍的内容都是参考Mycat权威指南和一个视频教程内容,然后亲自动手验证过得,非常感谢视频的录制者能够分享,我也继承分享精神继续分享给大家,有什么建议欢迎大家一起讨论。博客中的文字描述都是我个人的体会肯定会有不全面的地方甚至不对的地方,希望大家指正。

一、首先说mycat能干什么?
    答案:他能够将mysql数据组成一个分布式的集群,可以把物理上多个独立的mysql数据库,搞成一个逻辑上的整体,使开发者感受不到的物理上的独立。这些物理上独立的mysql数据库按照配置不同各自完成各自的工作。
    
二、为什么要介绍mycat?
        这些年随着互联网、物联网的发展产生了大量的数据,伴随而生的涌现出一批新型的nosql数据库比如mongodb、redis还有消息队列kafka、这些新型的nosql数据库和消息队列,发展非常快以更快的读写速度、高可用的架构设计而抢占了传统关系型数据库的一些市场份额。但我认为传统数据库的优势是无法撼动的,MongoDB读写是快你让他关联查询试试。总之各有各的优势不同的业务场景找到最适合的技术方案就ok。
        mongodb、redis、kafka这些都可以搞成集群甚至搞成分片来提整体的性能并且实现了高可用。但是咱们传统的关系型数据库貌似没有这样的能力。阿里巴巴修改了mysql的源码搞成了mysql的集群而替代了昂贵的oracle,但我们并没有能方便的使用该项技术,起码我没有在网上找到我想要的东西。
        在寻找关系型数据分布式部署的过程中我看过360 Atlas、OneProxy、DRDS、Cobar但是都因为学习资料少而没有搞成,只有mycat比较靠谱。
        关系型数据库本人非常推崇oracle,oracle11g简直就是单机版数据库的巅峰,他的原理就像一件艺术品一样以最优的方式运行着,可能就是因为oracle11g单机版的性能太过强大,绝大多数应用场景都可以满足需求,所以关系型数据库的分布式的研究并没有那么迫切,反正可以用去研究干嘛。但随着业务量不断地增加关系型数据库的分布式部署的需求也逐渐增加。mycat就应用而生了,虽然我非常喜欢oracle不是那么喜欢mysql(oracle用起来像开宝马,mysql用起来像是在开QQ 哈哈纯属个人见解)
    
三、mycat是什么?    
    Mycat是用于数据库之间分库分表的中间件,简单的来说就是用于在多个数据库上的表通过mycat代理连接,实现一张或者多张分库或分表的大表数据根据定义的分片规则聚合展示,在这里就简单的说一说Mycat。Mycat的前身是阿里的Cobar,在2013年时Cobar在社区使用过程中发现存在一些比较严重的问题,及其使用限制,经过Mycat发起人第一次改良,第一代改良版——Mycat诞生。 Mycat开源以后,一些Cobar的用户参与了Mycat的开发,最终Mycat发展成为一个由众多软件公司的实力派架构师和资深开发人员维护的社区型开源软件。
    
好了本章主要介绍mycat能干什么,他是什么?下章开始正式动手来实现了敬请期待。

推荐一个适合零基础学习SQL的网站:不用安装数据库,在线轻松学习SQL!

一、Mycat实战---为什么要用mycat的更多相关文章

  1. Mycat实战之数据迁移(oracle -- mysql)

    1.案例场景: Mycat 后面接一个 Oracle 实例与一个 MySQL 实例,假设用户表,订单表,转账记录表, Oracle 字符集为 GBK 的,MySQL 字符集则要求 UTF8的 完成用户 ...

  2. MYCAT实战之分片迁移

    实践扩容 1.要求: travelrecord 表定义为10个分片,尝试将10个分片中的 2 个分片转移到第二台MySQL上, 并完成记录要求,最快的数据迁移做法,中断业务时间最短 2.针对分片以及迁 ...

  3. Mycat实战之主键数据库自增方式

    创建一个 person表,主键为Id,hash方式分片,主键自增(采用数据库方式) #person表结构如下 Id,主键,Mycat自增主键 name,字符串,16字节最长 school,毕业学校,数 ...

  4. Mycat实战之配置EP分片

    ER分片介绍 以mycat逻辑库里面自带的例子,例如客户(CUSTOMER)跟订单(orders)以及订单条目(orders_item),订单条目依 赖订单表,订单表依赖客户,这样客户与订单以及订单条 ...

  5. Mysql系列六:(Mycat分片路由原理、Mycat常用分片规则及对应源码介绍)

    一.Mycat分片路由原理 我们先来看下面的一个SQL在Mycat里面是如何执行的: , ); 有3个分片dn1,dn2,dn3, id=5000001这条数据在dn2上,id=10000001这条数 ...

  6. mycat 分页慢原理解析、mycat跨事务解惑、mycat注解调用存储过程分析

    1结合Mycat日志,分析select * from travelrecord order by id limit100000,100 的运行过程,解释下当limit M,N中的M非常大的情况下.为什 ...

  7. Mycat分布式数据库架构解决方案--Mycat实现读写分离

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

  8. Mycat分布式数据库架构解决方案--Mycat实现数据库分表

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

  9. MyCat(1.2)Mycat的安装

    [0]基本环境 OS:CentOS7.5 Software envireonment:JDK1.7.0 Master Software:Mycat1.6.5 Linux Client:CRT 8.0 ...

  10. Dubbo入门到精通学习笔记(二十):MyCat在MySQL主从复制的基础上实现读写分离、MyCat 集群部署(HAProxy + MyCat)、MyCat 高可用负载均衡集群Keepalived

    文章目录 MyCat在MySQL主从复制的基础上实现读写分离 一.环境 二.依赖课程 三.MyCat 介绍 ( MyCat 官网:http://mycat.org.cn/ ) 四.MyCat 的安装 ...

随机推荐

  1. React Hooks 钩子特性

    人在身处逆境时,适应环境的能力实在惊人.人可以忍受不幸,也可以战胜不幸,因为人有着惊人的潜力,只要立志发挥它,就一定能渡过难关. Hooks 是 React 16.8 的新增特性.它可以让你在不编写 ...

  2. Git使用(GitEE)

    Git分布式版本控制工具 1. Git概述 1.1 Git历史 Git 诞生于一个极富纷争大举创新的年代.Linux 内核开源项目有着为数众多的参与者. 绝大多数的 Linux 内核维护工作都花在了提 ...

  3. Codeforces-470 div2 C题

    C. Producing Snow time limit per test 1 second memory limit per test 256 megabytes input standard in ...

  4. 切换容器引擎为containerd

    确保模块载入: # 永久生效 cat <<EOF | sudo tee /etc/modules-load.d/containerd.conf overlay br_netfilter E ...

  5. Asp.net core Webapi 如何执行定时任务?

    前言 在计算机系统中,定时执行一些后台任务是很常见的场景,比如定时发送邮件.备份数据等等. 那么,.NET 技术如何通过编程灵活地实现项目里复杂的自定义任务呢? 如果是 Windows 生态,通常来说 ...

  6. JS的对象

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  7. ElasticSearch之查看集群的参数

    参考Cluster get settings API. 命令样例,不指定参数,如下: curl -X GET "https://localhost:9200/_cluster/setting ...

  8. springboot--ActiveMQ--消息队列

    ActiveMQ远程消息队列 一.我们创建springboot项目工程 二.创建完毕我们简单介绍 activeMQ 1.概述 消息中间件可以理解成就是一个服务软件,保存信息的容器,比如生活中的快递云柜 ...

  9. Java注解,看完就会用

    一.什么是注解 定义:注解(Annotation),也叫元数据.一种代码级别的说明. 它是JDK1.5及以后版本引入的一个特性,与类.接口.枚举是在同一个层次. 它可以声明在包.类.字段.方法.局部变 ...

  10. Ef Core花里胡哨系列(7) 使用Ef Core也能维护表架构?

    Ef Core花里胡哨系列(7) 使用Ef Core也能维护表架构? 我们这里指的并不是查询,而是利用Ef的迁移原理,生成可用的其它表架构操作的Sql. 例如你想在Ef Core里建表,并且可能程序里 ...