今天想写一篇深入浅出mycat相关的文章。
一.mycat是什么?
mycat是mysql的数据库中间件,当然它也可以支持其他主流数据库oracle,sqlserver,db2等。
那么当前主流的数据库中间有哪些呢,优缺点是什么。请参考下面的博客:
http://www.guokr.com/blog/475765/
二.学习资料
官网:
http://www.mycat.org.cn/
网上的资料基本上都是从官网上抄的。 在官网上找到链接,用Git 在github上下载资料。
没用过git的,提供个链接
http://code.taobao.org/svn/openclouddb/downloads/
直接下载即可.
目前有三个版本,前两天刚出来个1.4-RC. 还能看到2.0-dev.看样子想出个2.0的大版本。
目前我测试的是1.4-RC
三.故障读写分离测试
后期准备查看根据源码进行研究。
前期是为了测试功能点。
我在本地起了四个mysql服务和一个mycat服务。我把他们都做成服务,在windows下管理。要不就要开五个dos窗口对这五个服务做起停操作。关闭启动都在服务管理下操作。如图:
mycat的schema.xml配置了双主从配置。配置如下:
PS:虽然上面定义了M1、M2,但是M2才是默认启动的(即balance=0的场合)。M1,M2跟<writheHost>位置有关,放在下面的是默认起的那套系统。
用的是默认的测试用例表:employee.
四个mysql,共建了八张表。 每张表一条记录,ID 从1到8。这样根据查询的结果,容易看到取的是哪个库。
测试结果
http://wenku.baidu.com/link?url=N2Zv2Gbm-PgGppZdZCUOFv_dyQIlAxbLrFBPMLLyNHy89Wj7qcS4fawjQXzu0uEKlaNrlxP8PHHuR-Isf2mTTKAHFgiCXbeBVM1N3pFGhU_
附件report是详细的冗灾测试报告。
Balance参数设置:
1. balance=“0”, 所有读操作都发送到当前可用的writeHost上。
2. balance=“1”,所有读操作都随机的发送到readHost。
3. balance=“2”,所有读操作都随机的在writeHost、readhost上分发
WriteType参数设置:
1. writeType=“0”, 所有写操作都发送到可用的writeHost上。只用一个writeHost执行写操作。
2. writeType=“1”,所有写操作都随机的发送到writeHost。多个writeHost随机写。
“readHost是从属于writeHost的,即意味着它从那个writeHost获取同步数据,因此,当它所属的writeHost宕机了,则它也不会再参与到读写分离中来,即“不工作了”,这是因为此时,它的数据已经“不可靠”了。基于这个考虑,目前mycat 1.3和1.4版本中,若想支持MySQL一主一从的标准配置,并且在主节点宕机的情况下,从节点还能读取数据,则需要在Mycat里配置为两个writeHost并设置banlance=1。”
报告中,包括了
balance=“0”,writeType=“0”;
balance=“1”,writeType=“0”;
balance=“2”,writeType=“0”;
balance=“0”,writeType=“1”;
balance=“1”,writeType=“1”;
balance=“2”,writeType=“1”;
六种场合下,双主从冗灾,读写测试报告。
四.学习mycat的进阶
个人觉得应该分为四个步骤,前三步相当于感性认识。最后一步是理性认识。
第一步,双主从环境下,加入冗灾场景,测试读写分离。
第二步,分库分表演练。
第三步,模拟生产环境下,宕机的回复,这块已经不仅仅是mycat的范畴。
第四步,终极了解mycat,还是要看源代码的。呵呵。带着问题去看,如mysql宕机后,是如何切换的,mysql回复后,又是如何重新检测的。本人在测试时,这段时间有些长,为什么要这么多长,以及处理机制是什么样。前面三步,他在代码层面是如何处理的。
- 大小: 50.2 KB
- 大小: 31.2 KB
分享到:
相关推荐
《MyCat测试报告:单机与多机集群的性能比较》 MyCat,作为一个流行的开源分布式数据库系统,常被用于解决大数据场景下的高并发问题。本测试报告旨在探究单台MyCat与多台MyCat集群在性能上的差异,并对比前端使用...
【标题】"mycat2 install-template(mycat2-install-template-1.20.zip)" 指的是MyCat 2的一个安装模板文件,版本号为1.20,存储在一个名为“mycat2-install-template-1.20.zip”的压缩包内。MyCat是开源的、基于...
MyCat2映射关系概述 MyCat2是一款开源的数据库中间件,可以实现数据库的分布式处理、读写分离、负载均衡等功能。在MyCat2中,数据源、集群和逻辑表是三个核心概念。 数据源(DataSource)是指实际的数据库实例,...
标题所涉及的知识点为“Mycat高可用负载均衡集群实现”,这是使用HAProxy和Keepalived技术来达成MyCat服务器集群的高可用性和负载均衡的方案。下面详细说明这一知识点。 首先,Mycat是一个数据库中间件,它可以实现...
【标题】"mycat2 install-template(mycat2-install-template-1.21.zip)" 指的是MyCat 2的一个安装模板文件,版本为1.21,通常包含了安装MyCat 2所需的所有配置文件和脚本,用于简化部署过程。 【描述】虽然描述...
《深入解析mycat2:基于mycat2-1.21-release-jar-with-dependencies.jar的分布式数据库中间件》 mycat2是一款开源的、高性能的、基于Java开发的分布式数据库中间件,它旨在解决大数据分布式存储和处理的问题。mycat...
【标题】"mycat2-1.21" 指的是Mycat数据库中间件的一个特定版本,即1.21版。Mycat是一款开源的、基于Java开发的分布式数据库系统,常用于大数据环境下的数据库集群管理,能够实现数据库的水平扩展,提升系统的并发...
MySQL中间件MyCat是一款在大数据环境下广泛使用的数据库管理和分发工具,特别针对MySQL数据库系统设计,旨在实现数据库的读写分离和水平扩展。MyCat 1.6.5是其一个稳定版本,专为Windows环境提供了免安装的便捷性。...
《Mycat数据库分片中间件详解》 Mycat,作为一款开源的分布式数据库中间件,被广泛应用于大数据量、高并发的互联网环境中。它实现了数据库的分片功能,可以将一个大表拆分成多个小表,分散在不同的数据库服务器上,...
【MyCat从入门到放弃】 MyCat是一款开源的分布式数据库中间件,它的设计目标是让大数据分布式处理变得简单。在大型互联网应用中,面对高并发、海量数据的挑战,单机数据库往往无法满足需求,因此MyCat应运而生。本...
### 关系型数据的分布式处理系统MyCAT:深入解析与应用 #### 1. MyCAT 概述 ##### 1.1 背景 随着信息技术的快速发展,传统的数据库技术面临着越来越大的挑战。特别是当数据库应用扩展到互联网级别时,集中式...
在Windows环境下安装Mycat,首先需要理解Mycat是什么。Mycat是一个开源的数据库分片中间件,主要用于解决大数据场景下的数据存储和查询问题。它基于Java编写,能够支持多种数据库系统,如MySQL、Oracle、DB2、SQL ...
Mycat 发展到目前的版本,已经不是一个单纯的 MySQL 代理了,它的后端可以支持 MySQL、SQL Server、 Oracle、DB2、PostgreSQL 等主流数据库,也支持 MongoDB 这种新型 NoSQL 方式的存储,未来还会支持更 多类型的...
Proxy和Mycat是两种常用的中间件,用于实现这些功能。本篇文章将深入探讨proxy和Mycat的对比测试,以及如何在MySQL主从架构中进行测试。 首先,我们来看proxy。Proxy通常指的是数据库代理服务器,它位于应用服务器...
Mycat作为一款开源的分布式数据库中间件,被广泛应用于大数据处理和高并发场景,为企业提供了数据库分库分表、读写分离等解决方案。然而,在实际生产环境中,Mycat的使用往往会遇到一些常见问题。以下是对这些问题的...
MySQL分布式数据库中间件Mycat是一款广泛应用于大数据处理和高并发场景的重要工具,它通过将数据分布到多个物理节点上,实现了数据的水平扩展。在实际应用中,Mycat的性能调优对于系统的整体效率至关重要。本指南将...
《Mycat2数据迁移工具——Yugong:轻松实现MySQL到Mycat的无缝迁移》 在IT行业中,数据库管理是一项至关重要的任务,尤其是在大数据时代,数据量的爆炸性增长使得传统的单一数据库系统面临挑战。Mycat作为一款开源...
【Mycat多租户解决方案】是针对SAAS(Software as a Service)应用设计的一种高效且资源节省的数据隔离策略。在传统的多租户模式中,每个租户通常需要单独的数据库实例,这不仅消耗大量资源,还增加了管理和运维的...
《Mycat权威指南》是一本深度解析Mycat数据库系统的中文著作,旨在为读者提供全面、清晰的Mycat使用指南。Mycat作为一款开源的分布式数据库系统,其核心价值在于解决大数据环境下传统单机数据库无法满足的高并发、高...