首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >卡桑德拉复合主键CQL3

卡桑德拉复合主键CQL3
EN

Stack Overflow用户
提问于 2013-05-23 09:11:10
回答 2查看 657关注 0票数 3

如果我想按时间窗口划分我的主键,那么(为了存储和检索效率)使用时间的文本表示还是截断的本机时间戳(例如

代码语言:javascript
复制
CREATE TABLE user_data (
user_id TEXT,
log_day TEXT, -- store as 'yyyymmdd' string
log_timestamp TIMESTAMP,
data_item TEXT,
PRIMARY KEY ((user_id, log_day), log_timestamp));

代码语言:javascript
复制
CREATE TABLE user_data (
user_id TEXT,
log_day TIMESTAMP, -- store as (timestamp-in-milli - (timestamp-in-mills mod 86400)
log_timestamp TIMESTAMP,
data_item TEXT,
PRIMARY KEY ((user_id, log_day), log_timestamp));
EN

回答 2

Stack Overflow用户

发布于 2013-07-05 07:46:55

关于您的列键"log_timestamp":如果您正在使用多个编写客户机--我建议这样做,因为否则您可能无法接近像C*这样的分布式写优化数据库中的可能吞吐量--您应该考虑使用时间而不是时间戳,因为它们是无冲突的(假设MAC地址是唯一的)。否则,您必须保证不会同时发生两个插入,否则您将丢失此数据。您可以在TimeUUID和其他基于时间的操作上执行列切片查询。

票数 1
EN

Stack Overflow用户

发布于 2013-05-23 12:32:09

我会在任何一种格式上使用unix时间 (即1234567890) --指向一整天,您只需在00:00使用时间戳。

但是,我非常推荐在DataStax开发博客上阅读DataStax。它涵盖了在您的模型中需要考虑的一些重要事项,涉及到斗/分。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16709874

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档