Size: a a a

ClickHouse не тормозит

2021 January 26

S

Slach in ClickHouse не тормозит
Taika Tytto
Добрый день

Столкнулись с проблемой в клике, не смог найти в ишью трекере ничего подходящего, если никто подобное не видел, то буду заводить ишью, но нужен коллективный опыт )

Есть таблица (Т) в которую заливает матвью из кафка (К) движка (М1) и есть другой матвью (М2) , который смотрит в таблицу (Т),
то при создании (М2) есть ошибка (в моем кейсе была ошибка в селекте) , и она не помешает создать (М2), и такая сломанная вьюха ломает через (Т) её матьвю (М1) из залив из кафки (К) в (М1).

Удаление М2 решает проблему. (версия 20.5.3.27)
что значит М2 смотрит в Т?
в смысле делает INSERT в T или SELECT из Т?
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Taika Tytto
Добрый день

Столкнулись с проблемой в клике, не смог найти в ишью трекере ничего подходящего, если никто подобное не видел, то буду заводить ишью, но нужен коллективный опыт )

Есть таблица (Т) в которую заливает матвью из кафка (К) движка (М1) и есть другой матвью (М2) , который смотрит в таблицу (Т),
то при создании (М2) есть ошибка (в моем кейсе была ошибка в селекте) , и она не помешает создать (М2), и такая сломанная вьюха ломает через (Т) её матьвю (М1) из залив из кафки (К) в (М1).

Удаление М2 решает проблему. (версия 20.5.3.27)
путано объяснено.

ошибка в каскадирующем MV ломает инсерты в основную таблицу?
да, так и задумано
источник

S

Slach in ClickHouse не тормозит
Taika Tytto
Добрый день

Столкнулись с проблемой в клике, не смог найти в ишью трекере ничего подходящего, если никто подобное не видел, то буду заводить ишью, но нужен коллективный опыт )

Есть таблица (Т) в которую заливает матвью из кафка (К) движка (М1) и есть другой матвью (М2) , который смотрит в таблицу (Т),
то при создании (М2) есть ошибка (в моем кейсе была ошибка в селекте) , и она не помешает создать (М2), и такая сломанная вьюха ломает через (Т) её матьвю (М1) из залив из кафки (К) в (М1).

Удаление М2 решает проблему. (версия 20.5.3.27)
что значит "ломает"? данные из кафки перестают заливаться? с какой ошибкой?
источник

TT

Taika Tytto in ClickHouse не тормозит
Slach
что значит "ломает"? данные из кафки перестают заливаться? с какой ошибкой?
Льются маленькие куски по непонятной логике, в кафке пропали все оффесты по группе, и нулевой лаг
источник

TT

Taika Tytto in ClickHouse не тормозит
Denny Crane [not a Yandex bot]
путано объяснено.

ошибка в каскадирующем MV ломает инсерты в основную таблицу?
да, так и задумано
Получается, что MV берет из результирующей таблицы, создана с ошибкой и ломает другую MV
источник

TT

Taika Tytto in ClickHouse не тормозит
Хотя эксплицитно они не были связаны
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
KiLEX 萊赫
при селекте считаются (и сразу записываются) только материальные поля если в колонке данных еще нет (например заполнение задним числом)
ничего не записывается при select-е. Ничем не отличаются default и materialized.
materialized поля не видны в * в insert into T(*) и в select *
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Taika Tytto
Получается, что MV берет из результирующей таблицы, создана с ошибкой и ломает другую MV
1 MV не читают таблицы.
2 MV читают данные из инсерта
3 MV каскадирующие могут сломать весь инсерт, могут половину

https://youtu.be/1LVJ_WcLgF8?t=7596

https://den-crane.github.io/Everything_you_should_know_about_materialized_views_commented.pdf
источник

S

Slach in ClickHouse не тормозит
Taika Tytto
Получается, что MV берет из результирующей таблицы, создана с ошибкой и ломает другую MV
что значит "создана с ошибкой"?
каскад данных у вас какой
Kafka -> M1 -> T -> M2 -> куда вставляет V2?

вы понимаете что MATERIALIZED VIEW это фактически AFTER INSERT TRIGGER ?
источник

TT

Taika Tytto in ClickHouse не тормозит
Denny Crane [not a Yandex bot]
1 MV не читают таблицы.
2 MV читают данные из инсерта
3 MV каскадирующие могут сломать весь инсерт, могут половину

https://youtu.be/1LVJ_WcLgF8?t=7596

https://den-crane.github.io/Everything_you_should_know_about_materialized_views_commented.pdf
Спасибо

1) Это не баг, это фича?
2) Если фича, в оффициальных доках я этого не мог увидеть? Смотрел после, ничего не нашел
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Taika Tytto
Спасибо

1) Это не баг, это фича?
2) Если фича, в оффициальных доках я этого не мог увидеть? Смотрел после, ничего не нашел
сходите по ссылкам, посмотрите видео, все понятно станет. Если не станет, приходите с вопросами, я еще одно видео запишу
источник

TT

Taika Tytto in ClickHouse не тормозит
Slach
что значит "создана с ошибкой"?
каскад данных у вас какой
Kafka -> M1 -> T -> M2 -> куда вставляет V2?

вы понимаете что MATERIALIZED VIEW это фактически AFTER INSERT TRIGGER ?
2021.01.25 16:33:19.362003 [ 46005 ] {} <Error> void DB::StorageKafka::threadFunc(): Code: 43, e.displayText() = DB::Exception: Illegal type AggregateFunction(max, Float64) of argument of function toUInt32: while pushing to view MV2: while write prefix to view MV1
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Taika Tytto
2021.01.25 16:33:19.362003 [ 46005 ] {} <Error> void DB::StorageKafka::threadFunc(): Code: 43, e.displayText() = DB::Exception: Illegal type AggregateFunction(max, Float64) of argument of function toUInt32: while pushing to view MV2: while write prefix to view MV1
без разницы какая ошибка случилась. Деление на 0, toomanyparts, отвал ЗК. Все будет одинаково.
источник

TT

Taika Tytto in ClickHouse не тормозит
Denny Crane [not a Yandex bot]
без разницы какая ошибка случилась. Деление на 0, toomanyparts, отвал ЗК. Все будет одинаково.
Да, я понимаю. Просто показываю что было конкретно
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Может записаться в основную таблицу, может не записаться , как повезет с блоками
источник

TT

Taika Tytto in ClickHouse не тормозит
Основная печаль в том, что

1) Можно создать такой МВ кривой, и он будет сидеть
2) Будет ломать весь инсерт, и очень неочевидным образом
3) Видно ошибку в логах, но *вне логов ничего не понятно, если не знаешь заранее, это конечно вкусовщина)
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
это настолько минорная проблема по сравнению со всем остальным ужасом, что тут даже не о чем говорить.
источник

S

Slach in ClickHouse не тормозит
Taika Tytto
2021.01.25 16:33:19.362003 [ 46005 ] {} <Error> void DB::StorageKafka::threadFunc(): Code: 43, e.displayText() = DB::Exception: Illegal type AggregateFunction(max, Float64) of argument of function toUInt32: while pushing to view MV2: while write prefix to view MV1
MV2 откуда делает SELECT ? из MV1?
и куда делает INSERT ?
источник

TT

Taika Tytto in ClickHouse не тормозит
Slach
MV2 откуда делает SELECT ? из MV1?
и куда делает INSERT ?
Делает селект из Т и кладет в Т2
источник

TT

Taika Tytto in ClickHouse не тормозит
MV напрямую не трогает
источник