Size: a a a

ClickHouse не тормозит

2020 July 31

DC

Denny Crane (I don't... in ClickHouse не тормозит
MicrochipQ
Всем привет! Может кто сталкивался с этой проблемой - есть задача дополнять Nullable колонки, допустим есть таблица (id UInt8, foo Nullable(UInt8), bar Nullable(UInt8)). Есть первый insert в таблицу - (0, 3, NULL), и второй (0, NULL, 9). Можно ли как-то смержить обе строки по одинаковому ID, но чтобы получилась в итоге одна строка - (0, 3, 9)?
На данный момент делаю это через выборку существующей строки, беру оттуда все данные, и вставляю уже с дополненными данными в таблицу движка ReplacingMergeTree, вот только это медленно
каждый из 4000 человек в этом чате сталкивался с этой проблемой. И все как-то ее решили. Хорошего решения нет.

Можно либо не вставлять в КХ пока нету всех данных, можно записывать в collapsing / replacing при приходе новых данных запоминая состояние где-то в другой базе, mysql / cassandra ..., можно выбирать использовать aggregatingMT и как-то им вычислять, но тоже не быстро это https://gist.github.com/den-crane/d03524eadbbce0bafa528101afa8f794 .
источник

S

Slach in ClickHouse не тормозит
Mikhail Khotko
И в неё можно фигачить 20к рпс, а оно потом само пачки разрулит?
не будет оно 20k RPS держать
сотни RPS да, десятки тысяч врятли, но можете попробовать побенчмаркать,

пачки оно эффективно разруливает да. если буфер достаточного размера, чтобы не плодить много кусков system.parts
но при перегрузке сервера данные теряются

если у вас уже есть буффер и он надежный (то есть реально не теряет данные), вам не нужны Buffer таблицы, пустая трата времени

если видите что ваш буффер данные теряет и не можете разобраться
то да, Buffer таблица может помочь
только  используйте постоянные соединения с clickhouse, чтобы у вас 20k rps по пулу в 100 TCP коннектов ходил
источник

НМ

Никита Макушников... in ClickHouse не тормозит
Всем привет! В clickhouse имеется движок таблиц s3, который во многом похож на движок file? То есть clickhouse выгружает данные на s3 в указанном формате (csv, tabseparated, native и так далее) и работает с ним по аналогии с тем, как таблица на движке File работала бы с локальным файлом?
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Никита Макушников
Всем привет! В clickhouse имеется движок таблиц s3, который во многом похож на движок file? То есть clickhouse выгружает данные на s3 в указанном формате (csv, tabseparated, native и так далее) и работает с ним по аналогии с тем, как таблица на движке File работала бы с локальным файлом?
да
источник

НМ

Никита Макушников... in ClickHouse не тормозит
Спасибо
источник

DV

Dmitry Vasiliev in ClickHouse не тормозит
optimize table ttt final;

OPTIMIZE TABLE tt FINAL

Timeout exceeded while receiving data from server. Waited for 300 seconds, timeout is 300 seconds.
Cancelling query.
Ok.
Query was cancelled.

0 rows in set. Elapsed: 566.146 sec.


объясните пожалуйста, optimize прошел или нет?
источник

U

Ugly in ClickHouse не тормозит
а разве отмена запроса не означает что процесс был прерван?
источник

DV

Dmitry Vasiliev in ClickHouse не тормозит
Ugly
а разве отмена запроса не означает что процесс был прерван?
“ddl” не может быть отменен
источник

DV

Dmitry Vasiliev in ClickHouse не тормозит
Timeout exceeded while receiving data from server. Waited for 300 seconds, timeout is 300 seconds.
Cancelling query.

это ожидаемо на любую долгую “ddl” операцию насколько понимаю
источник

DV

Dmitry Vasiliev in ClickHouse не тормозит
Query was cancelled.
а вот это не понятно
источник

U

Ugly in ClickHouse не тормозит
0 rows in set.
источник

U

Ugly in ClickHouse не тормозит
это вроде бы говорит что ничего не было сделано, ибо отменилось. подожду тоже опытных клихаусоводов)
источник

DV

Dmitry Vasiliev in ClickHouse не тормозит
Ugly
0 rows in set.
optimize table ttt final;

OPTIMIZE TABLE ttt FINAL

Ok.

0 rows in set. Elapsed: 238.029 sec.
это обычный ответ на optimize
источник

VM

Vadim Metikov in ClickHouse не тормозит
Оптимайз доработает, не хотите разрывов, запускайте клиента так: clickhouse-client —receive_timeout=86400
источник

DV

Dmitry Vasiliev in ClickHouse не тормозит
Vadim Metikov
Оптимайз доработает, не хотите разрывов, запускайте клиента так: clickhouse-client —receive_timeout=86400
Timeout exceeded while receiving data from server. Waited for 300 seconds, timeout is 300 seconds.
Cancelling query.
Ok.
Query was cancelled.

0 rows in set. Elapsed: 566.146 sec.
источник

DV

Dmitry Vasiliev in ClickHouse не тормозит
в данном случае он доработал или нет?
источник

VM

Vadim Metikov in ClickHouse не тормозит
Да, если это оптимайз, можно прервать по Ctrl+C
и подключившись повторно, увидеть свой мердж, например, так:
select table,floor(elapsed,2) as elapse,floor(progress,2) as progre,floor((elapsed/progress)*(1-progress),2) as estimate,result_part_name, num_parts as n from system.merges order by estimate asc;
источник

АА

Алексей Артамонов... in ClickHouse не тормозит
@den_crane привет. У меня возник такой вопрос: после взлома у меня реплики различаются по количеству данных, ты говорил что надо проделать процедуру восстановления, но мне @dj_mixer посоветовал вариант с созданием рядом таблички скажем с префиксом table_new туда залить данные и потом старую дропнуть или переименовать в table_old, а table_new переименовать в table. что посоветуешь ?
источник

S

Slach in ClickHouse не тормозит
Алексей Артамонов
@den_crane привет. У меня возник такой вопрос: после взлома у меня реплики различаются по количеству данных, ты говорил что надо проделать процедуру восстановления, но мне @dj_mixer посоветовал вариант с созданием рядом таблички скажем с префиксом table_new туда залить данные и потом старую дропнуть или переименовать в table_old, а table_new переименовать в table. что посоветуешь ?
сервак то после взлома с нуля переставили? ;) или надеетесь что взлом не повториться?
источник

K

Kid in ClickHouse не тормозит
Slach
сервак то после взлома с нуля переставили? ;) или надеетесь что взлом не повториться?
у него ЗК был открыт для всех
источник