时间序列数据读取性能

时间:2013-08-02 07:32:51

标签: database-design nosql cassandra hector phpcassa

如何将传感器时间序列数据存储到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

哪一个是时间序列模型?

还有其他更好的方法!提高我的表现

1 个答案:

答案 0 :(得分:2)

我不认为您的问题不是数据模型(我在上一个问题中建议的那样)。

简单回答: 使用限制

限制一致的努力来决定将WHICH 5000行作为结果集返回。这将导致严重的性能下降。

如果需要限制结果数,请使用WHERE子句(列切片)。它们可以由每个节点单独评估 - “极限”的对比度!

此外,我想我已回答your previous question此后续行动。如果您相应地标记答案,如果(并且仅当)您发现它有用,那将是公平的。感谢。