Уникальные UUID от нескольких процессов на одном компьютере
Вопрос
Чтобы пометить данные, которые мы создаем, я собираюсь использовать uuids. Безопасность не является проблемой, поэтому я собирался использовать версию 1 (на основе даты и mac-адреса). Единственная проблема заключается в том, что каждый пользователь может создавать несколько файлов данных одновременно из разных процессов с несколькими потоками. Предполагая, что библиотека Python uuid является поточно-ориентированной (хотя она и не выглядит), это все равно оставляет проблему с несколькими процессами. Я рассматриваю суффикс uuid с тире и номером процесса.
Поскольку у нашей группы мало опыта работы с uuids, есть ли какие-то проблемы, о которых мне нужно помнить? Как обычно решается проблема с несколькими процессами?
Решение
Просто используйте uuid4 для совершенно случайных UUID. Нет необходимости беспокоиться о столкновениях.
изменить в ответ на комментарий . По моему опыту, избыточные данные рано или поздно приводят к несоответствиям. Существует причина, по которой избегание избыточности является догмой проектирования реляционных баз данных. Р>
Поэтому не используйте UUID в качестве «резервной копии с резервированием». для фактического «исходного компьютера»; и «отметка времени»; данные. Либо используйте его как чистый уникальный идентификатор, не содержащий никакой другой информации, либо не используйте его вообще.