1

センサーの時系列データをcassandraに保存するには?

ここで私はパフォーマンスをチェックしました

10000 の時系列データ データを持つ cassandra 複合 columnfamily 単一行キーでは、クエリ: 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

時系列モデルはどれ?

他のより良い方法!私のパフォーマンスを上げるために

4

1 に答える 1

2

あなたの問題はデータモデルではないと思います(前の質問で提案した)..

簡単な答え: limitを使用しないでください。

どの 5000 行が結果セットとして返されるかを決定するための協調作業を制限します。これにより、パフォーマンスが大幅に低下します。

結果の数を制限する必要がある場合は、WHERE 句 (列スライス) を使用します。それらは各ノードで個別に評価できます-「制限」の反対です!

また、このフォローアップに対する以前の質問に答えたと思います。それが有用であると判断した場合(およびその場合にのみ)、それに応じて回答をマークする場合にのみ公平です。ありがとう。

于 2013-08-02T13:44:02.797 に答える