Производительность чтения данных временных рядов

Как сохранить данные временных рядов датчика в кассандре?

Здесь я проверил производительность

В cassandra составной столбец семейный однострочный ключ, имеющий 10000 данных временных рядов, как, например: query: select * from deviceidcomposite где did='Dev001' limit 5000

Случай 1:

Дэвид (ключ строки)

   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

какая модель серии timeseries?

Любой другой лучший способ! повысить мою производительность

1 ответ

Решение

Я не думаю, что ваша проблема не в модели данных (что я предложил в вашем предыдущем вопросе)..

Простой ответ: не используйте лимит!

Ограничьте согласованные усилия, чтобы решить, КАКОЕ 5000 строк будет возвращено в качестве набора результатов. Это приведет к серьезному снижению производительности.

Если вам нужно ограничить количество результатов, используйте предложение WHERE (срезы столбцов). Они могут оцениваться каждым узлом индивидуально - в противоположность "пределу"!

Кроме того, я думаю, что я ответил на ваш предыдущий вопрос к этому продолжению. Было бы справедливо, если бы вы пометили ответ соответствующим образом, если (и только если) вы сочли его полезным. Благодарю.

Другие вопросы по тегам