Уникальные UUID от нескольких процессов на одном компьютере

StackOverflow https://stackoverflow.com/questions/1821399

  •  10-07-2019
  •  | 
  •  

Вопрос

Чтобы пометить данные, которые мы создаем, я собираюсь использовать uuids. Безопасность не является проблемой, поэтому я собирался использовать версию 1 (на основе даты и mac-адреса). Единственная проблема заключается в том, что каждый пользователь может создавать несколько файлов данных одновременно из разных процессов с несколькими потоками. Предполагая, что библиотека Python uuid является поточно-ориентированной (хотя она и не выглядит), это все равно оставляет проблему с несколькими процессами. Я рассматриваю суффикс uuid с тире и номером процесса.

Поскольку у нашей группы мало опыта работы с uuids, есть ли какие-то проблемы, о которых мне нужно помнить? Как обычно решается проблема с несколькими процессами?

Это было полезно?

Решение

Просто используйте uuid4 для совершенно случайных UUID. Нет необходимости беспокоиться о столкновениях.

изменить в ответ на комментарий . По моему опыту, избыточные данные рано или поздно приводят к несоответствиям. Существует причина, по которой избегание избыточности является догмой проектирования реляционных баз данных.

Поэтому не используйте UUID в качестве «резервной копии с резервированием». для фактического «исходного компьютера»; и «отметка времени»; данные. Либо используйте его как чистый уникальный идентификатор, не содержащий никакой другой информации, либо не используйте его вообще.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top