数据库水平分表算法实现介绍如下:
一:实现思想
以MurmurHash算法为基础,在MurmurHash算法进行必要改造,本次主要进行64分表,即分为64个主表,实现思想简介如下:
1、MurmurHash生成hashcode ---详细可看代码
2、hashcode取模64生成分表下表,---详细可看代码
3、分表的下表拼接 ---详细可看代码
具体细节可参考code,如下;
二:code实现
/**
* 描述:分表生成及常用方法统一提供
* @author Aaron
* @version 1.0
* @param args
*/
public class HashTableIndex
{
private static StringBuffer stringBuffer = null;
static {
if (null == stringBuffer) {
stringBuffer = new StringBuffer();
}
}
public static long hash64A(ByteBuffer buf, int seed)
{
ByteOrder byteOrder = buf.order();
buf.order(ByteOrder.LITTLE_ENDIAN);<