来自同一机器多个进程的唯一UUID
为了给我们创建的数据打标签,我在考虑使用UUID。安全性不是问题,所以我打算使用第1版的UUID(基于日期和MAC地址)。我唯一担心的是,每个用户可能会同时从不同的进程和多个线程创建多个数据文件。假设Python的UUID库是线程安全的(虽然看起来并不是),但这仍然存在多个进程的问题。我在考虑在UUID后面加上一个短横线和进程编号。
由于我们小组对UUID的经验不多,有没有什么问题是我需要注意的?通常是如何处理多个进程的问题的?
1 个回答
4
你可以直接使用 uuid4 来生成完全随机的UUID,根本不用担心会出现重复的情况。
根据评论的补充说明:根据我的经验,重复的数据最终会导致不一致的问题。避免重复是关系型数据库设计中的一个基本原则。
所以,不要把UUID当作“冗余备份”来存储实际的“来源计算机”和“时间戳”数据。要么把它当作一个纯粹的唯一标识符,不携带其他信息,要么就干脆不使用它。