- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MYCAT;-Mycat 是什么?-Mycat的前世今生。-Mycat社区发展。-数据库切分及其解决方案。-Mycat特性及其解决方案。-Mycat入门介绍。;Mycat是什么;Mycat之前世今生;截至2014年7月,Mycat官方QQ群(106088787)已经超过2700人,大多数为资深IT工程师、架构师、DBA、以及一些CXO和高端猎头,成为国内具有影响力的高端IT专业群
Mycat社区首次提出BigSQL的概念,并逐步将大数据和实时计算等先进技术引入到Mycat里,从而吸引和聚集了一大批业内大数据和云计算方面的资深工程师,Mycat社区成为名副其实的国内大数据领域实力派成员。
Mycat社区里不断有优秀工程师被创业公司挖走,为了能更好的支持创业公司并寻求更多的优秀工程师参与采用,Mycat社区目前已经开始开展在线高端IT培训,培养高端Java架构师、工程师。;为什么选择Mycat;何为数据(系统)切分? 简单来说,就是指通过某种特定的条件,按照某个维度,将我们存放在同一个数据库中的数据分散存放到多个数据库(主机)上面以达到分散单库(主机)负载的效果。 切分模式:a.垂直(纵向)切分。B.水平切分。;一个数据库由很多表的构成,每个表对应着不同的业务,垂直切分是指按照业务将表进行分类,分布到不同的数据库上面,这样也就将数据或者说压力分担到不同的库上面,如下图:优点:? --拆分后业务清晰,拆分规则明确。? --系统之间整合或扩展容易。? --数据维护简单。缺点:? --部分业务表无法join,只能通过接口方式解决,提高了系统复杂度。? --受每种业务不同的限制存在单库性能瓶颈,不易数据扩展跟性能提高。? --事务处理复杂。 ;相对于垂直拆分,水平拆分不是将表的数据做分类,而是按照某个字段的某种规则来分散到多个库之中,每个表中包含一部分数据。简单来说,我们可以将数据的水平切分理解为是按照数据行的切分,就是将表中的某些行切分到一个数据库,而另外的某些行又切分到其他的数据库中,主要有分表,分库两种模式,如图:优点:? 不存在单库大数据,高并发的性能瓶颈。? 对应用透明,应用端改造较少。 按照合理拆分规则拆分,join操作基本避免跨库。 ? 提高了系统的稳定性跟负载能力。缺点:? 拆分规则难以抽象。? 分片事务一致性难以解决。? 数据多次扩展难度跟维护量极大。? 跨库join性能较差。 ;前面讲了垂直切分跟水平切分的不同跟优缺点,会发现每种切分方式都有缺点,但共同的特点缺点有:-引入分布式事务的问题。-跨节点Join 的问题。-跨节点合并排序分页问题。针对数据源管理,目前主要有两种思路:A. 客户端模式,在每个应用程序模块中配置管理自己需要的一个(或者多个)数据源,直接访问各个数据库,在模块内完成数据的整合; 优点:相对简单,无性能损耗。 缺点:不够通用,数据库连接的处理复杂,对业务不够透明,处理复杂。B. 通过中间代理层来统一管理所有的数据源,后端数据库集群对前端应用程序透明; 优点:通用,对应用透明,改造少。 缺点:实现难度大,有二次转发性能损失。切分原则:-尽量不切分,架构是进化而来,不是一蹴而就。-最大可能的找到最合适的切分维度。-由于数据库中间件对数据Join 实现的优劣难以把握,而且实现高性能难度极大,业务读取 尽量少使用多表Join-尽量通过数据冗余,分组避免数据垮库多表join。-尽量避免分布式事务。-单表切分数据1000万以内。; -360 Atlas-alibaba cobar -Mycat-tddl-heisenberg-Oceanus-vitess-OneProxy -drds;tlas是由 Qihoo 360, Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目。它是在mysql-proxy 0.8.2版本的基础上,对其进行了优化,增加了一些新的功能特性。360内部使用Atlas运行的mysql业务,每天承载的读写请求数达几十亿条。主要功能:* 读写分离* 从库负载均衡* IP过滤* SQL语句黑白名单* 自动分表;Cobar是阿里巴巴(B2B)部门开发的一种关系型数据的分布式处理系统,它可以在分布式的环境下看上去像传统数据库一样为您提供海量数据服务. Cobar的分布式主要是通过将表放入不同的库来实现:1. Cobar支持将
文档评论(0)