`
kavy
  • 浏览: 888626 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

使用淘宝中间件cobar实现mysql分库分表

 
阅读更多

cobar 编译安装配置笔记
https://github.com/alibaba/cobar
windows下使用eclipse导入cobar项目,eclipse File -> Import -> Git 
https://github.com/alibaba/cobar

linux下:wget https://codeload.github.com/alibaba/cobar/zip/master
F:\mycat>mvn compile
F:\mycat>mvn package

生成压缩包cobar-server-1.2.7.tar.gz,放到linux环境中解压出来,没有logs目录,新建并运行查看目录结构如下:

[html] view plaincopy
 
  1. [root@XAYQ-Test3 ~]# tree /opt/cobar-server  
  2. /opt/software/cobar-server  
  3. ├── bin  
  4. │   ├── restart.sh  
  5. │   ├── shutdown.sh  
  6. │   ├── startup.bat  
  7. │   └── startup.sh  
  8. ├── conf  
  9. │   ├── log4j.xml                       #日志配置文件,不需要修改  
  10. │   ├── rule.xml                        #mysql路由规则  
  11. │   ├── schema.xml                      #  
  12. │   └── server.xml                      #  
  13. ├── lib  
  14. │   ├── cobar-server-1.2.7.jar  
  15. │   └── log4j-1.2.17.jar  
  16. └── logs  
  17.     ├── alarm.log  
  18.     ├── console.log  
  19.     ├── heartbeat.log  
  20.     ├── stdout.log  
  21.     └── stdout.log.2014-07-10  

    
1.主要修改以下几个文件:rule.xml 

[html] view plaincopy
 
  1. <!-- 路由规则定义,定义什么表,什么字段,采用什么路由算法 -->  
  2. <tableRule name="rule1">  
  3.   <rule>  
  4.     <columns>id</columns>  
  5.     <algorithm><![CDATA[ func1(${id}) ]]></algorithm>  
  6.   </rule>  
  7. </tableRule>  
  8.   
  9. <!-- 路由函数定义 -->  
  10. <function name="func1" class="com.alibaba.cobar.route.function.PartitionByLong">  
  11.   <property name="partitionCount">2</property>  
  12.   <property name="partitionLength">512</property>  
  13. </function>  

  
2.schema.xml ,定义数据节点

[html] view plaincopy
 
  1. <cobar:schema xmlns:cobar="http://cobar.alibaba.com/">  
  2.   
  3.   <!-- schema定义 -->  
  4.   <schema name="cppdb" dataNode="cppDb1">  
  5.     <table name="tb2" dataNode="cppDb2,cppDb3" rule="rule1" />  
  6.   </schema>  
  7.   
  8.   <!-- 数据节点定义,数据节点由数据源和其他一些参数组织而成。-->  
  9.   <dataNode name="cppDb1">  
  10.     <property name="dataSource">  
  11.       <dataSourceRef>cppDataSource[0]</dataSourceRef>  
  12.     </property>  
  13.   </dataNode>  
  14.   <dataNode name="cppDb2">  
  15.     <property name="dataSource">  
  16.       <dataSourceRef>cppDataSource[1]</dataSourceRef>  
  17.     </property>  
  18.   </dataNode>  
  19.   <dataNode name="cppDb3">  
  20.     <property name="dataSource">  
  21.       <dataSourceRef>cppDataSource[2]</dataSourceRef>  
  22.     </property>  
  23.   </dataNode>  
  24.   
  25.   <!-- 数据源定义,数据源是一个具体的后端数据连接的表示。-->  
  26.   <dataSource name="cppDataSource" type="mysql">  
  27.     <property name="location">  
  28.       <location>172.22.14.7:3306/cpp1</location>  
  29.       <location>172.22.14.7:3306/cpp2</location>  
  30.       <location>172.22.14.7:3306/cpp3</location>  
  31.     </property>  
  32.     <property name="user">root</property>  
  33.     <property name="password">root</property>  
  34.     <property name="sqlMode">STRICT_TRANS_TABLES</property>  
  35.   </dataSource>  
  36.   
  37. </cobar:schema>  


3.server.xml,定义cobar对外统一的数据接口。

  <!-- 用户访问定义,用户名、密码、schema等信息。 -->

[html] view plaincopy
 
  1. <user name="root">  
  2. <property name="password">root</property>  
  3. <property name="schemas">cppdb</property>  
  4. t;/user>  




cobar升级版:mycat,提供了大连的文档,以及源码。
http://code.taobao.org/svn/openclouddb/

 

转自:http://blog.csdn.net/huoyunshen88/article/details/37927553

分享到:
评论

相关推荐

    cobar-server1.2.7

    Cobar Server 1.2.7 正是这样一款用于数据库分布式管理的中间件,它为大型网站提供了高效、灵活的数据库扩展方案,尤其针对MySQL数据库的分库分表需求。 一、Cobar Server简介 Cobar,全称是Clustered Bar,由阿里...

    软件架构-mysql终级解决方案分库分表.docx

    中间件(proxy)有mysql proxy官方提供的mysql中间件产品可以实现负载平衡,读写分离,failover 等,但其不支持大数据量的分库分表且性能较差。Mycat用java语言开发,是中国开发者以自组织形式(暂且称之中国开源...

    中间件及程序 java cobar j2ee

    1. **Java Cobar**: Cobar是阿里巴巴开源的一个高性能、高可用的MySQL数据库代理,主要应用于分布式数据库系统。Cobar通过提供一个中间层来处理数据库连接,实现了负载均衡、读写分离、故障切换等功能,极大地提高了...

    当当开源sharding-jdbc-轻量级数据库分库分表中间件

    ### 当当开源Sharding-JDBC:轻量级数据库分库分表中间件 #### 概述 当当网近期开源了一款名为Sharding-JDBC的轻量级数据库分库分表中间件。作为一款高性能、易用性高的数据库水平分片框架,Sharding-JDBC在设计上...

    mysql中间件研究(Atlas_cobar_TDDL)

    mysql 中间件研究是当前数据库系统中一个非常重要的课题,mysql-proxy 是官方提供的 mysql 中间件产品,可以实现负载平衡、读写分离、failover 等,但是它不支持大数据量的分库分表且性能较差。因此,需要其他可以...

    mysql中间件研究(Atlas、cobar、TDDL、Mycat).doc

    TDDL(Table Data Layer)是淘宝开源的数据库中间件,主要用于解决数据库的分库分表问题。TDDL提供了动态数据路由、读写分离、故障切换等功能,它通过配置定义数据的分布策略,使得应用程序无需关心数据的具体存储...

    cobar架构与实践

    Cobar实现了数据的分片和路由,能够透明地处理分库分表的逻辑,使得分布式数据库的管理变得简便。 总的来说,Cobar架构与实践不仅介绍了阿里巴巴是如何通过Cobar中间件解决复杂系统架构下的数据层问题,而且提供了...

    MySQL流行中间件比较及实现原理

    - **分库分表:**通过水平拆分减少单一数据库的压力,提高整体系统的扩展性和性能。 - **分布式数据库:**采用分布式数据库中间件,进一步提升系统的可扩展性和容错能力。 #### 二、各类中间件简介 数据库中间件是...

    MyCat数据库中间件开发实战(主从复制,读写分离,分库分表,)

    前端用户可以把它看作是一个数据库代理,用 MySQL 客户端工具和命令行访问,而其后端可以用 MySQL 原生协议与多个 MySQL 服务器通信,也可以用JDBC协议与大多数主流数据库服务器通信,其核心功能是分库分表。...

    linux运维学习笔记:Mysql中间件Atlas读写分离原理与实战.pdf

    Atlas作为一个中间件,能够将应用程序和MySQL数据库之间的细节隐藏起来,让应用开发者无需关心底层数据库的复杂操作,如读写分离、分库分表等。DBA的维护工作对前端应用透明,可以轻松地进行数据库的上下线操作而不...

    cobar-server-1.2.7.tar

    Cobar 的主要目标是通过分库分表、读写分离等技术,提升数据库系统的吞吐量和响应速度,从而适应大规模互联网应用的需求。 `cobar-server-1.2.7.tar.gz` 是 Cobar 的一个版本发布,采用 `.tar.gz` 压缩格式,这是在...

    数据库中间件设计与实现分析解析.ppt

    数据库中间件是一种软件系统,它位于应用程序和数据库服务器之间,主要目的是解决数据库层面的问题,如读写分离、分库分表、高可用性等。在分析"数据库中间件设计与实现分析解析.ppt"的内容后,我们可以深入探讨以下...

    Timo:分布式MySQL数据库中间件,支持数据的水平、垂直拆分,支持分库分表,支持读写分离,支持结果集合并,支持故障自动切换

    Timo是一个分布式[MySQL] ( Timo源于[Cobar] ( ( Timo目前是实验性质,主要用于熟悉相关技术,实现个人想法,提高姿势水平。(●`・(エ)・´●) Timo Technical Terms [Timo中的术语介绍] (./doc/TimoTechnicalTerms...

    Mycat-server-1.7.0-DEV-20170416134921-linux.tar.gz

    java 语言编写的数据库中间件,是一个实现了 MySQL 协议的服务器,前端用户可以把它看作是一个数据库代理,用 MySQL 客户端工具和命令行访问,而其后端可以用 MySQL 原生协议与多个 MySQL 服务器通信,也可以用 JDBC...

    基于MyCat分布式数据库中间件技术的研究与应用.pdf

    分布式数据库中间件技术因此变得尤为重要,MyCat通过实现分库分表、读写分离等功能,有效地解决了海量数据存储和传统数据库高并发访问的压力问题。此外,MyCat的多租户应用开发和云平台基础设施的支持,为分布式架构...

    MySQL性能调优与架构设计 PDF中文版全册

    1. 数据库分库分表:通过水平分割或垂直分割减轻单表压力,提高查询速度和并发能力。 2. 主从复制:实现数据冗余和故障恢复,同时为主节点提供读写分离,减轻主库压力。 3. 读写分离:通过中间件或路由规则,将读...

    MyCat权威指南PDF高清版

    MyCat是一个开源的中间件产品,专为企业级应用设计,实现数据库集群...综上所述,MyCat作为一个数据库中间件,提供了分库分表、读写分离、高可用与集群等核心功能,使其成为企业级应用开发中处理大规模数据的重要工具。

Global site tag (gtag.js) - Google Analytics