天天看點

分庫分表(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  不同的叢集采用的起始點或者增長間隔不同。 這種方案實作簡單,但是後期管理麻煩。