MyCAT详解

作者: 数据库信息  发布:2019-08-28

c.水平拆分和垂直拆分共同瑕疵
*分布式事务管理困难
*夸节点join困难
*扩数据源管理复杂

MyCAT详解,

一、MyCAT概述
MyCAT是一款由AliCobar演化而来的用于支持数据库读写分离、分片的布满式中间件。MyCAT可不止帮忙Oracle、MSSQL、MYSQL、PG、DB2关系型数据库,同期也支撑MongoDB等非关系型数据库。基础架构如下:

澳门金莎娱乐网站 1

1、MyCAT原理

MyCAT首假使通过对SQL的阻挠,然后经过一定准则的分片剖判、路由解析、读写分离解析、缓存深入分析等,然后将SQL发给后端真实的数据块,并将回到的结果做适度管理回来给客商端。

澳门金莎娱乐网站 2

  

2、MyCAT功能
(1)数据库分片(Sharding)

透过某种条件,将一直以来数据库中的数据分散的蕴藏到多个数据库中,已落得疏散单台数据库设备负载的意义,那正是数据库分片。
a.水平拆分
一律张表的不等记录,依照表的某部字段的某种准则拆分到七个数据库(主机)上,那既是水平拆分。
单库业务表可能会过度强大,存在单库读写与存款和储蓄瓶颈,这种境况可以透过水平拆分消除,水平拆分基本架构如下:

澳门金莎娱乐网站 3

常用水平拆分法则:
*ID
*日期
*一定字段取模

 优点:

*拆分法规抽象好,join操作基本能够数据库内做到
*空头支票单库大数量,高并发的天性瓶颈
*应用端变越来越少
*加强了系统稳定和负载才具

缺点:
*拆分法规难以抽象
*分片事务一致性难以消除
*数据数拾遍扩充难度跟维护量不小
*跨库join质量比较差

b.垂直拆分
差别的表切分到分裂的数据库(主机)上,那正是笔直拆分。
貌似服从业务表实行归类,划分为区别的事情、模块库,耦合度越低,越轻松做垂直拆分,垂直拆分基本架构如下:

澳门金莎娱乐网站 4

笔直拆分注意点:
跨库Join,选择分享数据源或分库接口调用,依据能源和数目规模、负载而定

优点:
*拆分后专业清晰,拆分准则显明
*系统之间构成或扩大轻松
*数据库维护简单

缺点:
*一些业务表不可能Join,只好通过接口格局解决,进步了系统复杂度
*受每一个业务分裂的界定期存款在单库品质瓶颈,不易于扩大跟质量升高
*事务处理复杂

c.水平拆分和垂直拆分共同短处
*布满式事务管理困难
*夸节点join困难
*扩数据源管理复杂

d.切分总则
*能不切分的尽心不切分
*只要要切分,选拔适合的切分法规,提前布署好
*数据库切分尽量通过数据冗余或表分组来下滑跨库join
*作业尽量选择少的多表join

(2)读写分离

 

(3)黑白名单限制

 

3、使用处境 

(1)单纯读写分离,此时配备最为简练,帮忙读写分离、主从切换
(2)分库分表,对记录当先1000万的表展热水平拆分,最大支撑一千亿单表水平拆分
(3)多租户使用,各个应用四个数据库,但顺序只需三番两次MyCAT,程序不转移,完结多租户化
(4)报表系统,借住MyCAT分表本事,管理大范围的表格计算
(5)代替Hbase,剖析大数目
(6)海量实时数据查询

4、优缺点
优点:
(1)援助三体系型数据库的分片
(2)易扩展
(3)

缺点:

二、MyCAT安装
1、下载
官方网站地址:
下载地址:
文书档案地址:

三、MyCAT使用

 

四、MyCAT重要概念

 1、逻辑库(schema)

逻辑库是mycat中间件层配置的附和实际四个或四个事情数据库集群构成。

澳门金莎娱乐网站 5

2、逻辑表(table)
a.逻辑表是mycat切分到三个数据库也许不切分对应用程序呈现的探问的表。
b.分片表是本来的大表,经过分片,分布在差异数据库、一样数据库的保存同样表结构,但多少分裂的表。
c.非分片表是未做切分的表。
d.ESportage表基于E-Evoque关系分片战略,子表记录与所涉及的父表记录寄存在同二个多少分片上,即子表重视于父表,通过表分组保险数据join不会跨库操作。
e.全局表,业务种类中生成非常小、数据量一点都不大(拾万以下),但又须要经常提到的表,mycat选择冗余在一一节点三个份来完毕。

3、分片节点(dataNode)
数据库分片后,贰个大表被切分到区别的分片数据库上,每一种表分片所在的数据库便是分片节点。

4、分片主机(dataHost)
分片节点所在的服务器,数据切分后,每种分片节点不显著都会占有一台服务器,同二个分片服务器大概存款和储蓄三个分片节点,尽量使读写压力高的分片节点均衡的放在不一致的节点主机上。

