2013-09-11 3 views
0

В настоящее время я работаю над poc для моделирования данных временных рядов.Моделирование временных рядов данных с помощью тегов

исходной структуры DataPoint: - название датчика: 192.168.1.1:readCount - метка времени - значение

Я использую имя датчика, как ROWID, метка времени, как идентификатор столбца. Этот подход работает очень хорошо.

Однако я хочу добавить теги, чтобы добавить дополнительные данные.

public class Datapoint { 
    public String metricName; 
    public long timestampMs; 
    public long value; 
    public Map<String, String> tags = new HashMap<String, String>(); 
} 

Datapoint datapoint = new Datapoint(); 
datapoint.metricName = "IMap.readCount"; 
datapoint.value = 10; 
datapoint.timestampMs = System.currentTimeMillis(); 
datapoint.tags.put("cluster", "dev"); 
datapoint.tags.put("member", "192.168.1.1:5701"); 
datapoint.tags.put("id", "map1"); 
datapoint.tags.put("company", "Foobar"); 

Я хочу, чтобы использовать его, чтобы сказать: - агрегировать все показатели для всех различных машин с одинаковыми идентификаторами. Например. если машина 1 имеет 10 записей для mapx, а machine2 сделал 20 записей для mapx, я хочу знать, что 30. - совокупные показатели для всех карт: если машина 1 сделала 20 записей на mapx и 30 пишет на mapy, я хочу знаю в общей сложности 50.

Вопрос в том, как я должен моделировать это.

Я знаю, что композит может использоваться для идентификатора столбца. Поэтому теоретически я могу добавить каждый тег в качестве элемента в этом композите. Но можно ли эффективно искать столбец, когда он имеет переменное количество элементов в составном?

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

+0

Я готов отказаться от гибкой теги кстати. Наличие кучи фиксированных тегов, таких как член, кластер, компания и идентификатор, будет достаточно хорошим (я надеюсь). – pveentjer

ответ

0

@pveentjer

«Я знаю, что композит может быть использован для идентификатора столбца. Таким образом, в теории я мог бы добавить каждую метку в качестве одного из элементов такого композита. Но может быть столбец эффективно искать, когда его имеет переменное количество элементов в композите? "

Есть некоторые правила и ограничения при использовании нескольких композитов, прочитать here и here

Для CQL3, существуют дополнительные ограничения, прочитать here

Смежные вопросы