您的位置:首页 > 博客中心 > 数据库 >

mysql分布式-cobar

时间:2022-03-14 02:53

数据库–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官方的源码:

 使用方法:

            参考github: 或

    

 

 


 

热门排行

今日推荐

热门手游