我現在有一個基本的用戶事件表中的下列表格佈局:對比唯一性的更好選擇?
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