времени
2. Ось - id грубо говоря акции
3. Ось - название поля (цена, цена открытия, цена закрытия)
4. Ось - resolution (по определенным причинам нужно их хранить раздельно, можете считать это просто категориальным признаком)
cardinaliry оси 1 - сотни-тысяч - единицы миллионов
cardinality оси 2 - порядка 200-300 тысяс
cardinality оси 3 - меньше тысячи (сотни)
cardinality оси 4 - около десятка
Значения - integer, float, string, зависит от оси (3)
Нужно придумать схему хранения в clickhouse, с учетом ее сильных и слабых сторон
Судя по всему, заводить отдельную табличку на каждое значение оси (4) - хорошая идея, отлично, минус одно измерение
Дальше можно ось (3) развернуть в колонки - отлично, минус еще одно измерение
Остаются ось времени и ось инструмента, их я не понимаю как разложить правильно
Складывать тройками (timestamp, security_id, value)?
мне кажется что неплохим вариантом для начала будет таблица security_id time field_1 field_2 ...т.е. "широкая" таблица с типизированной схемой, если у вас количество полей более менее стабильная величина. date(time) добавить в mergetree в то место, где требуется дата, и (security_id, time) в ключ.
Обсуждают сегодня