【发布时间】:2016-10-06 15:21:31
【问题描述】:
uuid 或通用唯一标识符和timeuuid 是长 128 位值。
在 Cassandra 数据库中,由于它的概念,我使用 uuid 和 timeuuid 作为我们的实体标识符,现在我想压缩 uuid 和 timeuuid 或当客户端(用户)可以在 URL 栏中看到 id 时减小其大小。
例如 Twitter 也使用 Cassandra,但是当你打开一条推文时,推文的 id 类似于 10153967535312713,但一个简单的 uuid 类似于 10646334-2c02-11e6-bb4a-7720eb141b83,它包含更多字符而不是用户友好 (当然这两个 ID 都不是用户友好的 :D)
在不同的编程语言中都有一些压缩函数,例如PHP中的gzcompress和Java中的GZIPOutputStream,但是这些函数(类)将压缩数据并以GZIP格式返回,不允许在URL中使用!
顺便说一句,有没有什么方法或函数/算法可以得到更小的或压缩版本的 uuid 或 timeuuid?
【问题讨论】:
-
UUID 极不可能被压缩——你不能压缩随机数据,而且 UUID 通常是随机的。 (并且任何较短的随机数据都有相应更高的可能性实际上不是唯一的。)
标签: java php cassandra uuid timeuuid