Apache Cassandra 0.7 Documentation

UUIDs

The UUID is used in Cassandra to avoid collisions.

To see how collisions can occur without UUIDs, consider that if multiple clients are writing to the same row simultaneously and timestamps are used for column names, it’s possible for a timestamp collision to occur, causing the first write to be overwritten by the second one. To prevent this and still allow columns to be sorted by time, a version 1 UUID can be used; these UUIDs include a timestamp component that Cassandra uses to sort the columns. In this case, Cassandra’s TimeUUIDType comparator should be used in the column family definition.

The other UUID types (versions 2 through 5) may also be used with Cassandra’s LexicalUUIDType comparator. These lack a time component and are sorted in byte order.