我想为用户点设计一个系统。该系统的主要两点是点和日志。
我想使用Cassandra来存储数据。两个原因:
基本数据结构:
// row
name: user_id,
values: {
point: {
name: point,
values: 1000
},
log: {
name: log,
values: {
log_timestamp: {
name: timestamp,
values: xxxx
},
log_timestamp: {
name: timestamp,
values: xxxx
},
log_timestamp: {
name: timestamp,
values: xxxx
},
……
}
}
}
我的问题是:
如果日志太多了会有问题吗?
答案 0 :(得分:1)
@lifei
你想要的是一个表格:
创建这样的表确实非常容易:
CREATE TABLE logs
(
userId: int,
log_timestamp long, //timestamp
value text,
PRIMARY KEY (userId,log_timestamp)
);
它是一个群集实体(宽行),最多有2亿个log_timestamp / value对。
对于点计数器,不幸的是你必须创建另一个列族来存储它,因为Cassandra不允许将计数器值与其他类型混合。