Cassandra - 跨群集的唯一UserID

时间:2013-04-01 13:33:27

标签: cassandra

目前我正在测试一些数据库系统(NoSql),现在我用Cassandra测试了一些东西。没有像MySQL中那样自动增加例如userID的选项。现在的问题是,如何在整个集群中生成UUID? Facebook也在历史上使用了Cassandra,他们也生成了一个userID(https://developers.facebook.com/tools/explorer/?method=GET&path=me)。他们是怎么做到的?

2 个答案:

答案 0 :(得分:3)

您应该使用其中一种UUID类型 - UUIDType或TimeUUIDType。如果您希望能够按时间订购ID,请使用TimeUUIDType。如果你想获得最新的,而不是最早的第一个,请用ReversedType包装它。

答案 1 :(得分:1)

唯一ID只是计算机mac(或者您可以使用主机名)加上该计算机上的唯一ID(跨服务器重新启动)的组合。 PlayOrm for cassandra实际上会使用system.currenttimemillions生成短ID,但需要添加以使其唯一。 TimeUUID类型是mac + time(加上时间的一些补充,使其在机器中唯一)。

迪安