данными, которые могут меняться каждый час (парсится статистика от партнеров). В кластере у нас 2 реплики, для этих таблиц используем движок ReplicatedMergeTree. Так вот после получения новых данных они пишутся во временную таблицу и потом через REPLACE PARTITION мы подменяем данные из временной таблицы в итоговую таблицу. Когда таких витрин стало много, стали замечать что запись в кластер начала притормаживаться, и запросы могут висеть по 100 секунд. Если зайти в show processlist когда все плохо то там в основном висят запросы с ALTER TABLE по REPLACE PARTITION.
Хочется понять правильный ли это юзкейс для КХ и какие здесь слабые места? ZK на отдельных серверах в кластере из 3-х реплик. Лимитов у него нет, JVM выделено 3Gb heapSize
По идее у вас не должно быть записи в тот момент, когда из временной таблицы делается replace partition. Это так?
Вот в это место и думаю, что возможно все. Там порядка 50 парсеров, в какой момент там все записывается и когда было инициировано перемещение партиции не понятно.
Обсуждают сегодня