一、Mycat实战---为什么要用mycat
系列导航
本篇博客开始给大家介绍一下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的更多相关文章
- Mycat实战之数据迁移(oracle -- mysql)
1.案例场景: Mycat 后面接一个 Oracle 实例与一个 MySQL 实例,假设用户表,订单表,转账记录表, Oracle 字符集为 GBK 的,MySQL 字符集则要求 UTF8的 完成用户 ...
- MYCAT实战之分片迁移
实践扩容 1.要求: travelrecord 表定义为10个分片,尝试将10个分片中的 2 个分片转移到第二台MySQL上, 并完成记录要求,最快的数据迁移做法,中断业务时间最短 2.针对分片以及迁 ...
- Mycat实战之主键数据库自增方式
创建一个 person表,主键为Id,hash方式分片,主键自增(采用数据库方式) #person表结构如下 Id,主键,Mycat自增主键 name,字符串,16字节最长 school,毕业学校,数 ...
- Mycat实战之配置EP分片
ER分片介绍 以mycat逻辑库里面自带的例子,例如客户(CUSTOMER)跟订单(orders)以及订单条目(orders_item),订单条目依 赖订单表,订单表依赖客户,这样客户与订单以及订单条 ...
- Mysql系列六:(Mycat分片路由原理、Mycat常用分片规则及对应源码介绍)
一.Mycat分片路由原理 我们先来看下面的一个SQL在Mycat里面是如何执行的: , ); 有3个分片dn1,dn2,dn3, id=5000001这条数据在dn2上,id=10000001这条数 ...
- mycat 分页慢原理解析、mycat跨事务解惑、mycat注解调用存储过程分析
1结合Mycat日志,分析select * from travelrecord order by id limit100000,100 的运行过程,解释下当limit M,N中的M非常大的情况下.为什 ...
- Mycat分布式数据库架构解决方案--Mycat实现读写分离
echo编辑整理,欢迎转载,转载请声明文章来源.欢迎添加echo微信(微信号:t2421499075)交流学习. 百战不败,依不自称常胜,百败不颓,依能奋力前行.--这才是真正的堪称强大!!! 安装完 ...
- Mycat分布式数据库架构解决方案--Mycat实现数据库分表
echo编辑整理,欢迎转载,转载请声明文章来源.欢迎添加echo微信(微信号:t2421499075)交流学习. 百战不败,依不自称常胜,百败不颓,依能奋力前行.--这才是真正的堪称强大!!! 准备工 ...
- MyCat(1.2)Mycat的安装
[0]基本环境 OS:CentOS7.5 Software envireonment:JDK1.7.0 Master Software:Mycat1.6.5 Linux Client:CRT 8.0 ...
- Dubbo入门到精通学习笔记(二十):MyCat在MySQL主从复制的基础上实现读写分离、MyCat 集群部署(HAProxy + MyCat)、MyCat 高可用负载均衡集群Keepalived
文章目录 MyCat在MySQL主从复制的基础上实现读写分离 一.环境 二.依赖课程 三.MyCat 介绍 ( MyCat 官网:http://mycat.org.cn/ ) 四.MyCat 的安装 ...
随机推荐
- 实例讲解Python 解析JSON实现主机管理
本文分享自华为云社区<Python 解析JSON实现主机管理>,作者: LyShark. JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它以易 ...
- serdes级联时钟
级联时钟在其他的IP领域下很少见到,在serdes中时个基本的功能. 因为高密场景下需要时钟数几十个IP,一般摆放在芯片边缘位置. 而SOC的管脚资源非常有限.因此就需要多个IP之间的ref clk进 ...
- [ABC261D] Flipping and Bonus
Problem Statement Takahashi will toss a coin $N$ times. He also has a counter, which initially shows ...
- Hive select查询语句
创建表 CREATE TABLE t_usa_covid19( count_date string, county string, state string, fips int, cases int, ...
- [VBA] 实现SQLserver数据库的增删改查
[VBA] 实现 SQLserver数据库的增删改查 问题背景 用于库存管理的简单Excel系统实现,能够让库管员录入每日出入库信息并进能够按日期查询导出数据,生成简要报表,以及数据修改与删除.非科班 ...
- 一行代码修复100vh bug | 京东云技术团队
你知道奇怪的移动视口错误(也称为100vh bug)吗?或者如何以正确的方式创建全屏块? 一.100vh bug 什么是移动视口错误? 你是否曾经在网页上创建过全屏元素?只需添加一行 CSS 并不难: ...
- IntelliJ IDEA官方宣布中文汉化包正式发布-intellijidea-guan-fang-xuan-bu-zhong-wen-han-hua-bao-zheng-shi-fa-bu
title: IntelliJ IDEA官方宣布中文汉化包正式发布 date: 2021-07-27 16:42:21.823 updated: 2021-12-26 17:43:12.204 url ...
- JavaFx之使用高版本JDK(二十八)
JavaFx之使用高版本JDK(二十八) 如何使用高版本的jfx? 根据官网的需要手动引入jfx模块(运行参数:–module-path) 要知道高版本jfx已经集成了丰富的主流功能,例如视频编码,大 ...
- android ProgressBar样式
实现进度条由浅黄(#ffff33)到深黄色(#ff6600)的渐变样式. 与进度条自动从0加载到99,进度条每次加1 android:max:进度条的最大值. android:progressDraw ...
- 未经授权访问 .js
流程顺序:后台管理登陆地址 → 后台主页地址 → fuzz测试出用户管理列表接口 → 直接调接口..全程黑盒. 那么接下来我逆着来推理下逻辑: 首先是拿到某后台管理登录的网址 接着查看html源码,发 ...