cobar数据库中间件详解,可解决数据库拆分和数据库高可用HA

原创 2016年06月02日 12:05:31
cobar是基于MySQL的分布式数据库服务中间件

下载地址:https://github.com/alibaba/cobar

cobar的文档(在源码文件的doc目录中)写的还是比较详细的,使用前只需要仔细阅读:
里面会介绍cobar的各个配置、cobar的集群部署、cobar对mysql的主备切换、cobar使用注意情况...

这里对cobar的配置不做介绍,大家阅读github中的文档就可以。

cobar可以做什么
分布式:Cobar的分布式主要是通过将表放入不同的库来实现:
1. Cobar支持将一张表水平拆分成多份分别放入不同的库来实现表的水平拆分
2. Cobar也支持将不同的表放入不同的库
3. 多数情况下,用户会将以上两种方式混合使用
这里需要强调的是,Cobar不支持将一张表,例如test表拆分成test_1, test_2, test_3.....放在同一个库中
必须将拆分后的表分别放入不同的库来实现分布式。
HA:
在用户配置了MySQL心跳的情况下,Cobar可以自动向后端连接的MySQL发送心跳,判断MySQL运行状
况,一旦运行出现异常,Cobar可以自动切换到备机工作。但需要强调的是:
1. Cobar的主备切换有两种触发方式,一种是用户手动触发,一种是Cobar的心跳语句检测到异常后自动触
发。那么,当心跳检测到主机异常,切换到备机,如果主机恢复了,需要用户手动切回主机工作,Cobar不
会在主机恢复时自动切换回主机,除非备机的心跳也返回异常。
2. Cobar只检查MySQL主备异常,不关心主备之间的数据同步,因此用户需要在使用Cobar之前在MySQL主
备上配置双向同步,详情可以参阅MySQL参考手册。
cobar约束,使用时注意规避
不支持跨库情况下的join、分页、排序、子查询操作。
SET语句执行会被忽略,事务和字符集设置除外。
分库情况下,insert语句必须包含拆分字段列名。
分库情况下,update语句不能更新拆分字段的值。
不支持SAVEPOINT操作。
暂时只支持MySQL数据节点。
使用JDBC时,不支持rewriteBatchedStatements=true参数设置(默认为false)。
使用JDBC时,不支持useServerPrepStmts=true参数设置(默认为false)。
使用JDBC时,BLOB, BINARY, VARBINARY字段不能使用setBlob()或setBinaryStream()方法设置参数
cobar路由规则重点介绍一下
将[0-1023]分为不同的区段,每个区段代表一个分库,其中区段的个数以及每个区段的长度由用户自定义;
用SQL中的拆分字段值对1024取模,结果落入哪个区段,SQL便被路由到那个分库执行(如果拆分字段不是
数值类型,则首先做一次hash)
 1024的取模规则也使得cobar扩容变的简単,原始数据的分布区域库不会因为扩容而发生改变
版权声明:本文为博主原创文章,未经博主允许不得转载。

alibaba的COBAR真是强大.

最近好不容易抽空研究了下Cobar,感觉这个产品确实很不错(在文档方面比Amoeba强多了),特此推荐给大家。Cobar是阿里巴巴研发的关系型数据的分布式处理系统,该产品成功替代了原先基于Oracle...
  • lmx88
  • lmx88
  • 2014年05月16日 18:52
  • 15135

Cobar的架构与实践

Cobar是提供分布式数据库服务的中间件,是阿里巴巴B2B前台应用访问数据库的统一入口。本文讲述的就是Cobar的架构演变与应用实践。 2008年,阿里巴巴B2B成立了平台技术部,为各个业务部门的产...
  • xtjsxtj
  • xtjsxtj
  • 2013年11月13日 10:40
  • 7700

阿里巴巴分布式数据库解决方案——Cobar中间件配置详解 (转)

阿里巴巴分布式数据库解决方案——Cobar中间件配置详解(转)   据说该产品在阿里的B2B上已经运行3年之久,通过Cobar中间件,可以像传统数据库一样为分布式数据库集群提供海量数据服务,...
  • ly4983
  • ly4983
  • 2013年12月30日 15:41
  • 1498

TDDL、Amoeba、Cobar、MyCAT架构比较

布式数据库中间件TDDL、Amoeba、Cobar、MyCAT架构比较分 比较了业界流行的MySQL分布式数据库中间件,关于每个产品的介绍,网上的资料比较多,本文只是对几款产品的架构进行比较,从...

阿里巴巴解决数据拆分的伪分布式数据库 中间件Cobar正式开源

阿里巴巴于2012年6月19日,正式对外开源的数据库中间件Cobar,前身是早已经开源的Amoeba,不过其作者陈思儒离职去盛大之后,阿里巴巴内部考虑到Amoeba的稳定性、 性能和功能支持,以...

分布式数据库中间件–(1) Cobar初始化过程

Cobar-Server的源码地址:GitHub 欢迎Fork。Cobar的初始化流程图如下:在Cobar实例化过程中三个XML配置文件的加载类图关系如下(具体的成员没有标明):这样Cobar系统就在...

分布式数据库中间件–(3) Cobar对简单select命令的处理过程

友情提示:非原文链接可能会影响您的阅读体验,欢迎查看原文。(http://blog.geekcome.com)原文地址:http://blog.geekcome.com/archives/284在上一...

分布式数据库中间件–(2) Cobar与客户端的握手认证

Cobar启动完成,监听特定端口。整个认证的流程图:NIOAcceptor类继承自Thread类,该类的对象会以线程的方式运行,进行连接的监听。NIOAcceptor启动的初始化过程如下:1 、打开一...

[转] MyCat:取代Cobar的数据库中间件

MyCAT基于阿里开源的Cobar产品而研发,Cobar的稳定性、可靠性、优秀的架构和性能,以及众多成熟的使用案例使得MyCAT一开始就拥有一个很好的起点。MyCAT是 一个彻底开源的,面向企业应用开...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:cobar数据库中间件详解,可解决数据库拆分和数据库高可用HA
举报原因:
原因补充:

(最多只允许输入30个字)