5、分片法则(rule)
遵照某种业务准则把数量分到有些分片节点上的平整,正是分片准绳。(分片法则不行重大,间接决定继续数据管理复杂度)

6、全局系列号(sequence)
当数据库分片后,原有的主键约束在布满式条件下不可能运用,因而须要引进外部体制保证数据独一代表,这种有限支撑全局的多少独一代表机制正是全局体系号(sequence)。

7、多租户
多顾客的情状共用同样的系统、程序组件,并且有限协助各客商间数据的隔断性。
a.叁个客户二个数据库,隔开分离品级最高、安全性最棒,成本最高
b.分享数据库,隔开分离数据架构,每一个客商多个schema
c.分享数据库,分享数据架构,分享database、schema,通过表tenantID区分租户数据

 

五、MyCAT附录
1、OLAP和OLTP对比

2、关系型和非关系型数据库相比

澳门金莎娱乐网站 ,3、

 

一、MyCAT概述 MyCAT是一款由AliCobar演化而来的用于协助数据库读写分离、分片的分布式中间件。MyCAT可不只协助Oracle、MSSQL、M...

MyCAT主若是经过对SQL的遏止,然后经过一定准则的分片剖析、路由剖判、读写分离深入分析、缓存剖析等,然后将SQL发给后端真实的数据块,并将重回的结果做适度管理回来给客商端。

 

6)mycat状态检查

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mycat:server SYSTEM "server.dtd">
<mycat:server xmlns:mycat="http://io.mycat/">
        <system>
                <property name="useSqlStat">0</property>  <!-- 1为开启实时统计、0为关闭 -->
                <property name="useGlobleTableCheck">0</property>  <!-- 1为开启全加班一致性检测、0为关闭 -->
                <property name="sequnceHandlerType">2</property>
                <property name="processorBufferPoolType">0</property>
                <property name="handleDistributedTransactions">0</property>
                <property name="useOffHeapForMerge">1</property>
                <property name="memoryPageSize">1m</property>
                <property name="spillsFileBufferSize">1k</property>
                <property name="useStreamOutput">0</property>
                <property name="systemReserveMemorySize">384m</property>
                <property name="useZKSwitch">true</property>

        </system>

        <user name="user">
                <property name="password">user</property>
                <property name="schemas">TESTDB</property>
                <property name="readOnly">true</property>
        </user>

</mycat:server>

透过某种条件,将长期以来数据库中的数据分散的积存到八个数据库中,已到达疏散单台数据库设备负载的功能,那正是数据库分片。
a.水平拆分
一样张表的两样记录,依据表的某部字段的某种准则拆分到七个数据库(主机)上,那既是水平拆分。
单库业务表恐怕会过度强大,存在单库读写与存款和储蓄瓶颈,这种场合能够透过水平拆分消除,水平拆分基本架构如下:

(2)读写分离

二、MyCAT安装
1、下载
官方网站地址:
下载地址:
文档地址:

2、MyCAT功能
(1)数据库分片(Sharding)

4、优缺点
优点:
(1)扶助几类别型数据库的分片
(2)易扩展
(3)

三、MyCAT使用

7、多租户
多顾客的条件共用同样的种类、程序组件,並且保证各客商间数据的隔开性。
a.二个顾客贰个数据库,隔开等第最高、安全性最棒,开支最高
b.分享数据库,隔绝数据架构,各样客户七个schema
c.分享数据库,分享数据架构,分享database、schema,通过表tenantID区分租户数据

3、

6、全局系列号(sequence)
当数据库分片后,原有的主键约束在遍及式条件下无法选取,由此需求引进外界体制保险数据唯一象征,这种保障全局的数码独一代表机制正是大局类别号(sequence)。

(3)黑白名单限制

server.xml配置:

澳门金莎娱乐网站 6

4)mycat基本配置

澳门金莎娱乐网站 7

 

 优点:

澳门金莎娱乐网站 8

  

逻辑库是mycat中间件层配置的相应实际叁个或多少个事情数据库集群构成。

 1、逻辑库(schema)

[root@node1 ~]# cd /usr/local/mycat/conf/

缺点:
*拆分法则难以抽象
*分片事务一致性难以消除
*数量数十次恢宏难度跟维护量非常的大
*跨库join质量很糟糕

3)mycat客户创设

5、分片法则(rule)
听从某种业务法则把数量分到有些分片节点上的平整,就是分片准则。(分片准则不行首要,直接决定继续数据处理复杂度)

 

[root@node1 ~]# java -version
java version "1.7.0_131"
OpenJDK Runtime Environment (rhel-2.6.9.0.el6_8-x86_64 u131-b00)
OpenJDK 64-Bit Server VM (build 24.131-b00, mixed mode)
[root@node1 conf]# mycat start
Starting Mycat-server...
[root@node1 conf]# 

五、MyCAT附录
1、OLAP和OLTP对比

四、MyCAT首要概念

本文由金沙澳门官网发布于数据库信息,转载请注明出处:MyCAT详解

关键词: 金沙澳门官网

上一篇:SSL连接最佳实战
下一篇:没有了