А чем не хватает типа BIGINT?

Мы как-то решали такую проблему, как бы так обеспечить ее родимую репликацию данных между филиалами. Сначала конечно подумали про GUID .. Подумали дальше про диапазон значений... до сих пор вроде бы хватало INTEGER для полей
19 значащих цифр, не уверен на счет IB
-9223372036854775808 (java.lang.Long.MIN_VALUE)
+9223372036854775807 (java.lang.Long.MAX_VALUE)

берем пару старших цифр и отводим под филиал, 99 филиалов хватит за глаза, а если и не хватит то 999 хватит точно ...
остается для каждого филиала достаточная цифра 3372036854775807 ...
взглянув на эту цифру вообще сделали один генератор на всю базу

ставишь первый филиал стартовое значение этого генератора
0010000000000000000

ставишь второй
0020000000000000000

--
С наилучшими пожеланиями,
Николай Войнов.

Ответить