我读到某处指示对于标准列族中有数千列的行,更好的设计将它们拆分成超级列,通过这样做,读取将非常有效,因为cassandra只需要加载并返回列下的列给定的超级列名称,而不是加载,并可能返回列的thoudsands.有人可以确认吗?
假设有10个设备(dev01,dev02,dev03..etc).
它以一定的间隔时间发送数据,我们收集这些数据,因此我们的数据模式是
dev01 :int
signalname :string
signaltime :date/time[with YY-MM-DD HHMMSS.mm]
Extradata :String
Run Code Online (Sandbox Code Playgroud)
我想将数据推送到cassandra,哪种方式最好存储这些数据?
我的查询就像,
1需要检索基于设备的当前日期数据,还是某个日期范围?
2 5设备当天数据?
我不确定将数据存储到cassadra中的以下方法是最佳模型
Standard columnfamily Name:signalname
row key :dev01
columnname :timeseries(20120801124204)[YYMMDD HHMMSS]
columnvalue :Json data
columnname :timeseries(20120801124205)[YYMMDD HHMMSS][next second data]
columnvalue :Json data
row key :dev02
columnname :timeseries(20120801124204)[YYMMDD HHMMSS]
columnvalue :Json data
columnname :timeseries(20120801124205)[YYMMDD HHMMSS][next second data]
columnvalue :Json data
Or
Super columnfamily :signalname
row key :Clientid1
supercolumnname :dev01
columnname :timeseries(20120801124204)[YYMMDD HHMMSS]
columnvalue :Json data
supercolumnname :dev02
columnname :timeseries(20120801124204)[YYMMDD HHMMSS]
columnvalue :Json data
row key …
Run Code Online (Sandbox Code Playgroud)