mycat ShareJoin后少了2条记录的问题剖析详细过程

--问题描述         Mycat 在进行join的时候,本来是应该join出4条记录,但是结果却只出来2条记录,问题在哪里? 1,准备环境,先去原始mysql库上执行建库录入数据操作 # 在db1库和db2库分别建2个测试表 mysql> use db1 Database changed mysql> CREATE TABLE `t1` (     ->   `id` big...
阅读(9169) 评论(3)

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请求过来,调用processSQL方法, 1.1,new DirectDBJoi...
阅读(9990) 评论(0)

mycat 不得不说的缘分

1,愕然回首,它在灯火阑珊处关于mysql集群中间件,以前写在应用程序里面,由开发人员实现,在配置文件里面写多个数据源,写库一个数据源,读库一个数据源,笨拙不高效,由于程序员的差异化,效果并不是特别理想。 后来,组织了开发人员写了一个自动识别读写的功能模块接口,让开发人员调用,这样能满足特定场景的业务需求,但是适应性比较窄。 后来出了cobar,但是在高并发这里出壳了,后来在一次无意中的演讲中,见...
阅读(24802) 评论(45)

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 修改日志为debug:vim lo...
阅读(13071) 评论(0)

mycat - 解开它神秘的面纱

--引言mycat从定义和分类来看,它是一个开源的分布式数据库系统,是一个实现了MySQL协议的服务器,前端用户可以把它看作是一个数据库代理,用MySQL客户端工具和命令行访问,而其后端可以用MySQL原生协议与多个MySQL服务器通信,也可以用JDBC协议与大多数主流数据库服务器通信,其核心功能是分表分库,即将一个大表水平分割为N个小表,存储在后端MySQL服务器里或者其他数据库里。 MyCat...
阅读(12195) 评论(0)

mycat 瑞士军刀mycat-web详解

1,下载地址https://github.com/MyCATApache/Mycat-download/blob/master/mycat-web-1.0/Mycat-web-1.0-SNAPSHOT-20160331220346-linux.tar.gz 2,mycat-web安装参考readme.txt,在linux下打开乱码,copy出来到本地pc机器: 1.安装JDK 要求jdk1.7...
阅读(12797) 评论(6)

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|grepjmxroot...
阅读(6678) 评论(2)

mycat 平台上实现将数据从oracle迁移到mysql

1,案例场景:Mycat 后面接一个Oracle实例与一个MySQL实例,假设用户表,订单表,转账记录表,Oracle字符集为GBK的,MySQL字符集则要求UTF8的完成用户表与订单表到MySQL的迁移过程,要求导数据是通过命令行连接Mycat来完成的同时操作如下过程:在Mycat里查询转账记录表,查询OK在Mycat里查询用户表,查询OK  2,准备oracle实例环境Linux部署安装ora...
阅读(4336) 评论(0)

mycat 分片数据平滑迁移实施过程

1,实践扩容 travelrecord表定义为10个分片,尝试将10个分片中的2个分片转移到第二台MySQL上,并完成记录要求,最快的数据迁移做法,中断业务时间最短  2,思路说明2.1,10个分片的环境准备我的理解里面,分片就代表了集群,一个分片就是一个实例,迁移2个分片,就是迁移2个实例到新的环境上面,但是由于测试没法准备那么多10个实例,所以用一个database来代表一个实例一个分片,这样...
阅读(4494) 评论(0)

mycat 分片中快速数据迁移思考

操作实践背景:     travelrecord表定义为10个分片,尝试将10个分片中的2个分片转移到第二台MySQL上,并完成记录,   要求最快的数据迁移做法,中断业务时间最短大概思路:在这里我们只针对mysql innodb engine,而且配置bin-log的数据库进行分析。因为是将10个分片中的两个分片进行迁移,其实就是数据库的迁移过程,就是将10个数据库中的两个数据迁移到另外一台机器...
阅读(4376) 评论(0)

mycat 集群实现过程

后续完善中...
阅读(7275) 评论(4)

mycat 性能采集工具

