айдишники) данные о событии, а есть динамичные (только числовые).
Хочется поместить все данные в одну таблицу, динамичные данные просто обновлять с помощью добавления новых строк + используя движок summingmergetree.
Но событий очень много, следовательно и обновлять динамичные данные придется часто.
А чтобы динамику вставить в таблицу, надо добавлять её вместе со статикой, чтобы статика при слиянии summingmergetree не потерялась. Следовательно встала проблема как эту статику вытаскивать быстрее всего. Если вытаскивать из кликхауса, то это будет очень медленно (т.к. point queries).
Что можете посоветовать в данном кейсе?
У меня пока только мысли появились в сторону создать materialized view, где будет index_granularity занижен и делать point queries (но это антипаттерн и хз сколько запросов эта система выдержит)
Что значит статические? Сколько их? Это дименшины? Тогда external dictionary
Мало выдержит. Тыщу в секунду может, может 5 тыщ. Там проблема из-за блоков компрессии и вообще кх не приспособлен для такого
а блоки нельзя уменьшить?
https://kb.altinity.com/engines/altinity-kb-embeddedrocksdb-and-dictionary/
тыщу в секунду selectов на summingMT?
пример строки: статика: datetime, campaign_id, key (уникальный), lang, country и еще порядка 10 строк различных (некоторые из них в словари не запишешь) динамика: cost, event, payout и еще подобных штук 10 так вот чтобы мне например изменить payout, то я добавляю всю строку целиком, а для payout добавляю разницу с предыдущим значением
Причем тут самминг. Вообще не про эту таблицу речь была?
В ETL до втставки в кх надо такое делать
ну там человек написал, что вроде хочет самминг использовать и как я понял писать в нее через МВ. мой вопрос про "тыщу" Тыщу селектов выдержит или чего?
Вот тут тесты с direct словарем https://kb.altinity.com/engines/altinity-kb-embeddedrocksdb-and-dictionary/ все числа видны. Там был nvme
а можете пояснить как это? Как я понял, это где-то в другой key-value БД иметь мою строку, оттуда ее быстро достать и уже потом вставить в КХ
Да. MySQL redis Cassandra
ну то есть система сразу х2 памяти потребует если не больше) печально, но куда деваться
Обсуждают сегодня