Size: a a a

ClickHouse не тормозит

2020 August 15

D

Dj in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
И была проблема со сменой паролей
ок, а если включить её когда в distributed папке есть бины, они допосылаются после рестарта? или руками надо будет перекинуть?
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Dj
ок, а если включить её когда в distributed папке есть бины, они допосылаются после рестарта? или руками надо будет перекинуть?
Это не знаю
источник

MK

Maxim Kniazkov in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
TTL парезаписывает весь парт целиком. Это очень тяжелая операция. Смысл ее делать чаще. Вот молотили диск 2 часа и можно снова начинать потому что опять записи устарели и снова мержить 2 часа.  

Вы чего хотели-то? Все намного проще делается
Хотел так: события падают в мерджетрее таблицу. Но она не помещается на диск. Поэтому ее предагрегировать, и складывать предагрегированную события в другую таблицу. А первую подчищать
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Maxim Kniazkov
Хотел так: события падают в мерджетрее таблицу. Но она не помещается на диск. Поэтому ее предагрегировать, и складывать предагрегированную события в другую таблицу. А первую подчищать
Я вам намекал уже на engine=Null
источник

MK

Maxim Kniazkov in ClickHouse не тормозит
Да, но я тупой. Можно, как-то поразвернутей намекнуть, плиз
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Maxim Kniazkov
Да, но я тупой. Можно, как-то поразвернутей намекнуть, плиз
Вам первая таблица вообще нужна? Селекты из нее делаются? Или только агрегированная нужна?

MV это триигер и он получает данные от команды insert поэтому у первой таблицы можно сделать engine=Null и все будет работать.
источник

MK

Maxim Kniazkov in ClickHouse не тормозит
Первая типа приемник, сама по себе не нужна
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Maxim Kniazkov
Первая типа приемник, сама по себе не нужна
Ну вот замените ее движок просто на Null
источник

MK

Maxim Kniazkov in ClickHouse не тормозит
Спасибо!
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
И можно использовать input  function будет тоже самое только текст агрегации можно вписать в insert и не создавать mv
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
И тогда инсертить прямо в агрегированную таблицу
источник

AB

Artem Bochkov in ClickHouse не тормозит
Всем привет.
Регулярно возникает проблема с переименованием таблиц.

Есть CH версии 20.5.4. Есть таблица MergeTree. В неё каждый час загружается текущее состояние данных из mysql - таблица выгружается полностью, так как по ней в мускуле идёт большое количество апдейтов.
Чтобы для пользователей кликхауса таблица не моргала, скрипт перегрузки данных делает вот так:
1) Данные из TSV грузит в {table}_new;
2) Как только данные влились, делает рокировку: RENAME TABLE  {table} TO {table}_old, {table}_new TO {table};
3) DROP TABLE {table}_old;
Проблема в том, что по факту в 2/3 случаев получается очень плохо:
- целевая таблица мигает - исчезает на сотни секунд;
- иногда вообще валится ошибка WRITE locking attempt on "{table}_new" has timed out! (120000ms) Possible deadlock avoided. Client should retry. IN:RENAME TABLE {table} TO {table}_old, {table}_new TO {table}

Увеление lock_acquire_timeout ни к чему не привело - в большей части случаев RENAME всё равно не успевает выполниться, плюс целевая таблица оказывается невидна на время куполнения RENAME.
Судя по system.query_log у нас нет запросов, которые выполнялись бы более 30 секунд.
Сама по себе таблица, на которой происходит проблема - небольшая, буквально 20ГБ в Clickhouse.

Собственно вопросы:
1) Что можно еще попробовать, чтобы решить проблемы с а)  видимостью таблицы во время RENAME б) больщим временем выполнения RENAME?
2) Возможно, схема с RENAME  TABLE вообще не рабочая, и не надо пытаться сейчас реашать проблему из предыдущего пункта, а есть работающие устоявшиеся практики для полной перегрузки таблиц?
источник

K

Kos in ClickHouse не тормозит
скажите пожалуйста, что значит
PARTITION BY tuple()
источник

pk

papa karlo in ClickHouse не тормозит
значит одну партицию на таблицу
источник

K

Kos in ClickHouse не тормозит
спасибо!
источник
2020 August 16

DC

Denny Crane (I don't... in ClickHouse не тормозит
Artem Bochkov
Всем привет.
Регулярно возникает проблема с переименованием таблиц.

Есть CH версии 20.5.4. Есть таблица MergeTree. В неё каждый час загружается текущее состояние данных из mysql - таблица выгружается полностью, так как по ней в мускуле идёт большое количество апдейтов.
Чтобы для пользователей кликхауса таблица не моргала, скрипт перегрузки данных делает вот так:
1) Данные из TSV грузит в {table}_new;
2) Как только данные влились, делает рокировку: RENAME TABLE  {table} TO {table}_old, {table}_new TO {table};
3) DROP TABLE {table}_old;
Проблема в том, что по факту в 2/3 случаев получается очень плохо:
- целевая таблица мигает - исчезает на сотни секунд;
- иногда вообще валится ошибка WRITE locking attempt on "{table}_new" has timed out! (120000ms) Possible deadlock avoided. Client should retry. IN:RENAME TABLE {table} TO {table}_old, {table}_new TO {table}

Увеление lock_acquire_timeout ни к чему не привело - в большей части случаев RENAME всё равно не успевает выполниться, плюс целевая таблица оказывается невидна на время куполнения RENAME.
Судя по system.query_log у нас нет запросов, которые выполнялись бы более 30 секунд.
Сама по себе таблица, на которой происходит проблема - небольшая, буквально 20ГБ в Clickhouse.

Собственно вопросы:
1) Что можно еще попробовать, чтобы решить проблемы с а)  видимостью таблицы во время RENAME б) больщим временем выполнения RENAME?
2) Возможно, схема с RENAME  TABLE вообще не рабочая, и не надо пытаться сейчас реашать проблему из предыдущего пункта, а есть работающие устоявшиеся практики для полной перегрузки таблиц?
попробуйте alter table ... replace partition ... from ...

https://gist.github.com/den-crane/521975b5333c5dc7059bed4030f62f94

до 19.14 rename был атомарный (с global lock) и ваша схема работала, но иногда это приводило к дедлоку с зависанием КХ, сейчас пилится Engine=Atomic, но видимо еще не готов.
источник

ML

Mimik Lamerger in ClickHouse не тормозит
Всем доброго дня, скажите а в чем циммес: при селектах UUID принимается нормально в where при инсертах, тоже, но вот при update надо toUUID это как ??? =)))
источник

EV

Evgeny Vinogradov in ClickHouse не тормозит
Mimik Lamerger
Всем доброго дня, скажите а в чем циммес: при селектах UUID принимается нормально в where при инсертах, тоже, но вот при update надо toUUID это как ??? =)))
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Mimik Lamerger
Всем доброго дня, скажите а в чем циммес: при селектах UUID принимается нормально в where при инсертах, тоже, но вот при update надо toUUID это как ??? =)))
скорее всего просто не доделано
источник

ML

Mimik Lamerger in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
скорее всего просто не доделано
Да, вероятно, ибо на гите есть об этом еще в 18году
источник