Cassandra - 选择使用 Java JDK 生成的 UUID 的比较器
我正在使用 java 生成行键:
UUID.randomUUID().toString()
CF 应该使用什么比较器?
LexicalUUIDType
UUIDType
TimeUUIDType
I am generating row keys using java:
UUID.randomUUID().toString()
What comparator should I use for CF?
LexicalUUIDType
UUIDType
TimeUUIDType
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
TimeUUIDType
适用于基于时间戳的 (V1) UUID。比较是根据时间字段进行的。LexicalUUIDType
适用于非基于时间的 UUID。比较是按词法、逐字节进行的。UUIDType
是前两者的统一。它将检测两个 UUID 是否基于时间并比较时间戳;否则它将进行词法比较。UUID.randomUUID()
生成 V4 UUID,因此使用 TimeUUIDType 没有意义。基于 Cassandra-2233 听起来建议使用 UUIDType。TimeUUIDType
is for timestamp based (V1) UUIDs. Comparisons are done based on the time field.LexicalUUIDType
is for non time based UUIDs. Comparisons are done lexically, byte by byte.UUIDType
is a unification of the first two. It will detect if two UUIDs are time-based and compare the timestamps; otherwise it will compare lexically.UUID.randomUUID()
generates a V4 UUID so it doesn't make sense to use TimeUUIDType. Based on Cassandra-2233 it sounds like UUIDType is recommended.