MyCat配置简述以及mycat全局ID
Mycat可以直接下载解压,简单配置后可以使用,主要配置项如下:
1. log4j2.xml:配置MyCat日志,包括位置,格式,单个文件大小
2. rule.xml: 配置分片规则
3. schema.xml:配置分库详细信息
4. server.xml:配置登陆信息
5.wrapper.conf : 配置jvm已经缓存大小
PS:有些版本的安装包(比如1.6)存在一些问题,比如在配置server.xml的时候,配置多个登陆账户,会报错:
The content of element type "user" must match "(property)+"
一般就是server.dtd配置错误,修改一下server.dtd:
<!ELEMENT user (property+,privileges*)>
<!ATTLIST user name NMTOKEN #REQUIRED>
还有一些错误,是1.6版本中druid.jar包中缺失DruidUpdateParser,用阿里巴巴的druid-release替换一下就好
-----------------------------------------------------------------------分割线------------------------------------------------------------------------------------------
-----------------------------------------------------------------------分割线------------------------------------------------------------------------------------------
现在使用mycat数据库性全局ID,基本思想是:
在某个数据节点上保存一个表:mycat_sequence,基本形式如下,current_value 为当前值,increment为步长,mycat维护这张表
+--------+---------------+-----------+
| NAME | current_value | increment |
+--------+---------------+-----------+
| GLOBAL | 300 | 100 |
+--------+---------------+-----------+
使用是,调用语句"next value for MYCATSEQ_GLOBAL",可以获取一个全局ID,有如下特征:
1. 每次获得的ID是上一个ID+1,
2. 批量插入时(一句SQL),获得的ID相同;
3. 支持加减
4. 到达整个步长时,mycat会去访问数据库mycat_sequence,平时自增mycat自己维护
对于批量插入与父子表的情景,这种方法存在以下问题:
1. 批量调用时,ID相同,不可取
2. 每次自增为1,对于批量取ID的情景,需要频繁调用
3. 对于父子表的调用,若分开调用则ID不同,若同时调用,需要事务保证一致性,增加操作复杂度
对于批量分配全局ID,建议自己维持一个数据表t_GLOBAL_ID,形式如下:
+--------+---------------+
| i_class| current_ID |
+--------+---------------+
| 1 | 300 |
+--------+---------------+
当有n个数据需要处理时,先更新数据库:
update GLOBAL_ID set current_ID= current_ID+n where i_class=1;
然后对n个数据分配ID,分配完后可以当普通数据处理。
当使用INNODB时,更改GLOBAL_ID会锁行,从而保证唯一性。
MyCat配置简述以及mycat全局ID的更多相关文章
- Mycat配置分库分表(垂直分库、水平分表)、全局序列
1. Mycat相关文章 Linux安装Mycat1.6.7.4并实现Mysql数据库读写分离简单配置 Linux安装Mysql8.0.20并配置主从复制(一主一从,双主双从) Docke ...
- Mycat 配置
前言 Mycat 是一个数据库分库分表中间件 MyCAT 是作为通用代理设计的,后端是以 Mysql协议 和 JDBC 的方式连接数据库,可以支持 Oracle.DB2.SQL Server . mo ...
- MyCat配置运行
昨天把mycat的环境搭建差不多了,今天直接上配置文件: 主要需要修改三个配置文件: rule.xml schema.xml server.xml rule.xml配置如图: <?xml ver ...
- Mycat配置文件详解及全局序列号
来详细的看看 mycat的配置文件,更多信息请查看:mycat权威指南. schema.xml: Schema.xml 作为 MyCat 中重要的配置文件之一,管理着 MyCat 的逻辑库.表.分片规 ...
- MyCat配置详解
MyCAT 配置解析 server.xml Mycat的配置文件,设置账号.参数等schema.xml Mycat对应的物理数据库和数据库表的配置rule.xml Mycat分片(分库分表)规则 一 ...
- Mysql系列五:数据库分库分表中间件mycat的安装和mycat配置详解
一.mycat的安装 环境准备:准备一台虚拟机192.168.152.128 1. 下载mycat cd /softwarewget http:-linux.tar.gz 2. 解压mycat tar ...
- mycat配置实现mysql读写分离
需要先把mysql的主从复制配置好,然后才可以开始mycat的配置 m ysql主从复制配置:https://www.cnblogs.com/renjianjun/p/9093062.html myc ...
- Mycat 配置及优化【转】
前言 Mycat 是一个数据库分库分表中间件 MyCAT 是作为通用代理设计的,后端是以 Mysql协议 和 JDBC 的方式连接数据库,可以支持 Oracle.DB2.SQL Server . mo ...
- Mycat配置入门
配置: --bin 启动目录 --conf 配置文件存放配置文件: --server.xml:是Mycat服务器参数调整和用户授权的配置文件. --schema.xml:是逻辑库定义和表以及分片定义的 ...
随机推荐
- NodejS---require的机制
假设Y是路径,X是文件名或目录名,当 Nodejs 遇到 require(Y+X) 时,按照下面的顺序处理: 1.如果 X 是核心模块(例如:require("http")) a. ...
- Linux命令之文件和目录操作命令(一)—— ls
本文介绍了ls命令的最常用法. 1.用法: ls [选项][目录名或文件名] 2.选项: -l 使用长格式显示目录或文件的详细信息 -a 显示隐藏文件 -h 人性化显示文件或目录的大小 -d 显示目录 ...
- Cortex-M3 双堆栈指针(MSP&PSP)
[双堆栈指针(MSP&PSP)] Cortex-M3内核中有两个堆栈指针(MSP & PSP),但任何时刻只能使用到其中一个. 复位后处于线程模式特权级,默认使用MSP. 通过SP访问 ...
- LC 687. Longest Univalue Path
Given a binary tree, find the length of the longest path where each node in the path has the same va ...
- javascript之Prototype属性
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- DOM解析和SAX解析对比
原理: 一次性加载xml文档,不适合大容量的文件读取 原理: 加载一点,读取一点,处理一点.适合大容量文件的读取 DOM解析可以任意进行增删改成 SAX解析只能读取 DOM解析任意读取任何位置的数据, ...
- LoaderDialog自定义加载框的实现
package com.loaderman.loadingdialogdemo; import android.app.Dialog; import android.content.Context; ...
- 依赖注入框架之butterknife
主页: https://github.com/JakeWharton/butterknife 用途: 主要用来简化各种初始化控件的操作 配置: 1. 在app/build.gradle文件中depen ...
- C++异常实现机制
1.C函数的调用和返回 要理解C++异常机制实现之前,首先要了解一个函数的调用和返回机制,这里面就要涉及到ESP和EBP寄存器.我们先看一下函数调用和返回的流程. 下面是按调用约定__stdcall ...
- ButterKnifer使用
ButterKnifer使用 1.集成 github地址: https://github.com/JakeWharton/butterknife 1.1在主Moduel中的使用 在主moduel中的b ...