创建一个 person表,主键为Id,hash方式分片,主键自增(采用数据库方式),当自增的step分别为10,100,1万的三种情况下,对此表做性能测试。 person表结构如下 Id,主键,Mycat自增主键 name,字符串,16字节最长 school,毕业学校,数字,1-1000范围,是学校编号 age,年龄,18-60 addr,地址,32字节,建议为 gz-tianhe(城市...
阅读(6140) 评论(9)

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 order by...
阅读(5962) 评论(7)

mycat 离散分片 -> 程序指定分区的分片

1,程序指定分区的分片此规则是在运行阶段有应用自主决定路由到那个分片。 此方法为直接根据字符子串(必须是数字)计算分区号(由应用传递参数,显式指定分区号)。2,添加配置文件在function.xml里面进行配置: <function name="sharding-by-substring-040302" class="org.opencloudb.route.function.Par...
阅读(4356) 评论(1)

mycat 离散分片 -> 枚举分片

1,枚举分片枚举分片:通过在配置文件中配置可能的枚举id,自己配置分片,本规则适用于特定的场景,比如有些业务需要按照省份或区县来做保存,而全国省份区县固定的2,添加配置文件在function.xml里面进行配置: <!-- mapFile标识配置文件名称 type默认值为0(0表示Integer,非零表示String) 默认节点的作用:枚举分片时,如果碰到不识别的枚举...
阅读(3802) 评论(0)

mycat 连续分片 -> 按日期(天)分片

1,按日期(天)分片按日期(天)分片:从开始日期算起,按照天数来分片 例如,从2016-01-01,每10天一个分片 注意事项:需要提前将分片规划好,建好,否则有可能日期超出实际配置分片数2,添加配置文件在function.xml里面进行配置: <function name="sharding-by-date" class="org.opencloudb.route.function.Pa...
阅读(5244) 评论(0)

mycat 连续分片 -> 自定义数字范围分片

1,自定义数字范围分片自定义数字范围分片,提前规划好分片字段某个范围属于哪个分片,比如说将第一个500W的数据分片在第一个节点上面,第二个500W的数据分片在第二个节点上,依次类推2,添加配置文件在function.xml里面进行配置: <function name="rang-long-04" clas...
阅读(4041) 评论(4)

mycat高可用 ER分片的2种场景详细分析

1,ER分片关系简介有一类业务,例如订单(ORDER)跟订单明细表(ORDER_DETAIL),明细表会依赖二订单,就是该会存在表的主从关系,这类似业务的切分可以抽象出合适的切分规则,比如根据用户ID切分,其它相关的表都依赖于用户ID,再或者根据订单ID进行切分,总之部分业务总会可以抽象出父子关系的表。这类表适用于ER分片表,子表的记录与所关联的父表记录存放在同一个数据分片上,避免数据Join跨库操...
阅读(7681) 评论(5)

mycat读写分离与主从切换

1, 分库分表的优缺点、以及为什么分表方式无法成为主流?分表:在台服务器上,优点是易维护,类似表分区,缺点是在一台db服务器上,无法分担IO、负载集中。 分库:在多台服务器上,优点是分担IO、负载均衡,缺点是较不易维护、数据统计以及jion操作有些难度。数据库切分的目的是为了分担IO、负载均衡,分表无法达到最佳的要求,所以无法成为主流。2, 准备主库tar -xvf mysql-5.6.1...
阅读(16097) 评论(21)

mycat 路由转发过程原理深度解析

1 安装后进入Schema.xml配置信息如下,数据节点名称dn1、dn2、dn3: 安装完后登录测试: mysql -utest -ptest -h127.0.0.1 -P8066 -DTESTDB 2 , 创建表create table travelrecord (id bigint not null primary key,user_id varchar(100),trave...
阅读(6341) 评论(0)
    个人资料
    • 访问:3179483次
    • 积分:39893
    • 等级:
    • 排名:第102名
    • 原创:639篇
    • 转载:4篇
    • 译文:2篇
    • 评论:1397条
    博客专栏
    技术网址连接
    http://dev.mysql.com/doc/
    最新评论