日期:2014-05-16  浏览次数:20538 次

分库分表(sharding)后主键全局唯一性的解决方案

http://www.mysqlab.net/blog/2009/03/mysql-sharding-unique-primary-key-solution/comment-page-1/

?

随着数据量的增大,在数据库的扩展上通常遇到切分时保证键值的唯一性问题,遇到这种情况,通常有如下几种相对简单的解决方案:

1 ?UUID 这种方案的优点是实现和管理简单,缺点是占用空间大,查询效率低下。

import java.util.UUID;   
public class Test {   
     public static void main(String[] args) {   
        UUID uuid = UUID.randomUUID();   
        System.out.println (uuid);   
    }   
}  
?

2 ?Sequence Number (Oracle?)优点是实现和管理简单,确定是有性能瓶颈和单点问题。

3 ?不同的集群采用的起始点或者增长间隔不同。 这种方案实现简单,但是后期管理麻烦。


?