mycat
林震南
笨小孩,攒钱,投资,争取早日财务自由,回老家教书育人
展开
-
mycat 路由转发过程原理深度解析
1 安装后进入Schema.xml配置信息如下,数据节点名称dn1、dn2、dn3:安装完后登录测试:mysql -utest -ptest -h127.0.0.1 -P8066 -DTESTDB2 , 创建表create table travelrecord (id bigint not null primary key,user_id varchar(100),traveld...原创 2019-07-15 00:17:09 · 10256 阅读 · 0 评论 -
mycat 分片数据平滑迁移实施过程
1,实践扩容travelrecord表定义为10个分片,尝试将10个分片中的2个分片转移到第二台MySQL上,并完成记录要求,最快的数据迁移做法,中断业务时间最短2,思路说明2.1,10个分片的环境准备我的理解里面,分片就代表了集群,一个分片就是一个实例,迁移2个分片,就是迁移2个实例到新的环境上面,但是由于测试没法准备那么多10个实例,所以用一个da...原创 2019-07-17 00:03:07 · 10485 阅读 · 0 评论 -
mycat 平台上实现将数据从oracle迁移到mysql
1,案例场景:Mycat 后面接一个Oracle实例与一个MySQL实例,假设用户表,订单表,转账记录表,Oracle字符集为GBK的,MySQL字符集则要求UTF8的完成用户表与订单表到MySQL的迁移过程,要求导数据是通过命令行连接Mycat来完成的同时操作如下过程:在Mycat里查询转账记录表,查询OK在Mycat里查询用户表,查询OK2,准备oracle...原创 2019-07-17 00:03:14 · 10268 阅读 · 0 评论 -
mycat 用Jconsole监控mycat压测的各种性能曲线
1,最方便的Mycat监控工具—JconsoleJDK自带,Windows下图形界面,监控分析Java程序,进入jdk安装目录的bin下面,C:\Program Files\Java\jdk1.7.0_15\bin,双击jconsole.exe打开。2,去查看后台jmx启动的端口查看jmx进程号: [root@oracle_standby conf]# ps -eaf|...原创 2019-07-17 00:03:31 · 18423 阅读 · 2 评论 -
mycat 瑞士军刀mycat-web详解
引言mycat从定义和分类来看,它是一个开源的分布式数据库系统,是一个实现了MySQL协议的服务器,前端用户可以把它看作是一个数据库代理,用MySQL客户端工具和命令行访问,而其后端可以用MySQL原生协议与多个MySQL服务器通信,也可以用JDBC协议与大多数主流数据库服务器通信,其核心功能是分表分库,即将一个大表水平分割为N个小表,存储在后端MySQL服务器里或者其他数据库里。...原创 2019-07-17 00:03:43 · 10488 阅读 · 0 评论 -
mycat - 解开它神秘的面纱
-->引言mycat从定义和分类来看,它是一个开源的分布式数据库系统,是一个实现了MySQL协议的服务器,前端用户可以把它看作是一个数据库代理,用MySQL客户端工具和命令行访问,而其后端可以用MySQL原生协议与多个MySQL服务器通信,也可以用JDBC协议与大多数主流数据库服务器通信,其核心功能是分表分库,即将一个大表水平分割为N个小表,存储在后端MySQL服务器里或者其他数据库里。...原创 2019-07-18 17:33:06 · 10873 阅读 · 0 评论 -
mycat 黑匣子
1,执行 select * from travelrecord ,分析Debug日志,说明整个执行逻辑,包括连接获取,连接同步信息,数据合并,数据返回,连接释放1.1清空debug信息[root@wgq_idc_squid_1_11 logs]# cat/dev/null > mycat.log[root@wgq_idc_squid_1_11 logs]# ll修改日志...原创 2019-07-18 17:43:19 · 10218 阅读 · 0 评论 -
mycat 不得不说的缘分
1,愕然回首,它在灯火阑珊处关于mysql集群中间件,以前写在应用程序里面,由开发人员实现,在配置文件里面写多个数据源,写库一个数据源,读库一个数据源,笨拙不高效,由于程序员的差异化,效果并不是特别理想。后来,组织了开发人员写了一个自动识别读写的功能模块接口,让开发人员调用,这样能满足特定场景的业务需求,但是...原创 2019-07-18 17:43:27 · 10147 阅读 · 0 评论 -
mycat catlet初步分析
样例SQL:Select a.id,a.name,b.title from a,b where a.id=b.id假如sql涉及到多个节点1,前端sql请求过来,调用processSQL方法,1.1,new DirectDBJoinHandler(ctx)加载handler1.2,ctx.executeNativeSQLSequnceJob(dataNodes,sql,joinHandle...原创 2019-07-19 00:48:49 · 10266 阅读 · 0 评论 -
mycat catlet初步探析续
分析catlet,画出Mycat收到新连接请求,执行SQL,返回结果集的过程中所涉及到的重要类,方法,以及逻辑样例SQL:Select a.id,a.name,b.title from a,b where a.id=b.id**分布:**假如sql涉及到多个节点。大概mycat的流程如下:1,前端sql请求过来,调用RouteService类,会跟原始SQL进行判断需要返回哪个 Rout...原创 2019-07-19 00:48:56 · 10271 阅读 · 0 评论 -
mycat 分片中快速数据迁移思考
操作实践背景: travelrecord表定义为10个分片,尝试将10个分片中的2个分片转移到第二台MySQL上,并完成记录, 要求最快的数据迁移做法,中断业务时间最短思路一利用mysqldump:在这里我们只针对mysql innodb engine,而且配置bin-log的数据库进行分析。因为是将10个分片中的两个分片进行迁移,其实就是数据库的迁移过程,就是...原创 2019-07-16 00:03:38 · 10263 阅读 · 0 评论 -
mycat 集群实现过程
规划haproxy+keepalived: 192.168.121.219haproxy+keepalived:192.168.121.244mycat1: 192.168.121.52mycat2:192.168.121.238vip地址:192.168.121.1031,准备2台mycat1.1 安装 192.168.121.52...原创 2019-07-16 00:02:58 · 10399 阅读 · 0 评论 -
mycat读写分离与主从切换
1,分库分表的优缺点、以及为什么分表方式无法成为主流?分表:在台服务器上,优点是易维护,类似表分区,缺点是在一台db服务器上,无法分担IO、负载集中。分库:在多台服务器上,优点是分担IO、负载均衡,缺点是较不易维护、数据统计以及jion操作有些难度。数据库切分的目的是为了分担IO、负载均衡,分表无法达到最佳的要求,所以无法成为主流。2,准备主库tar -xvf mysql...原创 2019-07-15 00:17:16 · 10378 阅读 · 0 评论 -
mycat读写分离与主从切换
1, 分库分表的优缺点、以及为什么分表方式无法成为主流?分表:在台服务器上,优点是易维护,类似表分区,缺点是在一台db服务器上,无法分担IO、负载集中。分库:在多台服务器上,优点是分担IO、负载均衡,缺点是较不易维护、数据统计以及jion操作有些难度。数据库切分的目的是为了分担IO、负载均衡,分表无法达到最佳的要求,所以无法成为主流。2, 准备主库tar -xvf mysql-5.6....原创 2019-07-15 00:17:26 · 10948 阅读 · 0 评论 -
mycat高可用 ER分片的2种场景详细分析
1,ER分片关系简介有一类业务,例如订单(ORDER)跟订单明细表(ORDER_DETAIL),明细表会依赖二订单,就是该会存在表的主从关系,这类似业务的切分可以抽象出合适的切分规则,比如根据用户ID切分,其它相关的表都依赖于用户ID,再或者根据订单ID进行切分,总之部分业务总会可以抽象出父子关系的表。这类表适用于ER分片表,子表的记录与所关联的父表记录存放在同一个数据分片上,避免数据Join跨...原创 2019-07-15 00:18:25 · 10478 阅读 · 0 评论 -
mycat 连续分片 -> 自定义数字范围分片
1,自定义数字范围分片自定义数字范围分片,提前规划好分片字段某个范围属于哪个分片,比如说将第一个500W的数据分片在第一个节点上面,第二个500W的数据分片在第二个节点上,依次类推2,添加配置文件在function.xml里面进行配置: <!-- 对自定义数字分片规则rang-long-tr04的定义 --> <function name="rang-l...原创 2019-07-15 00:18:35 · 10176 阅读 · 0 评论 -
mycat 连续分片 -> 按日期(天)分片
1,按日期(天)分片按日期(天)分片:从开始日期算起,按照天数来分片例如,从2016-01-01,每10天一个分片注意事项:需要提前将分片规划好,建好,否则有可能日期超出实际配置分片数2,添加配置文件在function.xml里面进行配置: <function name="sharding-by-date" class="org.opencloudb.route.functio...原创 2019-07-15 00:18:46 · 10591 阅读 · 0 评论 -
mycat 离散分片 -> 枚举分片
1,枚举分片枚举分片:通过在配置文件中配置可能的枚举id,自己配置分片,本规则适用于特定的场景,比如有些业务需要按照省份或区县来做保存,而全国省份区县固定的2,添加配置文件在function.xml里面进行配置: <!-- mapFile标识配置文件名称 type默认值为0(0表示Integer,非零表示String) 默认节点的作用:枚举分片时,如果碰到不识别的枚举值,就...原创 2019-07-16 00:02:07 · 10255 阅读 · 0 评论 -
mycat 离散分片 -> 程序指定分区的分片
1,程序指定分区的分片此规则是在运行阶段有应用自主决定路由到那个分片。此方法为直接根据字符子串(必须是数字)计算分区号(由应用传递参数,显式指定分区号)。2,添加配置文件在function.xml里面进行配置: <function name="sharding-by-substring-040302" class="org.opencloudb.route.func...原创 2019-07-16 00:02:14 · 10305 阅读 · 0 评论 -
mycat 分页慢原理解析、mycat跨事务解惑、mycat注解调用存储过程分析
1结合Mycat日志,分析select * from travelrecord order by id limit100000,100 的执行过程,解释下当limit M,N中的M非常大的情况下,为什么查询结果会变慢很多1.1mycat控制命令台显示,explain出来走了所有的节点 mysql>explain select * from travelrecord ord...原创 2019-07-16 00:02:22 · 10703 阅读 · 0 评论 -
mycat 性能采集工具
创建一个 person表,主键为Id,hash方式分片,主键自增(采用数据库方式),当自增的step分别为10,100,1万的三种情况下,对此表做性能测试。person表结构如下Id,主键,Mycat自增主键name,字符串,16字节最长school,毕业学校,数字,1-1000范围,是学校编号age,年龄,18-60addr,地址,32字节,建议为 gz-tianhe(城市-地区两级...原创 2019-07-16 00:02:40 · 10346 阅读 · 0 评论 -
mycat ShareJoin后少了2条记录的问题剖析详细过程
--<>问题描述 Mycat 在进行join的时候,本来是应该join出4条记录,但是结果却只出来2条记录,问题在哪里?mycat版本是1.5 mysql版本是5.6.12-log1,准备环境,先去原始mysql库上执行建库录入数据操作 # 在db1库和db2库分别建2个测试表 mysql>...原创 2019-07-19 00:49:10 · 10265 阅读 · 0 评论