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目录,新建并运行查看目录结构如下:
- [root@XAYQ-Test3 ~]# tree /opt/cobar-server
- /opt/software/cobar-server
- ├── bin
- │ ├── restart.sh
- │ ├── shutdown.sh
- │ ├── startup.bat
- │ └── startup.sh
- ├── conf
- │ ├── log4j.xml #日志配置文件,不需要修改
- │ ├── rule.xml #mysql路由规则
- │ ├── schema.xml #
- │ └── server.xml #
- ├── lib
- │ ├── cobar-server-1.2.7.jar
- │ └── log4j-1.2.17.jar
- └── logs
- ├── alarm.log
- ├── console.log
- ├── heartbeat.log
- ├── stdout.log
- └── stdout.log.2014-07-10
1.主要修改以下几个文件:rule.xml
- <!-- 路由规则定义,定义什么表,什么字段,采用什么路由算法 -->
- <tableRule name="rule1">
- <rule>
- <columns>id</columns>
- <algorithm><![CDATA[ func1(${id}) ]]></algorithm>
- </rule>
- </tableRule>
- <!-- 路由函数定义 -->
- <function name="func1" class="com.alibaba.cobar.route.function.PartitionByLong">
- <property name="partitionCount">2</property>
- <property name="partitionLength">512</property>
- </function>
2.schema.xml ,定义数据节点
- <cobar:schema xmlns:cobar="http://cobar.alibaba.com/">
- <!-- schema定义 -->
- <schema name="cppdb" dataNode="cppDb1">
- <table name="tb2" dataNode="cppDb2,cppDb3" rule="rule1" />
- </schema>
- <!-- 数据节点定义,数据节点由数据源和其他一些参数组织而成。-->
- <dataNode name="cppDb1">
- <property name="dataSource">
- <dataSourceRef>cppDataSource[0]</dataSourceRef>
- </property>
- </dataNode>
- <dataNode name="cppDb2">
- <property name="dataSource">
- <dataSourceRef>cppDataSource[1]</dataSourceRef>
- </property>
- </dataNode>
- <dataNode name="cppDb3">
- <property name="dataSource">
- <dataSourceRef>cppDataSource[2]</dataSourceRef>
- </property>
- </dataNode>
- <!-- 数据源定义,数据源是一个具体的后端数据连接的表示。-->
- <dataSource name="cppDataSource" type="mysql">
- <property name="location">
- <location>172.22.14.7:3306/cpp1</location>
- <location>172.22.14.7:3306/cpp2</location>
- <location>172.22.14.7:3306/cpp3</location>
- </property>
- <property name="user">root</property>
- <property name="password">root</property>
- <property name="sqlMode">STRICT_TRANS_TABLES</property>
- </dataSource>
- </cobar:schema>
3.server.xml,定义cobar对外统一的数据接口。
<!-- 用户访问定义,用户名、密码、schema等信息。 -->
- <user name="root">
- <property name="password">root</property>
- <property name="schemas">cppdb</property>
- t;/user>
cobar升级版:mycat,提供了大连的文档,以及源码。
http://code.taobao.org/svn/openclouddb/
转自:http://blog.csdn.net/huoyunshen88/article/details/37927553
相关推荐
Cobar Server 1.2.7 正是这样一款用于数据库分布式管理的中间件,它为大型网站提供了高效、灵活的数据库扩展方案,尤其针对MySQL数据库的分库分表需求。 一、Cobar Server简介 Cobar,全称是Clustered Bar,由阿里...
中间件(proxy)有mysql proxy官方提供的mysql中间件产品可以实现负载平衡,读写分离,failover 等,但其不支持大数据量的分库分表且性能较差。Mycat用java语言开发,是中国开发者以自组织形式(暂且称之中国开源...
1. **Java Cobar**: Cobar是阿里巴巴开源的一个高性能、高可用的MySQL数据库代理,主要应用于分布式数据库系统。Cobar通过提供一个中间层来处理数据库连接,实现了负载均衡、读写分离、故障切换等功能,极大地提高了...
### 当当开源Sharding-JDBC:轻量级数据库分库分表中间件 #### 概述 当当网近期开源了一款名为Sharding-JDBC的轻量级数据库分库分表中间件。作为一款高性能、易用性高的数据库水平分片框架,Sharding-JDBC在设计上...
mysql 中间件研究是当前数据库系统中一个非常重要的课题,mysql-proxy 是官方提供的 mysql 中间件产品,可以实现负载平衡、读写分离、failover 等,但是它不支持大数据量的分库分表且性能较差。因此,需要其他可以...
TDDL(Table Data Layer)是淘宝开源的数据库中间件,主要用于解决数据库的分库分表问题。TDDL提供了动态数据路由、读写分离、故障切换等功能,它通过配置定义数据的分布策略,使得应用程序无需关心数据的具体存储...
Cobar实现了数据的分片和路由,能够透明地处理分库分表的逻辑,使得分布式数据库的管理变得简便。 总的来说,Cobar架构与实践不仅介绍了阿里巴巴是如何通过Cobar中间件解决复杂系统架构下的数据层问题,而且提供了...
- **分库分表:**通过水平拆分减少单一数据库的压力,提高整体系统的扩展性和性能。 - **分布式数据库:**采用分布式数据库中间件,进一步提升系统的可扩展性和容错能力。 #### 二、各类中间件简介 数据库中间件是...
前端用户可以把它看作是一个数据库代理,用 MySQL 客户端工具和命令行访问,而其后端可以用 MySQL 原生协议与多个 MySQL 服务器通信,也可以用JDBC协议与大多数主流数据库服务器通信,其核心功能是分库分表。...
Atlas作为一个中间件,能够将应用程序和MySQL数据库之间的细节隐藏起来,让应用开发者无需关心底层数据库的复杂操作,如读写分离、分库分表等。DBA的维护工作对前端应用透明,可以轻松地进行数据库的上下线操作而不...
Cobar 的主要目标是通过分库分表、读写分离等技术,提升数据库系统的吞吐量和响应速度,从而适应大规模互联网应用的需求。 `cobar-server-1.2.7.tar.gz` 是 Cobar 的一个版本发布,采用 `.tar.gz` 压缩格式,这是在...
数据库中间件是一种软件系统,它位于应用程序和数据库服务器之间,主要目的是解决数据库层面的问题,如读写分离、分库分表、高可用性等。在分析"数据库中间件设计与实现分析解析.ppt"的内容后,我们可以深入探讨以下...
Timo是一个分布式[MySQL] ( Timo源于[Cobar] ( ( Timo目前是实验性质,主要用于熟悉相关技术,实现个人想法,提高姿势水平。(●`・(エ)・´●) Timo Technical Terms [Timo中的术语介绍] (./doc/TimoTechnicalTerms...
java 语言编写的数据库中间件,是一个实现了 MySQL 协议的服务器,前端用户可以把它看作是一个数据库代理,用 MySQL 客户端工具和命令行访问,而其后端可以用 MySQL 原生协议与多个 MySQL 服务器通信,也可以用 JDBC...
分布式数据库中间件技术因此变得尤为重要,MyCat通过实现分库分表、读写分离等功能,有效地解决了海量数据存储和传统数据库高并发访问的压力问题。此外,MyCat的多租户应用开发和云平台基础设施的支持,为分布式架构...
1. 数据库分库分表:通过水平分割或垂直分割减轻单表压力,提高查询速度和并发能力。 2. 主从复制:实现数据冗余和故障恢复,同时为主节点提供读写分离,减轻主库压力。 3. 读写分离:通过中间件或路由规则,将读...
MyCat是一个开源的中间件产品,专为企业级应用设计,实现数据库集群...综上所述,MyCat作为一个数据库中间件,提供了分库分表、读写分离、高可用与集群等核心功能,使其成为企业级应用开发中处理大规模数据的重要工具。