如何将传感器时间序列数据存储到cassandra中?
这里我检查了性能
在cassandra复合columnfamily单行键中有10000个时间序列数据数据,如, 查询: select * from deviceidcomposite where did ='Dev001'limit 5000
案例1:
Devid(行键)
20120702105554 colname1=value
20120702105554 colname2=value
20120702105554 colname3=value
20120702105554 colname4=value
20120703105555 colname1=value
20120703105555 colname2=value
20120703105555 colname3=value
20120703105555 colname4=value
while we using cql3 to read single row key 5000 timeseries record it is taking nearly 3 min for 4 clumn
案例2:
标准列族
diviceidcolumname1(row key)
20120703105552=value
20120703105553=value
20120703105554=value
20120703105555=value
..
..
diviceidcolumname2(row key)
20120703105552=value
20120703105553=value
20120703105554=value
20120703105555=value
..
..
diviceidcolumname4(row key)
20120703105552=value
20120703105553=value
20120703105554=value
20120703105555=value
..
..
diviceidcolumname4(row key)
20120703105552=value
20120703105553=value
20120703105554=value
20120703105555=value
..
..
(20120703105552->y/m/d/HH/MM/Sec)
using thrift api reading data perticular column name value or whole column name value
for one day(5000 timeseries data)
one month
it is comparing with cql less amount if time it's taking
nearly it taking 2 min
in this method reading single column name for one month is reading Very quick
哪一个是时间序列模型?
还有其他更好的方法!提高我的表现
答案 0 :(得分:2)
我不认为您的问题不是数据模型(我在上一个问题中建议的那样)。
简单回答: 不使用限制!
限制一致的努力来决定将WHICH 5000行作为结果集返回。这将导致严重的性能下降。
如果需要限制结果数,请使用WHERE子句(列切片)。它们可以由每个节点单独评估 - “极限”的对比度!
此外,我想我已回答your previous question此后续行动。如果您相应地标记答案,如果(并且仅当)您发现它有用,那将是公平的。感谢。