关系型数据的分布式处理系统MyCAT资料_第1页
关系型数据的分布式处理系统MyCAT资料_第2页
关系型数据的分布式处理系统MyCAT资料_第3页
关系型数据的分布式处理系统MyCAT资料_第4页
关系型数据的分布式处理系统MyCAT资料_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、关系型数据的分布式处理系统MyCATMyCAT1优购科技有限公司目录:2优购科技有限公司一、MyCATMyCAT概述概述二、简单使用简单使用一、背景3优购科技有限公司Mycat概述集中式处理,势必造成性能瓶颈。应用程序集中在一台计算机上运行,一旦该计算机发生故障,则整个系统受到影响,可靠性不高。集中式处理引起系统的规模和配置都不够灵活,系统的可扩充性差。关系型数据库技术日趋成熟,互联网的飞速发展,数据迅速膨胀,故集中式数据库系统则表示它的不足:在这种趋势下,集中式数据库将向分布式数据库发展,陆续产生一些分布式数据库系统,如: Amoeba、 Cobar发展历程4优购科技有限公司Mycat概述A

2、moeba(变形虫)项目,该项目框架于2008年开源,当时叫“Amodba for Mysql”。这个软件主要解决mysql的分布式数据的前端代理,它主要是应用访问mysql的时候充当sql路由功能。专注于分布式数据库代理层(Database Proxy)开发,目前Amoeba已在很多企业的生产线上面使用。之阿里巴巴于2012年6月份对外开源一个产品,名叫Cobar,前身就是Amoeba,Cobar 是由 Alibaba 开源的 MySQL 分布式处理中间件,它可以在分布式的环境下看上去像传统数据库一样提供海量数据服务。Cobar出来之后,火。,但是2013年之后,就几乎没有更新。所以myca

3、t慢慢的发展起来,它集成了cobar一切优点,进行优化。“站在巨人的肩膀上,MyCAT能看到更远。”Mycat概述MMyCatyCat特性支持 SQL 92标准;支持MySQL集群,可以作为Proxy使用。支持JDBC连接ORACLE、DB2、SQL Server,将其模拟为MySQL Server使用自动故障切换,高可用性;支持读写分离,支持MySQL双主多从,以及一主多从的模式;支持全局表,数据自动分片到多个节点,用于高效表关联查询;支持独有的基于E-R 关系的分片策略,实现了高效的表关联查询;多平台支持,部署和实施简单。总体架构6优购科技有限公司Mycat概述Mycat其实就是模拟成my

4、sql服务器,并和mysql一样有Schema(数据库)、Table (数据表)、User(用户)的逻辑模型,并把它映射到物理数据库中。当mycat收到sql请求,会对sql解析、语法检测,分析结果用于sql 路由。Sql路由支持字段方式进行分片,也支持独有的基于数据库E-R关系的分片策略。对于路由到多个数据节点(DataNode)的SQL,则会把收到的数据集合归并,之后显示到客服端。SQL执行的过程,对应mysql来说,是通过mysql网络协议发送报文,解析返回结果,发送到socket流中,并且这个过程是非阻塞模式(NIO)DataNode是MyCATMyCAT的逻辑数据节点,映射到后端的某

5、一个物理数据库的一个DatabaseMyCATMyCAT 配置项7优购科技有限公司Mycat概述MYCAT_HOME/conf/schema.xml中定义逻辑库,表、分片节点等内容;MYCAT_HOME/conf/rule.xml中定义分片规则。MYCAT_HOME/conf/server.xml中定义用户以及系统相关变量,如端口等;搭建8优购科技有限公司Mycat简单实用安装JDK1.7下载mycat地址:/svn/openclouddb/downloads/old/MyCat-Sever-1.2/安装目录:9优购科技有限公司Mycat简单实用数据的

6、垂直切分,也可以称为纵向切分。将数据库想象成由很多个一大块一大块的“数据块”(表)组成,垂直地将这些“数据块”切开,然后把它们分散到多台数据库主机上面。这样的切分方法就是垂直(纵向)的数据切分。优点:(1)数据库的拆分简单明了,拆分规则明确;(2)应用程序模块清晰明确,整合容易;(3)数据维护方便易行,容易定位。缺点:(1)部分表关联无法在数据库级别完成,要在程序中完成;(2)对于访问极其频繁且数据量超大的表仍然存在性能瓶颈,不一定能满足要求;(3)事务处理相对复杂;(4)切分达到一定程度之后,扩展性会受到限制;(5)过度切分可能会带来系统过于复杂而难以维护。实例1: 垂直切分实例2: 水平分

7、库10优购科技有限公司Mycat简单实用水平切分所指的是通过一系列的切分规则将数据水平分布到不同的DB或table中,在通过相应的DB路由 或者table路由规则找到需要查询的具体的DB或者table以进行Query操作,比如根据用户ID将用户表切分到多台数据库上。优点:(1)表关联基本能够在数据库端全部完成;(2)不会存在某些超大型数据量和高负载的表遇到瓶颈的问题;(3)应用程序端整体架构改动相对较少。(4)事务处理简单;(5)只要切分规则能够定义好,基本上较难遇到扩展性限制。缺点:(1)切分规则相对更为复杂,很难抽象出一个能够满足整个数据库的切分规则;(2)后期数据的维护难度有所增加,人为

8、手工定位数据更困难;实例3: 读写分离11优购科技有限公司Mycat简单实用一般是为了数据库的稳定性,很多数据库都拥有热备功能,也就是第一台服务器专门提供增删改查业务,第二台服务器仅仅是备份第一台的数据。所以在实际情况下,资源分配不合理;所以就干脆我们把第一台数据用来读写删,第二台数据库只用来查。优点: 合理利用从数据库服务器的空闲资源缺点: 本来第二台数据库服务器,是用来做热备的,它就应该在一个压力非常小的环境下,保证运行的稳定性。而读写分离,却增加了它的压力,也就增加了不稳定性。因此,读写分离,实质上是一个在资金比较缺乏,但又需要保证数据安全的需求下,在双机热备方案上,做出的一种折中的扩展方案 12优购科技有限公司Mycat简单实用实例4: 全局表13优购科技有限公司Mycat简单实用对与所以数据可见,全局的。 使用场景:变动不频

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论