开源数据库中间件-MyCat

开源数据库中间件-MyCat产生的背景

  如今随着互联网的发展,数据的量级也是成指数的增长,从GB到TB到PB。对数据的各种操作也是愈加的困难,传统的关系型数据库已经无法满足快速查询与插入数据的需求。这个时候NoSQL的出现暂时解决了这一危机。它通过降低数据的安全性,减少对事务的支持,减少对复杂查询的支持,来获取性能上的提升。

  但是,在有些场合NoSQL一些折衷是无法满足使用场景的,就比如有些使用场景是绝对要有事务与安全指标的。这个时候NoSQL肯定是无法满足的,所以还是需要使用关系型数据库。如何使用关系型数据库解决海量存储的问题呢?此时就需要做数据库集群,为了提高查询性能将一个数据库的数据分散到不同的数据库中存储。

什么是MyCat?

  Mycat 背后是阿里曾经开源的知名产品——Cobar。Cobar 的核心功能和优势是 MySQL 数据库分片,此产品曾经广为流传,据说最早的发起者对 Mysql 很精通,后来从阿里跳槽了,阿里随后开源的 Cobar,并维持到 2013 年年初,然后,就没有然后了。

  Cobar 的思路和实现路径的确不错。基于 Java 开发的,实现了 MySQL 公开的二进制传输协议,巧妙地将自己伪装成一个 MySQL Server,目前市面上绝大多数 MySQL 客户端工具和应用都能兼容。比自己实现一个新的数据库协议要明智的多,因为生态环境在哪里摆着。

  Mycat 是基于 cobar 演变而来,对 cobar 的代码进行了彻底的重构,使用 NIO 重构了网络模块,并且优化了 Buffer 内核,增强了聚合,Join 等基本特性,同时兼容绝大多数数据库成为通用的数据库中间件。

  简单的说,MyCAT就是:一个新颖的数据库中间件产品,支持mysql集群,或者mariadb cluster,提供高可用性数据分片集群。你可以像使用mysql一样使用mycat。对于开发人员来说根本感觉不到mycat的存在。

MyCat支持的数据库:

使用mycat之前肯定要使用mysql(具体哪个数据库无所谓,只要是mycat支持的就行)简单的说一下Linux下mysql的安装:

安装要求:

JDK:要求jdk必须是1.7及以上版本

MySQL:推荐mysql是5.5以上版本

安装与启动步骤如下:

(1)将MySQL的服务端和客户端安装包(RPM)上传到服务器

(2)查询之前是否安装过MySQL

rpm -qa|grep -i mysql

(3)卸载旧版本MySQL

rpm -e --nodeps  软件名称

(4)安装服务端

rpm -ivh MySQL-server-5.5.49-1.linux2.6.i386.rpm

(5)安装客户端

rpm -ivh MySQL-client-5.5.49-1.linux2.6.i386.rpm

(6)启动MySQL服务

service mysql start

(7)登录MySQL (记得设置mysql登录密码,此处不作详细介绍!)

mysql -u root -proot

(8)设置远程登录权限

GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘%‘IDENTIFIED BY ‘root‘  WITH GRANT OPTION;

在本地SQLyog 连接远程MySQL进行测试

接下来的工作就是我们的重头戏mycat了,首先当然还是从mycat的安装说起了。

mycat的官方网站:http://www.mycat.org.cn/

下载地址①:https://github.com/MyCATApache/Mycat-download

下载地址②:http://dl.mycat.io/

下载好了之后开始正式安装:

第一步:将Mycat-server-1.4-release-20151019230038-linux.tar.gz上传至服务器

第二步:将压缩包解压缩。建议将mycat放到/usr/local/mycat目录下。

tar -xzvf Mycat-server-1.4-release-20151019230038-linux.tar.gz
mv mycat /usr/local

第三步:进入mycat目录的bin目录,启动mycat

./mycat start

停止mycat:

./mycat stop

mycat 支持的命令{ console | start | stop | restart | status | dump }

Mycat的默认端口号为:8066

此时我们已经成功的安装好了mycat了,这之前先不用着急怎么去用mycat,我们需要知道怎么用mycat分片解决海量数据存储方案的。

时间: 2024-10-03 02:15:58

开源数据库中间件-MyCat的相关文章

开源数据库中间件MYCAT产品介绍与企业实战

开源产品就像一块布,不能拿来就用,我们要量体裁衣,把它变成一件衣服.互联网开发无小事,因为互联网应用要面对海量信息,一个小小的问题也能被无限放大,就像汪洋中的蝴蝶效应.一个互联网应用遇到的问题可能与系统.网络.应用.架构.数据等各个层面的问题有关,只有耐心发现并处理好每一个相关层面的问题,才能最终形成一款好的互联网应用.时刻提醒自己当下一波巨浪到来前我们会准备的更好! <开源数据库中间件MYCAT产品介绍与企业实战>  下载地址:http://download.csdn.net/detail/

转:开源数据库中间件MyCat实现数据库读写分离、分表分库指南

