cobar rule 简介
rule可以自己编写比较函数,系统提供了Long 和 String的 其中Long用于例子的已经讲解的很详细。
// 分区长度:数据段分布定义,其中取模的数一定要是2^n, 因为这里使用x % 2^n == x & (2^n - 1)等式,来优化性能。
private static final int PARTITION_LENGTH = 1024;
<?xml version="1.0" encoding="UTF-8"?>
<!--
- Copyright 1999-2012 Alibaba Group.
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-->
<!DOCTYPE cobar:rule SYSTEM "rule.dtd">
<cobar:rule xmlns:cobar="http://cobar.alibaba.com/">
<!-- 路由规则定义,定义什么表,什么字段,采用什么路由算法 -->
<tableRule name="rule2">
<rule>
<columns>siteid</columns>
<algorithm><![CDATA[diffsite(${siteid}) ]]></algorithm>
</rule>
</tableRule>
<function name="diffsite" class="com.alibaba.cobar.route.function.PartitionByString">
<property name="partitionCount">512</property>
<property name="partitionLength">2</property>
<property name="hashSlice">-5:</property>
</function>
</cobar:rule>
/**
* "2" -> (0,2)<br/>
* "1:2" -> (1,2)<br/>
* "1:" -> (1,0)<br/>
* "-1:" -> (-1,0)<br/>
* ":-1" -> (0,-1)<br/>
* ":" -> (0,0)<br/>
*/
public static Pair<Integer, Integer> sequenceSlicing(String slice) {
int ind = slice.indexOf(':');
if (ind < 0) {
int i = Integer.parseInt(slice.trim());
if (i >= 0) {
return new Pair<Integer, Integer>(0, i);
} else {
return new Pair<Integer, Integer>(i, 0);
}
}
String left = slice.substring(0, ind).trim();
String right = slice.substring(1 + ind).trim();
int start, end;
if (left.length() <= 0) {
start = 0;
} else {
start = Integer.parseInt(left);
}
if (right.length() <= 0) {
end = 0;
} else {
end = Integer.parseInt(right);
}
return new Pair<Integer, Integer>(start, end);
}
str = ’0123456789′
print str[0:3] #截取第一位到第三位的字符
print str[:] #截取字符串的全部字符
print str[6:] #截取第七个字符到结尾
print str[:-3] #截取从头开始到倒数第三个字符之前
print str[2] #截取第三个字符
print str[-1] #截取倒数第一个字符
print str[::-1] #创造一个与原字符串顺序相反的字符串
print str[-3:-1] #截取倒数第三位与倒数第一位之前的字符
print str[-3:] #截取倒数第三位到结尾
print str[:-5:-3] #逆序截取,具体啥意思没搞明白?
cobar rule 简介相关推荐
- Linux系统route、ip route、ip rule简介
一.相关概念 1. 路由(Routing) 路由是指设备从一个接口上收到数据包,根据数据包的目的地址进行定向并转发到另一个接口的过程. 2. 路由表(routing table) 所谓路由表,是指路由 ...
- 阿里开源Mysql分布式中间件:Cobar
这几天研究了下Cobar, Cobar是阿里巴巴研发的关系型数据的分布式处理系统(Amoeba的升级版,该产品成功替代了原先基于Oracle的数据存储方案,目前已经接管了3000+个MySQL数据库的 ...
- Cobar分布式关系型数据库中间件的简单应用
Cobar是关系型数据的分布式处理系统,它可以在分布式的环境下看上去像传统数据库一样为您提供海量数据服务. 产品在阿里巴巴B2B公司已经稳定运行了3年以上. 目前已经接管了3000+个MySQL数据库 ...
- cobar mysql cluster_Cobar使用文档(可用作MySQL大型集群解决方案)
最近好不容易抽空研究了下Cobar,感觉这个产品确实很不错(在文档方面比Amoeba强多了),特此推荐给大家.Cobar是阿里巴巴研发的关系型数据的分布式处理系统,该产品成功替代了原先基于Oracle ...
- Cobar部署与测试
原文出自 http://www.abcdocker.com/abcdocker/84 Cobar部署与测试 一.Cobar介绍 1.1功能概述: Cobar是关系型数据的分布式处理系统,它可以在分布 ...
- JUnit的Rule的使用
我们在使用JUnit的时候,为了使测试结果更加清晰明确,会有以下的需求: 一个类有多个测试方法,想知道日志是哪个测试方法 想在所有测试方法的前后加上一些语句,用于初始化和销毁一些资源 如果一个测试方法 ...
- MyCat:取代Cobar数据库中间件
Cobar 是阿里巴巴开源的一个数据库中间件,为了解决类似proxy这类的问题.目前同类型的有奇虎360开源的Atlas.类似的有基本在线上用起来很不爽,问题多多的比如MySQL Proxy和SQL ...
- Alibaba的COBAR真是强大
最近好不容易抽空研究了下Cobar,感觉这个产品确实很不错(在文档方面比Amoeba强多了),特此推荐给大家.Cobar是阿里巴巴研发的关系型数据的分布式处理系统,该产品成功替代了原先基于Ora ...
- alibaba的COBAR真是强大.
最近好不容易抽空研究了下Cobar,感觉这个产品确实很不错(在文档方面比Amoeba强多了),特此推荐给大家.Cobar是阿里巴巴研发的关系型数据的分布式处理系统,该产品成功替代了原先基于Oracle ...
最新文章
- hdu5441(2015长春网络赛E题)
- uvalive4836(枚举)
- ajax实现下拉列表联动
- memcached 和 redis 的区别与选择
- 洛谷 P1404 平均数
- Redis性能问题排查解决手册(七)
- 【LOJ】#2230. 「BJOI2014」大融合
- linux系统如何启用安全内核,安全 - Linux 内核引导选项简介
- web.config中文解释
- STL之Ranges区间讨论
- 电影:美国队长:复仇者先锋
- PR转场预设 模仿纸张翻转特效PR视频转场PR预设
- Java AES/ECB/PKCS5Padding加密和PHP解密的实现
- 移动硬盘上安装Ubuntu18.04系统
- 中文文本纠错算法走到多远了?
- Debian 12 Bookworm 尝鲜记
- 《互联网进化论》-破解互联网的奥秘
- html静态商城网页制作 基于HTML+CSS+JavaScript在线服装商城店铺商城设计毕业论文源码...
- 雨课堂知识点总结(十)
- 推荐一款微信 Markdown 编辑器