目前我正在测试一些数据库系统(NoSql),现在我用Cassandra测试了一些东西。没有像MySQL中那样自动增加例如userID的选项。现在的问题是,如何在整个集群中生成UUID? Facebook也在历史上使用了Cassandra,他们也生成了一个userID(https://developers.facebook.com/tools/explorer/?method=GET&path=me)。他们是怎么做到的?
答案 0 :(得分:3)
您应该使用其中一种UUID类型 - UUIDType或TimeUUIDType。如果您希望能够按时间订购ID,请使用TimeUUIDType。如果你想获得最新的,而不是最早的第一个,请用ReversedType包装它。
答案 1 :(得分:1)
唯一ID只是计算机mac(或者您可以使用主机名)加上该计算机上的唯一ID(跨服务器重新启动)的组合。 PlayOrm for cassandra实际上会使用system.currenttimemillions生成短ID,但需要添加以使其唯一。 TimeUUID类型是mac + time(加上时间的一些补充,使其在机器中唯一)。
迪安