Size: a a a

ClickHouse не тормозит

2020 June 01

D

Dmitry Koreckiy in ClickHouse не тормозит
и сответственно результат того что происходит если это делать по всей таблице 🙂

это не учитывая что должны протекать фоновые процессы
источник

DT

Dmitry Titov in ClickHouse не тормозит
Dmitry Koreckiy
и сответственно результат того что происходит если это делать по всей таблице 🙂

это не учитывая что должны протекать фоновые процессы
и сответственно результат того что происходит если это делать по всей таблице 🙂
можно запрос показать?
источник

D

Dmitry Koreckiy in ClickHouse не тормозит
именно сам запрос увы нет
долбаное NDA но могу пример накидать
источник

DT

Dmitry Titov in ClickHouse не тормозит
ну, да речь о примере
источник

DT

Dmitry Titov in ClickHouse не тормозит
просто я бы допустим(из грубого описания) заменил движок на summing или агрегейтинг и добавил бы столбец(таймштамп, номер батча), по которому бы отсекал всех тех, кто не обновился
источник

D

Dmitry Koreckiy in ClickHouse не тормозит
Схлопывать данные в динамике нельзя, нужны для других процессов

SELECT
 field1,
 field2,
 field3,
 sum(p1) as m,
 sum(p2) as m2,
 if(m + m2 > 0, 1, -1) as isVisible
FROM table
group by field1, field2, field3
LIMIT 18000000, 30000
источник

DT

Dmitry Titov in ClickHouse не тормозит
и запросы были бы вида
select key, sum(val) FROM summing GROUP BY key HAVING max(updated_at) > now() - INTERVAL 1 HOUR
источник

S

Slach in ClickHouse не тормозит
Народ, а подскажите кто нибудь

Народ, помогите

у меня кластер с 2 хостами \ репликами
я пытаюсь сделать следующий тестовый сценарий:
- успешно создаю таблицы CREATE TABLE default.test(event_time DateTime, test UInt64) ON CLUSTER "all-replicated" ENGINE MergreTree() ORDER BY tuple() + CREATE TABLE default.test_distr(event_time DateTime, test UInt64) ON CLUSTER "all-replicated" ENGINE Distributed("all-replicated", default, test, test) - четвертый параметр подразумевает, что данные через distributed таблицу должны вставляться поровну в каждый хост кластера

- стопаю сервер на 1м хосте
- успешно вставляю данные  INSERT INTO default.test_distr ...  на втором хосте
- я ожидаю что у меня увеличиться значение  DistributedFilesToInsert в system.metrics на втором хосте
и что default.test MergeTree будет иметь только половину данных, но вместо этого я вижу что в distributed таблице данных столько же сколько в merge tree и никаких ошибок связанных с distributed connection

что я делаю не так?
источник

D

Dmitry Koreckiy in ClickHouse не тормозит
Dmitry Koreckiy
Схлопывать данные в динамике нельзя, нужны для других процессов

SELECT
 field1,
 field2,
 field3,
 sum(p1) as m,
 sum(p2) as m2,
 if(m + m2 > 0, 1, -1) as isVisible
FROM table
group by field1, field2, field3
LIMIT 18000000, 30000
30000 в лимите не спроста 🙂
источник

S

Slach in ClickHouse не тормозит
Dmitry Koreckiy
Схлопывать данные в динамике нельзя, нужны для других процессов

SELECT
 field1,
 field2,
 field3,
 sum(p1) as m,
 sum(p2) as m2,
 if(m + m2 > 0, 1, -1) as isVisible
FROM table
group by field1, field2, field3
LIMIT 18000000, 30000
отдельный AggregatedMergeTree Materialized VIew вам не поможет?
источник

YA

Yuri Alexandrovich in ClickHouse не тормозит
Yuri Alexandrovich, [31.05.20 21:13]
можно ли как-нибудь узнать сколько будут весить данные, которые отдаются КХ по запросу?
источник

DT

Dmitry Titov in ClickHouse не тормозит
Slach
Народ, а подскажите кто нибудь

Народ, помогите

у меня кластер с 2 хостами \ репликами
я пытаюсь сделать следующий тестовый сценарий:
- успешно создаю таблицы CREATE TABLE default.test(event_time DateTime, test UInt64) ON CLUSTER "all-replicated" ENGINE MergreTree() ORDER BY tuple() + CREATE TABLE default.test_distr(event_time DateTime, test UInt64) ON CLUSTER "all-replicated" ENGINE Distributed("all-replicated", default, test, test) - четвертый параметр подразумевает, что данные через distributed таблицу должны вставляться поровну в каждый хост кластера

- стопаю сервер на 1м хосте
- успешно вставляю данные  INSERT INTO default.test_distr ...  на втором хосте
- я ожидаю что у меня увеличиться значение  DistributedFilesToInsert в system.metrics на втором хосте
и что default.test MergeTree будет иметь только половину данных, но вместо этого я вижу что в distributed таблице данных столько же сколько в merge tree и никаких ошибок связанных с distributed connection

что я делаю не так?
те хочешь воcпользоватся  internal_replication='false'?
источник

DT

Dmitry Titov in ClickHouse не тормозит
Dmitry Koreckiy
Схлопывать данные в динамике нельзя, нужны для других процессов

SELECT
 field1,
 field2,
 field3,
 sum(p1) as m,
 sum(p2) as m2,
 if(m + m2 > 0, 1, -1) as isVisible
FROM table
group by field1, field2, field3
LIMIT 18000000, 30000
LIMIT 18000000, 30000

вот же виновник
источник

DT

Dmitry Titov in ClickHouse не тормозит
он сначала все группирует а потом пропускает 18млн ключей и достает жалкие 30к
источник

D

Dmitry Koreckiy in ClickHouse не тормозит
Dmitry Titov
LIMIT 18000000, 30000

вот же виновник
да весь этот запрос виновник моих бессонных ночей)
источник

DT

Dmitry Titov in ClickHouse не тормозит
В общем, я бы попробовал сделать, как я предложил
источник

DT

Dmitry Titov in ClickHouse не тормозит
замена tmp2 на таблицу c summing agregating движком
но можно и просто ваш запрос чутка улучшить
источник

DT

Dmitry Titov in ClickHouse не тормозит
Dmitry Koreckiy
да весь этот запрос виновник моих бессонных ночей)
вы не можете/хотите забирать больше 30к за раз?
источник

D

Dmitry Koreckiy in ClickHouse не тормозит
не можем
источник

DT

Dmitry Titov in ClickHouse не тормозит
сколько у вас юников?
источник