MySQL 中间件 mycat 的使用
什么是MYCAT
- 一个彻底开源的,面向企业应用开发的大数据库集群
- 支持事务、ACID、可以替代MySQL的加强版数据库
- 一个可以视为MySQL集群的企业级数据库,用来替代昂贵的Oracle集群
- 一个融合内存缓存技术、NoSQL技术、HDFS大数据的新型SQL Server
- 结合传统数据库和新型分布式数据仓库的新一代企业级数据库产品
- 一个新颖的数据库中间件产品
开始使用:
先在服务器上创建三个数据库

create database test_db1;
create database test_db2;
create database test_db3;
然后将配置 上面创建的三个库为 mycat 的数据源

conf/schema.xml 设置 user 表 , 数据节点分别为上面设置的 dn1,dn2,dn3, 分片规则为id根据 auto-sharding-long 的规则划分到某个数据节点

在 conf/rule.xml 中找到 auto-sharding-long 的规则

接着在此文件中搜索 rang-long 会查到规则存放在 autopartition-long.txt

conf/autopartition-long.txt (每个分区存500万条)

解析为:
id 1 - 5000000 时,放入数据节点索引0
id 5000001 - 10000000 时,放入数据节点索引1
id 1000001 - 15000000 时,放入数据节点索引2
*** 如果插入的数据超过 1500万条时,就需要扩容了,再加个节点 ,依次类推
启动 mycat:

测试 mycat:
应用中如何使用,官网已经说明了,直接连接 mycat 应用就好了,相当于 mycat 代理了 MySQL ,以后操作 MySQL 先经过 mycat
https://github.com/MyCATApache/Mycat-Server


账号密码就是 conf/server.xml 配置的账号密码

在 mycat 管理的 TESTDB 数据库下执行如下 SQL 语句

# 创建测试 user 表
create table user(id bigint not null primary key,name varchar(100)) comment "测试用户表";
# 插入数据
insert into user(id,name) values(1,'zhangsan');
insert into user(id,name) values(2,'lisi');
insert into user(id,name) values(3,'wanger');
insert into user(id,name) values(5000001,'mazi');
insert into user(id,name) values(10000001,'David');
# 查询以下你插入的数据
select * from user;
执行以上语句,会发现
test_db1、test_db2、test_db3 这三个数据库都创建了一张 user 表;
test_db1.user 表中有插入的前3条数据

test_db2.user 表中有插入的第4条数据

test_db3.user 表中有插入的第5条数据

上面一个简单的插入查询就完成。
Mycat高可用方案


MySQL 中间件 mycat 的使用的更多相关文章
- (十五)mysql中间件MyCAT实现
1)拓扑如下和实现目标 写操作:都在master 读操作:在slave1上 当master1挂了,写操作自动切换到master2上 当master2挂了,写操作自动切换到master1上 2)Myca ...
- MySQL 中间件汇总比较
360 Atlas 较为活跃,Atlas 是由 360 Web平台部基础架构团队开发维护的一个基于 MySQL 协议的数据中间层项目.它是在mysql-proxy 0.8.2版本的基础上,对其进行了优 ...
- 【Jmeter】压测mysql数据库中间件mycat
背景 因为博主所负责测试的项目需要数据库有较大的吞吐量,在最近进行了升级,更新了一个数据库中间件 - - mycat.查询了一些资料,了解到这是阿里的一个开源项目,基于mysql,是针对磁盘的读与写, ...
- 03中间件mycat对pxc集群的分片处理
安装第二个pxc集群 作为mycat的第二个分片 直接拷贝其中的一个虚拟机,然后还原到最初的状态,这样会小很多,启动改一下IP和基础配置,然后再次拷贝这个虚拟机两份改IP重启即可 正常安装pxc集群即 ...
- 开源数据库中间件-MyCat
开源数据库中间件-MyCat产生的背景 如今随着互联网的发展,数据的量级也是成指数的增长,从GB到TB到PB.对数据的各种操作也是愈加的困难,传统的关系型数据库已经无法满足快速查询与插入数据的需求.这 ...
- mysql 中间件
http://f.dataguru.cn/thread-543718-1-1.html mysql-proxy是官方提供的mysql中间件产品可以实现负载平衡,读写分离,failover等,但其不支持 ...
- mysql中间件proxysql实现mysql读写分离
目录 1. mysql实现读写分离的方式 2. ProxySQL简介 3. ProxySQL安装 4. ProxySQL的Admin管理接口 5. 和admin管理接口相关的变量 5.1 admin- ...
- mysql中间件研究(Atlas,cobar,TDDL)
mysql-proxy是官方提供的mysql中间件产品可以实现负载平衡,读写分离,failover等,但其不支持大数据量的分库分表且性能较差.下面介绍几款能代替其的mysql开源中间件产品,Atlas ...
- MySQL中间件Atlas安装及使用
简介 Atlas是由 Qihoo 360公司Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目.它在MySQL官方推出的MySQL-Proxy 0.8.2版本的基础上,修改了大量 ...
随机推荐
- Scrapy-redis实现分布式爬取的过程与原理
Scrapy是一个比较好用的Python爬虫框架,你只需要编写几个组件就可以实现网页数据的爬取.但是当我们要爬取的页面非常多的时候,单个主机的处理能力就不能满足我们的需求了(无论是处理速度还是网络请求 ...
- onedriver -1T容量,edu邮箱申请。
https://www.cccs.edu/ Apply申请 以前申请过这个红石社区大学. 创建帐号 自己翻译一下填填吧. 注册完,进入My Account,下面会有 2,点进去,也是注册. 3,点进去 ...
- Python sqlalchemy使用
import sqlalchemy from sqlalchemy import create_engine from sqlalchemy.ext.declarative import declar ...
- Solr查询参数
引自:http://www.cnblogs.com/zhangweizhong/p/5056884.html 一.基本查询 q 查询的关键字,此参数最为重要,例如,q=id:1,默认为q=*:*, ...
- CUDA ---- Branch Divergence and Unrolling Loop
Avoiding Branch Divergence 有时,控制流依赖于thread索引.同一个warp中,一个条件分支可能导致很差的性能.通过重新组织数据获取模式可以减少或避免warp diverg ...
- Windows折腾之路 兼谈纯净强迫情节
早期新鲜感 想当年,终于有了第一台属于自己自由处置的电脑,1.2Ghz的CPU,256兆的内存.这在CPU刚刚上1G的年代,不说顶级,也算主流.操作系统呢,在别人的帮助下,装上新鲜的XP,各种的华丽, ...
- windows : Jmeter自动化测试-eclipse+maven+jmeter
前提 在window上已经安装maven并且在eclipse中配置好了maven,如果没有配置,参考文章 windows上安装maven及eclipse中配置maven 一.创建一个包含jmete ...
- CCScrollView
#ifndef TestCCScrollView_testScene_h #define TestCCScrollView_testScene_h #include "cocos2d.h&q ...
- ContentType&CORS&Git
ContentType django内置的ContentType组件就是帮我们做连表操作 如果一个表与其他表有多个外键关系,我们可以通过ContentType来解决这种关联 from django.d ...
- C语言基础:分支语句和常见运算符 分类: iOS学习 c语言基础 2015-06-10 21:44 13人阅读 评论(0) 收藏
if(判断条件){ 执行语句; }else if(判断条件){ 执行语句; } switch (整型表达式){ case 值1: 执行语句; break; case 值2: 执行语句; break; ...