系统开发中,数据库是非常重要的一个点.除了程序的本身的优化,如:SQL语句优化.代码优化,数据库的处理本身优化也是非常重要的.主从.热备.分表分库等都是系统发展迟早会遇到的技术问题问题.Mycat是一个广受好评的数据库中间件,已经在很多产品上进行使用了.希望通过这篇文章的介绍,能学会Mycat的使用. 安装 Mycat官网:http://www.mycat.io/可以了解下Mycat的背景和应用情况,这样使用起来比较有信心. Mycat下载地址:http://dl.mycat.io/官网有个文档

Jmeter测试mysql数据库中间件mycat

背景 因为博主所负责测试的项目需要数据库有较大的吞吐量,在最近进行了升级,更新了一个数据库中间件 - - mycat.查询了一些资料,了解到这是阿里的一个开源项目,基于mysql,是针对磁盘的读与写,理论上读写速度上会略小于mysql. 与组长沟通后,决定在功能测试完成后,对升级后的mycat进行性能压测. 环境准备 1.下载Jmeter 可以访问下面的地址进行下载,建议下载zip版本的,因为zip是一个绿色版本,无需安装,解压后即可使用, Jmeter下载地址 2.下载mysql数据库的驱动包

现代Java服务端开发核心技术之分布式数据库中间件MyCAT入门

现代Java服务端开发核心技术之分布式数据库中间件MyCAT入门 现代Java服务端开发核心技术 MyCAT系统环境搭建 如下列表展示了搭建MyCAT运行时环境所需要的软件及其版本说明. 软件名称 软件版本 os centos7.5 JDK JDK1.8u191 MySQL MySQL5.7 Mycat Mycat1.6.5 Navicat Navicat12.08 在非集群的环境下,MyCAT仅仅依赖JDK就可以良好的运行在Windows,Linux,macOS等操作系统之上. CentOS7

现代Java服务端开发核心技术之数据库中间件MyCAT入门

现代Java服务端开发核心技术之数据库中间件MyCAT入门 现代Java服务端开发核心技术 MyCAT系统环境搭建 如下列表展示了搭建MyCAT运行时环境所需要的软件及其版本说明. 软件名称 软件版本 os centos7.5 JDK JDK1.8u191 MySQL MySQL5.7 Mycat Mycat1.6.5 Navicat Navicat12.08 SecureCRT Linux客户端 在非集群的环境下,MyCAT仅仅依赖JDK就可以良好的运行在Windows,Linux,macOS

数据库中间件mycat简单入门

当在项目中mysql数据库成为瓶颈的时候,我们一般会使用主从复制,分库分表的方式来提高数据库的响应速度,比如mysql主从复制,在没有数据库中间件的情况下,我们只能由开发工程师在程序中控制,这对于一个在正在线上运行的项目来说,需要改动的代码量蛮大的,也不方便扩展,比如,我想再添加一台从机,下面进行mycat入门 一.部署步骤详解 (1) 用命令行工具或图形化客户端,连接MYSQL,创建DEMO所用三个分片数据库: CREATE database db1; CREATE database db2;

开源数据库中间件kingshard横空出世

kingshard简介 kingshard是一个由Go开发高性能MySQL Proxy项目,kingshard在满足基本的读写分离的功能上,致力于简化MySQL分库分表操作:能够让DBA通过kingshard轻松平滑地实现MySQL数据库扩容. kingshard的性能大约是直连MySQL性能的80%以上. 主要功能: 读写分离. 跨节点分表. 支持透明的MySQL连接池,不必每次新建连接. 支持客户端IP访问控制. 平滑上线DB或下线DB,前端应用无感知. 支持多个slave,slave之间通

深入理解开源数据库中间件 Vitess:核心特性以及如何进行数据存储的堆叠

概述 Vitess 是一个用于 MySql 扩展的数据库解决方案.它以能够像运行在专用硬件上那样有效地运行在云体系为目标进行架构.它集 MySql 数据库的很多重要特性和 NoSQL 数据库的可扩展性于一体.Vitess 已经成功侍服了 2011 年以来所有的 YouTube 数据库流量. Kubernetes 上的 Vitess Kubernetes 是 Google 开源的 Docker 容器集群管理系统,Vitess 是 Kubernetes 用户的逻辑存储引擎的一个可选项.Kuberne

数据库中间件 MyCAT 源码分析 —— 调试环境搭建

关注**微信公众号:[芋艿的后端小屋]**有福利: RocketMQ / MyCAT / Sharding-JDBC 所有源码分析文章列表 RocketMQ / MyCAT / Sharding-JDBC 中文注释源码 GitHub 地址 您对于源码的疑问每条留言都将得到认真回复.甚至不知道如何读源码也可以请教噢. 新的源码解析文章实时收到通知.每周更新一篇左右. 1. 依赖工具 2. 源码拉取 3. 数据库配置 4. MyCat 配置 5. MyCAT 启动 6. MyCAT 测试 7. 交流