Модель данных Кассандры для временных рядов

Я работаю над моделью данных Cassandra для хранения временных рядов (я новичок Cassandra). У меня есть два приложения: внутридневные складские данные и данные датчиков.

Данные о запасах будут сохранены с временным разрешением в одну минуту. Семь полей данных строят один таймфрейм: символ, дата / время, открытый, высокий, низкий, закрытый, объем

Я буду запрашивать данные в основном по символу и дате. например предоставьте мне все данные для AAPL в период с 2013-01-01 по 2013-01-31, заказанные Datetime. Рекомендация для запросов cassandra - запрашивать целые столбцы. Таким образом, вы можете создать пять строк с помощью клавиш Открыть, Высокий, Низкий, Закрыть, Громкость. И для каждого символа и минуты свой столбец. Например. "AAPL: 2013-01-04T130400Z". Это приведет к таблице из пяти строк и n * NT столбцов, где n = количество символов, nT = количество минут. Большую часть времени я буду запрашивать диапазоны дат. То есть все минуты дня. Таким образом, я мог бы переупорядочить данные, чтобы иметь столбцы с именем «AAPL: 2013-01-04» и строки: OpenT130400Z, HighT130400Z, LowT130400Z, CloseT130400Z, VolumeT130400Z. В результате получается таблица с n * nD столбцами (n: количество символов, nD: количество дней) и 5 * nM строк (нМ: количество минут / записей в день).

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

Я нашел описание, как обращаться с данными временных рядов в Кассандре здесьhttp://www.datastax.com/dev/blog/advanced-time-series-with-cassandra Но я не совсем понимаю, если они используют час (1332960000) в качестве имени столбца или в качестве ключа строки !? Я понял, что они используют час как ключ строки и имеют маленькие временные шаги в качестве столбцов. Таким образом, они будут иметь фиксированный номер столбца. Но у этого были бы недостатки в чтении, потому что я должен был бы сделать запрос диапазона на ключах! Я прав?

Второй вопрос: если у меня есть данные датчиков, которые гораздо более детализированы, чем данные запаса за 1 минуту (скажем, мне нужно сохранить временные шаги с разрешением в микросекунды), как бы я справился с этим? Если я буду использовать столбцы для сохранения составной части канала датчика и часов, а также строк для микросекунд с последнего часа, это приведет к 3 600 000 000 строк и столбцам n * nH (n: количество датчиков, nH: количество часов). Я не мог использовать микросекунды с последнего часа для столбцов, потому что у меня есть 3,6 миллиарда точек, что превышает допустимое количество в 2 миллиарда столбцов.

Я получил это? Что вы думаете об этой проблеме? Как это решить?

Спасибо!

Бест, Мальте

Ответы на вопрос(1)

Ваш ответ на вопрос