mysql分布式-cobar

数据库–Cobar分布式数据库集群MySQL中间件

cobar-github:https://github.com/alibaba/cobar/wiki

运行环境:

  • 主机1:Ubuntu14.04 Desktop + MySQL5.5 + JDK 1.7(HP Z400)  内网IP地址:192.168.137.8
  • NODE1:Ubuntu 13.04 server + MySQL5.5  内网IP地址:192.168.137.31
  • NODE2:Ubuntu 13.04 server + MySQL5.5  内网IP地址:192.168.137.32

注:(NODE1和NODE2运行于XEN虚拟化平台,硬件环境HP Z800)

Cobar最主要解决的问题是:分布式和HA。

分布式:主要是通过将同一个表的数据拆分成多个,放入不同的数据库实例,查询的时候也会按照同样的操作方式,来更新具体数据库实例中的对应的数据。

HA:高可用性,在设置了MYSQL心跳的情况下,如果主数据库发生了异常,Cobar会自动连接从数据库,如果主数据库恢复正常,只能手动恢复到主数据库。Cobar只负责切换数据库实例,不负责主从数据库的同步,所以需要提前将主从数据库设置双向同步。

存在的不足:

  • (1).不支持跨库情况下的join、分页、排序、子查询操作。
  • (2).SET语句执行会被忽略,事务和字符集设置除外。
  • (3).分库情况下,insert语句必须包含拆分字段列名。
  • (4).分库情况下,update语句不能更新拆分字段的值。
  • (5).不支持SAVEPOINT操作。
  • (6).暂时只支持MySQL数据节点。
  • (7).使用JDBC时,不支持rewriteBatchedStatements=true参数设置(默认为false)。
  • (8).使用JDBC时,不支持useServerPrepStmts=true参数设置(默认为false)。
  • (9).使用JDBC时,BLOB, BINARY, VARBINARY字段不能使用setBlob()或setBinaryStream()方法设置参数。

当然,如果想努力实现这些功能,可以fork官方的源码:https://github.com/alibaba/cobar

使用方法:

参考github:https://github.com/alibaba/cobar/wiki 或 http://blog.geekcome.com/archives/252

时间: 2024-10-08 12:26:40

mysql分布式-cobar的相关文章

转:阿里开源Mysql分布式中间件:Cobar

原文来自于:http://hualong.iteye.com/blog/2102798 这几天研究了下Cobar, Cobar是阿里巴巴研发的关系型数据的分布式处理系统(Amoeba的升级版,该产品成功替代了原先基于Oracle的数据存储方案,目前已经接管了3000+个MySQL数据库的schema,平均每天处理近50亿次的SQL执行请求.)(github上面的是源码,大家下来需要自己用maven2编译后运行.者放Eclipse里面运行,一开始我用maven3没有执行成功.) 首先,使用Coba

MySQL分布式集群之MyCAT(转)

原文地址:http://blog.itpub.net/29510932/viewspace-1664499/ 隔了好久,才想起来更新博客,最近倒腾的数据库从Oracle换成了MySQL,研究了一段时间,感觉社区版的MySQL在各个方面都逊色于Oracle,Oracle真的好方便!好了,不废话,这次准备记录一些关于MySQL分布式集群搭建的一个东东,MyCAT,我把他理解为一个MySQL代理.-----------------------------------------------------

MySQL分布式集群之MyCAT(一)简介【转】

隔了好久,才想起来更新博客,最近倒腾的数据库从Oracle换成了MySQL,研究了一段时间,感觉社区版的MySQL在各个方面都逊色于Oracle,Oracle真的好方便!好了,不废话,这次准备记录一些关于MySQL分布式集群搭建的一个东东,MyCAT,我把他理解为一个MySQL代理.-----------------------------------------------------------------重要的TIPs------------------------------------

Mysql分布式事务

关于Mysql分布式事务介绍,可参考:http://blog.csdn.net/luckyjiuyi/article/details/46955337 分为两个阶段:准备和执行阶段.有两个角色:事务的管理者(TM)和事务执行者(RM,Mysql Server). XA START  事务启动标识,使事务处于ACTIVE状态 XA END   事务结束标识,使事务处于IDLE状态 当事务处于IDLE状态,可 XA PREPARE  通知准备标识,处于 PREPARED状态 对于PREPARED状态

MySQL分布式集群之MyCAT(三)rule的分析【转】

首先写在最前面,MyCAT1.4的alpha版本已经发布了,这里面修复了不少的bug,也完善了一细节,之前两篇博客已经做了一些修改 ---------------------------------------------------------------------------------这才是本体~----------------------------------------------------------------------------------            之前已

java精品高级架构课,RocketMQ中间件,Mysql分布式集群,服务架构,运维架构视频教程

14套java精品高级架构课,缓存架构,深入Jvm虚拟机,全文检索Elasticsearch,Dubbo分布式Restful 服务,并发原理编程,SpringBoot,SpringCloud,RocketMQ中间件,Mysql分布式集群,服务架构,运 维架构视频教程 14套精品课程介绍: 1.14套精 品是最新整理的课程,都是当下最火的技术,最火的课程,也是全网课程的精品: 2.14套资 源包含:全套完整高清视频.完整源码.配套文档: 3.知识也 是需要投资的,有投入才会有产出(保证投入产出比是

如何搭建一个 MySQL 分布式集群

1.准备集群搭建环境 使用6台虚拟机来搭建 MySQL分布式集群 ,相应的实验环境与对应的MySQL节点之间的对应关系如下图所示: 管理节点(MGM):这类节点的作用是管理MySQLCluster内的其他节点,如提供配置数据,并停止节点,运行备份等.由于这类节点负责管理其他节点的配置,应该在启动其他节点之前启动这类节点.MGM节点是用命令"ndb_mgmd"启动的: 数据节点(NDB):这类节点用于保存Cluster的数据,数据节点的数目与副本的数目相关,是片段的倍数.例如,对于两个副

死磕 java同步系列之mysql分布式锁

问题 (1)什么是分布式锁? (2)为什么需要分布式锁? (3)mysql如何实现分布式锁? (4)mysql分布式锁的优点和缺点? 简介 随着并发量的不断增加,单机的服务迟早要向多节点或者微服务进化,这时候原来单机模式下使用的synchronized或者ReentrantLock将不再适用,我们迫切地需要一种分布式环境下保证线程安全的解决方案,今天我们一起来学习一下mysql分布式锁如何实现分布式线程安全. 基础知识 mysql中提供了两个函数--get_lock('key', timeout

dubbo(soa分布式)与cobar(mysql分布式)

Cobar是提供关系型数据库(MySQL)分布式服务的中间件,它可以让传统的数据库得到良好的线性扩展,并看上去还是一个数据库,对应用保持透明. 产品在阿里巴巴稳定运行3年以上. 接管了3000+个MySQL数据库的schema. 集群日处理在线SQL请求50亿次以上. 集群日处理在线数据流量TB级别以上. Dubbo是什么? Dubbo[]是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案. 其核心部分包含: 远程通讯: 提供对多种基于长连接的NIO框