Cassandra表设计历史状态信息

时间:2015-04-01 16:13:16

标签: cassandra

我的要求是设计一个历史状态信息表(不完全是时间序列)。例如:我有连接和断开管理平台的设备。我想知道在给定时间间隔(开始和结束时间)连接到管理平台的所有设备的详细信息(名称,mac地址,操作系统,图像等)。

有关此用例的表设计的任何帮助吗?

1 个答案:

答案 0 :(得分:1)

如果您只是想知道它是否在间隔期间连接,这应该采用传统的时间序列方法:

create table device_state(
deviceid,
timeofevent,
state,
details,
PRIMARY KEY (deviceid, timeofevent, state)

select details from device_state 
  where timeofevent > '2001-01-01 12:01:01.000' 
  and timeofevent < '2001-01-01 12:15:59.000' 
  and state = 'CONNECTED';

如果您想知道设备是否一直连接,您可能需要实现一些客户端逻辑。