目前我测试一些数据库系统(NoSql),现在我用Cassandra测试一些东西。没有像在MySQL中那样自动递增a的选项,例如userID。现在的问题是,如何在整个集群中生成UUID?Facebook在历史上也使用过Cassandra,他们也生成了一个userID (https://developers.facebook.com/tools/explorer/?method=GET&path=me)。他们是怎么做到的?
发布于 2013-04-02 00:28:55
您应该使用其中一种UUID类型- UUIDType或TimeUUIDType。如果您希望能够按时间对ID进行排序,请使用TimeUUIDType。如果您想先获取最新的,而不是最旧的,则将其包装在ReversedType中。
发布于 2013-04-03 20:20:49
唯一id只是计算机mac(或者您可以使用主机名)加上该计算机上的唯一id (在服务器重新启动时)的组合。cassandra的PlayOrm实际上会根据这一点使用system.currenttimemillions生成短it,但在必要时会添加一些内容以使其具有唯一性。时间类型是mac + TimeUUID (加上一些额外的时间,使其在机器中是唯一的)。
院长
https://stackoverflow.com/questions/15744473
复制相似问题