ING-专业要饭(xxx) 22:43:32
现在好多项目数据库的表ID都是用UUID哦,这是为什么?
ING-专业要饭(xxx) 22:43:37
ashier.htm?orderId=879b2c046adf664e40bd6b7b7e1f6d6f&
ING-专业要饭(xxx) 22:43:46
这是支付宝的。
境由心造(xxx) 22:46:59
安全?
kimmking(xxx) 22:47:16
最重要的原因是 全局唯一性
ING-专业要饭(xxx) 22:47:30
还有捏?
境由心造(xxx) 22:47:51
UUID 可以保证百亿次都是唯一的吗?
kimmking(xxx) 22:48:01
安全性 可移植性
ING-专业要饭(xxx) 22:48:13
还有捏?
境由心造(xxx) 22:49:29
事情开始是这样的,然后呢,没有然后了
john(xxx) 22:51:57
可以隐藏业务信息
ING-专业要饭(xxx) 22:52:25
我们公司那破项目所有主键ID合TMD用UUID,我当初感到奇怪,后来仔细想想,也只有这些原因啦。
john(xxx) 22:53:15
普通的项目没必要用uuid吧
kimmking(xxx) 22:54:07
identity、increment单表内绝不会重复
sequence全库内绝不会重复
境由心造(xxx) 22:54:13
哦 这无所谓了
kimmking(xxx) 22:54:38
但是UUID的优势是,在一般的数据量(所有目前已知的数据量)下。
kimmking(xxx) 22:54:52
整个时空内不会重复。
ING-专业要饭(xxx) 22:55:00
KK,我有个问题。
境由心造(xxx) 22:55:09
时空?
kimmking(xxx) 22:55:15
比如,我把一批数据,分散到各个主机上。
ING-专业要饭(xxx) 22:55:17
当identity 的值达到最大值时,会出现什么情况?
kimmking(xxx) 22:55:51
每个主机上每插入一条数据,就需要一个id,怎么做呢?
kimmking(xxx) 22:56:11
他们都是物理意义上的对等关系。
kimmking(xxx) 22:56:48
A1机器、A2,、A3,,,上的每条记录都可能是支付宝的订单。
kimmking(xxx) 22:56:53
怎么办呢?
kimmking(xxx) 22:57:31
identity、increment不行,因为A1里有一个id=1,A2里就不能有了。
john(xxx) 22:57:38
看设置,oracle序列可以循环。超过最大值报错
kimmking(xxx) 22:58:42
sequence可以,但是很麻烦。可以设置一台机器S,专门用来分配sequence,A1,、A2、A3.。。等等写入记录的时候,都来找S要一个id。
kimmking(xxx) 22:59:08
这就是说,A123都需要知道S的存在。我们引入了一个单点。
kimmking(xxx) 22:59:29
S发送down机的话,A123都不能用了。
kimmking(xxx) 22:59:53
UUID因为它的全局唯一性,可以很简单的避免这个问题。
kimmking(xxx) 23:00:15
A123各个机器自己算个UUID就得了。
kimmking(xxx) 23:00:31
就能保证各个机器上出来的id,都是不一样的了。
分享到:
相关推荐
这样的方法可以增强ID的可追踪性和意义,但并不是标准UUID生成算法的一部分。标准UUID是通过随机数或基于时间的算法生成的,而结合IP地址等信息则是在此基础上增加了一层额外的保证,确保即使在短时间内重复生成,也...
UUID,全称Universally Unique Identifier,即全局唯一标识符,是一种在分布式系统中用来生成唯一标识的机制。在大数据和云计算环境中,为了确保每个...了解并掌握雪花算法,对于理解和设计分布式系统具有重要意义。
### Linux使用UUID挂载数据盘详解 #### 一、引言 在Linux系统中,挂载数据盘是一项常见的任务...这对于保持服务器稳定性和提高管理效率具有重要意义。此外,了解整个挂载过程也有助于更好地理解Linux系统的工作原理。
- 无意义性:UUID是随机或基于特定算法生成的,因此它没有直接关联到任何特定的信息,这有助于保护数据隐私。 综上所述,UUID生成器是一个便捷的工具,用于快速、简单地获取UUID,广泛应用于各种IT场景,以保证数据...
总之,UUID是一个重要的技术概念,深入理解其生成原理和应用场景对于提升系统设计和开发能力具有重要意义。这个压缩包中的文档将为你提供一个学习和探索UUID的好起点,尽管未经验证的源码可能存在误差,但它仍然能...
这种方法生成的UUID没有特定的结构或意义,主要用于需要无特定关联性的唯一标识。 4. `uuid.uuid5()` 类似于`uuid3()`,`uuid5()`也是基于命名空间和名称生成UUID,但这里使用的是SHA-1哈希算法。这也提供了命名...
GUID是一个128位长的数字,一般用16进制表示。算法的核心思想是结合机器的网卡、当地时间、一个随即数来生成GUID。从理论上讲,如果一台机器每秒产生10000000个GUID,则可以保证(概率意义上)3240年不重复
顺序 这是一个实用程序函数,用于生成顺序uuid,基于时间戳方法的node.js重新实现,请参考此帖子和此github存储库, 。 学分归原始作者所有。 以下是如何使用此库的示例。...意义 默认值 单元 间隔 生成的uuid将共
1. 背景知识: UUID: 通用唯一标识符 ( Universally Unique Identifier ), 对于所有的UUID它可以保证在空间和时间上的唯一性.... 很多应用场景需要一个id, 但是又不要求这个id 有具体的意义, 仅仅用来标识一个对象.
标题中的“uuid全文索引千度搜索引擎”是一个项目或软件的名称,暗示了这是一个与搜索引擎相关的技术实现,可能用于在大量数据中快速查找特定信息。它特别提到了“uuid”,这是Universally Unique Identifier的缩写...
通过对上述知识点的梳理,我们可以了解到该文档对于蓝牙技术中UUID值的应用和规范的重要意义。它不仅为设备制造商提供了必须遵循的UUID分配表,同时也明确了文档提供的性质、责任和知识产权声明。对于与蓝牙相关的...
在JavaScript中,`replace()`函数常用于字符串替换,但处理HTML内容时可能会遇到问题,因为它会按字面意义替换,而无法识别HTML标签。因此,我们需要自定义函数`replaceHtml`来安全地替换HTML元素内的文本。通常,...
通过将一个特定命名空间的UUID与一个字符串(可以是任何有意义的数据,如域名、文件名等)结合,并使用SHA-1哈希算法,可以生成一个全新的、全局唯一的UUIDv5。 在JavaScript中,我们可以使用以下步骤生成UUIDv5: ...
以软件算法实现UUID非常有现实意义。参考RFC4122文档和其他一些开源代码,我写了一个WIN32下的UUID实现C语言程序——UUID32.c,不调用任何WIN32 API。程序符合RFC4122标准。程序不但实现创建UUID和UUID String,还...
因此,这不是一个真正意义上的设备唯一标识。 3. **Identifier For Vendor (IDFV)** 自iOS 6起,Apple引入了`identifierForVendor`(IDFV),它是针对应用来自同一个供应商的所有应用的一个唯一标识。如果用户删除...
**BIOS和DMI** BIOS(基本输入输出系统)是计算机硬件系统的核心组成部分,...了解和掌握这些技术,可以帮助我们更好地管理和维护计算机系统,尤其是在企业级环境中,对资产管理、故障排查和安全控制具有重要意义。
其中,“克隆”操作是VirtualBox中一个非常实用的功能,允许用户复制虚拟机或其硬盘,这对于备份、测试、部署等工作场景具有重要意义。 #### VirtualBox克隆基础知识 克隆操作主要分为两大类:一是虚拟机克隆,二...
在IT行业中,工具类是程序员日常开发中不可或缺的一部分。...掌握这些知识点,对于提高开发效率和代码质量具有重要意义。在实际开发中,合理利用工具类,可以有效地减少重复工作,提升代码的可维护性和可复用性。