Случайность random.randint () против uuid4 - PullRequest
0 голосов
/ 10 октября 2018

С тех пор я использовал uuid4 в своей базе данных проекта (все еще в разработке), но сейчас я думаю о переходе на случайные bigints для PK.

Может кто-нибудь сказать мне, насколько хуже случайность randint(1000000000000000, 9007199254740991) (javascript safe) против uuid4?

Бьюсь об заклад, я здесь использую термин случайность неправильно.Чего я хочу достичь, так это того, что у меня нет непрерывных, но, конечно, уникальных идентификаторов в моей БД, поэтому я использовал uuid до сих пор.Но поскольку я столкнулся с множеством неприятностей, я хотел бы перейти на целые числа и узнать, сколько бы «более случайных» uuid было бы

1 Ответ

0 голосов
/ 04 ноября 2018

Глядя на это, 9007199254740991 выглядит примерно как 55 бит;UUIDv4 имеет 122 случайных бита, что означает, что он имеет примерно 2 ^ 67 раз больше случайности.Вы теряете один бит или около того, обрезая нижний предел диапазона, который легко исправить, но на самом деле не имеет значения, когда разница уже столь значительна.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...