8个数据库数据量测试,分布情况
16个数据库数据分布情况
代码:
import java.util.UUID;
import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.lang3.Conversion;
public class PartitionUtil {
public final static long mod = 1024L;
/**
*
* @param id
* 需转换的主键
* @param i
* 需分布的规模 2的次方
* @return
*/
public static Long partitioning(String id, int i) {
byte[] bs = DigestUtils.sha1(id);
UUID long1 = Conversion.byteArrayToUuid(bs, 0);
double d = Math.pow(2, i);
Long l = (long) (long1.getLeastSignificantBits() % mod % d);
return Math.abs(l);
}
}