`
kimmking
  • 浏览: 537690 次
  • 性别: Icon_minigender_1
  • 来自: 中华大丈夫学院
社区版块
存档分类
最新评论

UUID的意义

阅读更多

 
 
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,都是不一样的了。

 

2
1
分享到:
评论
1 楼 bugu1986 2011-06-12  
nice!

相关推荐

    JAVA UUID 生成全球唯一ID

    GUID是一个128位长的数字,一般用16进制表示。算法的核心思想是结合机器的网卡、当地时间、一个随即数来生成GUID。从理论上讲,如果一台机器每秒产生10000000个GUID,则可以保证(概率意义上)3240年不重复

    seq-uuid:这是一个实用程序函数,用于生成顺序的uuid

    顺序 这是一个实用程序函数,用于生成顺序uuid,基于时间戳方法的node.js重新实现,请参考此帖子和此github存储库, 。 学分归原始作者所有。 以下是如何使用此库的示例。...意义 默认值 单元 间隔 生成的uuid将共

    Python通用唯一标识符uuid模块使用案例

    1. 背景知识:  UUID: 通用唯一标识符 ( Universally Unique Identifier ), 对于所有的UUID它可以保证在空间和时间上的唯一性.... 很多应用场景需要一个id, 但是又不要求这个id 有具体的意义, 仅仅用来标识一个对象.

    uuidgen

    以软件算法实现UUID非常有现实意义。参考RFC4122文档和其他一些开源代码,我写了一个WIN32下的UUID实现C语言程序——UUID32.c,不调用任何WIN32 API。程序符合RFC4122标准。程序不但实现创建UUID和UUID String,还...

    nanoid:用于JavaScript的纤巧(108字节),安全,URL友好的唯一字符串ID生成器

    “令人惊讶的无意义的完美主义水平,简直是不可能不尊重。” 小的。 108个字节(缩小并压缩)。 没有依赖关系。 控制大小。 快速地。 它比UUID快60%。 安全的。 它使用具有加密功能的随机API。 可以在集群中使用。...

    SQL培训第一期

    escape关键字经常用于使某些特殊字符,如通配符:'%','_'转义为它们原来的字符的意义,被定义的转义字符通常使用'\',但是也可以使用其他的符号。 select * from Student_a where name like '%$%%' escape '$'; 1.7.6...

    虚拟化与云计算;快照拍摄管理及克隆虚拟机

     副本虚拟机拥有源虚拟机相同的属性,但是副本虚拟机和原始虚拟机有不同的MAC地址和UUID,因此这就允许副本虚拟机和原始虚拟机可以出现在同一网络,并且不会产生任何冲突,可以在开机状态下克隆,也可以在关机状态...

    phpjsonlite:用于PHP的简单,自包含,无服务器,零配置的json文档存储

    数据目录名为jsonlite.data ,每个json文档都保存为漂亮的uuid打印形式。概念验证JSONlite是一种概念证明,在开发或生产中实际使用它可能没有任何意义。 在阅读更多。安装composer require wallacesilva/...

    firetronic:将传感器数据推送到 Firebase 的有用脚本集

    这将为您的设备创建一个带有数据库地址和 UUID 的auth.json ,这将是检索传感器数据的关键。 为了不丢失以前的数据密钥,只执行一次这个脚本是有意义的。阿杜诺云你可能会想需要阅读。 您不能只在 Yùn 上的 ...

    wechat-avatar:Node.js实现微信好友头像拼接(wechaty+sharp)

    PS: 虽然拼接好友头像后并没什么意义,然而这个想法很有意思,自己玩一玩还是不错的,顺便可以了解下node的生态。 效果展示 先上结果图 再来一波动图 站在巨人的肩膀上 用到的轮子 uuid 通过以上npm 包,可实现这一...

    TP-LINK WR703N OpenWrt刷机教程及固件 4M ,稳定 支持3G和打印机共享外接卡簧

    插上U盘,命令行运行blkid得到U盘的UUID值,复制到管理界面的相应UUID, 挂载选项“rw,sync”删掉后面的umask=000。然后勾上extroot和启用,文件系统选对应的ext3或ext4,保存应用OK。 重启下,看看剩余空间大了没...

    网络视听收视大数据技术规范-数据元素集.pdf

    3.2 节目 program 在互联网视听平台上供用户收听收视、具有独立主题或意义的视音频内容,包括新闻、电视剧、电 影、综艺、网络剧、网络大电影及其片段等长视频、短视频,以及直播内容。 3.3 直播 direct broadcast ...

    java面试题

    60. JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意义?在try块中可以抛出异常吗? 41 61. MVC的各个部分都有那些技术来实现?如何实现? 42 62. java中实现多态的机制是什么? 42 ...

    ssh(structs,spring,hibernate)框架中的上传下载

     •FILE_ID:文件ID,32个字符,用Hibernate的uuid.hex算法生成。  •FILE_NAME:文件名。  •FILE_CONTENT:文件内容,对应Oracle的Blob类型。  •REMARK:文件备注。  文件数据存储在Blob类型的FILE_CONTENT...

Global site tag (gtag.js) - Google Analytics