mycat -01入门

1.1 数据库切分概述

OLTP联机事务处理也称为面向交易的处理系统,其基本特征是原始数据可以立即传送到计算中心进行处理,并在短时间内给出结果。

OLAP联机分析处理指通过多维的方式对数据进行分析、查询和报表,可以同数据挖掘工具、统计分析工具配合使用,增强决策分析功能。

mycat -01入门_第1张图片

Mycat 概述

功能介绍:

1、核心功能是分表分库,即将一个大表水分分割为N个小表,存储在后端的N个数据库里(mysql或其他);

2、后端数据库支持mysql、sql server、oracle、db2 Postgresql、支持nosql mongodb 等

mycat 就是mysql server,而mycat后面连接的是mysql server,就好像是mysql的存储引擎,如innodb myisam等,因此mycat本身并不存储数据,数据是在后端的mysql上存储的,因此数据可靠性以及事务等都是mysql保证的,简单说,mycat就是mysql的最佳伴侣,他在一定程度上让mysql 用用了根oracle pk的能力。

Mycat 是一个强大的数据库中间件,不仅仅可以用作读写分离、以及分表分库、容灾备份,而且可以用于多

租户应用开发、云平台基础设施、让你的架构具备很强的适应性和灵活性,借助于即将发布的 Mycat 智能优化模

块,系统的数据访问瓶颈和热点一目了然,根据这些统计分析数据,你可以自动或手工调整后端存储,将不同的

表映射到不同存储引擎上,而整个应用的代码一行也不用改变。

 

mycat 原理:

mycat的原理最重要的一个词是“拦截”,他拦截了用户发送过来的sql语句,首先对sql语句做了一些特定的分析:如分片分析、路由分析、读写分离分析、缓存分析等,然后将此SQL发往后端的真实数据库,并将返回的结果做适当的处理,最终返回给用户。

 

mycat的应用场景:

1、单纯的读写分离,此时配置最为简单,支持读写分离,主从切换;

2、分表分库,对于超过1000万的表进行分片,最大支持1000亿的单表分片;

3、多租户应用,每一个应用一个库,但应用程序只连接mycat,从而不改造程序本身实现多租户化;

4、报表系统,借助于mycat的分表能力,处理大规模报表的统计;

5、替代hbase,分析大数据

6、作为海量数据实时查询的一种简单的有效方案,如果100亿条数据的高频查询;

 

相关软件有:

360 atlas-sharding

alibaba: cobar

开源社区 mycat

oneproxy

heisenberg

oceanus

vitess

 

mycat 安装

1、安装mysql5.6或以上版本

2、安装jdk7.0以上版本

yum install epel-release -y

yum install java -y

java -version

3、安装mycat

mycat是二进制包解压后即可应用。

添加到系统变量:

vi /etc/profile

#在文件的最后一行加入

export PATH=/usr/local/mycat/bin:$PATH

#source /etc/profile

[root@s10 ~]# mycat -h
Usage: /usr/local/mycat/bin/mycat { console | start | stop | restart | status | dump }
 

进入mcat管理控制台

mysql -h127.0.0.1 -uroot -p123456 -P 8066

配置文件介绍:

[root@s10 mycat]# ls
bin  catlet  conf  lib  logs  tmlogs  version.txt  wrapper.log
[root@s10 mycat]# tree -d
.
├── bin   
├── catlet
├── conf
│   ├── zkconf
│   └── zkdownload
├── lib
├── logs
│   └── 2019-07
└── tmlogs
 

logs目录:

wrapper.log -------> mycat启动日志

mycat.log    -------------> mycat 详细工作日志

conf 目录

schema.xml  主配置文件(读写分离、高可用、分布式策略定制、节点控制)

server.xml   mycat软件本身相关的配置

rule.xml 分片规则配置文件,记录分片规则列表、使用方法等

 

导入数据:

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(MySQL)