2010-07-15 46 views
1

我正在設計一個數據庫,該數據庫將可能包含數百萬條記錄。每條記錄只有幾條數據(比如約15個字符的字符串)。生成大部分類似於UUID但具有名稱空間檢查的唯一標識符

不同的記錄屬於同一類對象,但來自不同的「源」;一個命名空間將捕獲這種關係。例如,對象1屬於名稱空間1,對象12321屬於名稱空間2等。

我想設計這些記錄的唯一標識符。

如果我要使用UUID版本5,生成附加到命名空間的UUID將是微不足道的。但是,無法知道給定的UUID是否屬於給定的命名空間。

然後我想到了一個沿着Luhn's Algorithm(用於信用卡號碼的行)的算法,它檢查數字是「正確」還是「不是」。

你會怎麼做呢?

要求:

  1. 所有UUID requirements
  2. 能力檢查一個UUID屬於給定的命名空間

回答

1

如果您存儲在同一個表和索引的命名空間,一個簡單查詢會告訴你uuid是否存在於給定的命名空間中。但是,不管怎樣,都不是獨一無二的。所以重複不應該存在。

相關問題