我现在有一个基本的用户事件表中的下列表格布局:对比唯一性的更好选择?
CREATE TABLE IF NOT EXISTS events.events_by_user(
user text,
added_week int,
added_timestamp timestamp,
event text,
uuid uuid,
PRIMARY KEY((user, added_week), added_timestamp, event, uuid))
WITH CLUSTERING ORDER BY(added_timestamp DESC)
因此唯一性基本上由UUID作为主键的最后一列中必要的。同一个用户有几次相同的事件有可能发生在同一个毫秒(时间戳)中。
另一种方法可能是(如果我没有记错的话),下降的uuid列由相对柱取代它,而不是像这样:
CREATE TABLE IF NOT EXISTS events.events_by_user(
user text,
added_week int,
added_timestamp timestamp,
event text,
frequency counter,
PRIMARY KEY((user, added_week), added_timestamp, event))
WITH CLUSTERING ORDER BY(added_timestamp DESC)
我的想法是,我可以节省一些空间使用这个计数器,而且我的行不会变宽。我不确定,如果这可能会有其他性能影响维持这个柜台,或者如果有任何其他原因,为什么这可能不是一个好主意?
我看到了,我用我的初始设计timeuuid,但有点害怕[this](http://nickberardi.com/sometimes-a-nanosecond-makes-all-the-difference/)文章。 Thx的努力,提到的概率是足够好的,我会用timeuuid去。 – u6f6o