Size: a a a

ClickHouse не тормозит

2021 February 09

AS

Alexey Shcherbakov in ClickHouse не тормозит
спасибо, направление раскопок ясно )
источник

DG

Denis Glazachev in ClickHouse не тормозит
👍
источник

F

Fooboo in ClickHouse не тормозит
Добрый вечер!

У меня вопрос по GLOBAL IN:

Есть запрос:
SELECT *
FROM distributed_table
WHERE name IN (1, 2, 3)

И вопрос: что-то вообще изменится, если я IN заменю на GLOBAL IN?
Получится:
SELECT *
FROM distributed_table
WHERE name GLOBAL IN (1, 2, 3)

Заранее благодарю за ответ
источник

M

Mishanya in ClickHouse не тормозит
Fooboo
Добрый вечер!

У меня вопрос по GLOBAL IN:

Есть запрос:
SELECT *
FROM distributed_table
WHERE name IN (1, 2, 3)

И вопрос: что-то вообще изменится, если я IN заменю на GLOBAL IN?
Получится:
SELECT *
FROM distributed_table
WHERE name GLOBAL IN (1, 2, 3)

Заранее благодарю за ответ
в вашем варианте нет
источник

S

Slach in ClickHouse не тормозит
Fooboo
Добрый вечер!

У меня вопрос по GLOBAL IN:

Есть запрос:
SELECT *
FROM distributed_table
WHERE name IN (1, 2, 3)

И вопрос: что-то вообще изменится, если я IN заменю на GLOBAL IN?
Получится:
SELECT *
FROM distributed_table
WHERE name GLOBAL IN (1, 2, 3)

Заранее благодарю за ответ
таблицы потянутся полностью на ноду инициатор без фильтрации
не стоит так делать
https://clickhouse.tech/docs/en/sql-reference/operators/in/#select-distributed-subqueries
источник

M

Mishanya in ClickHouse не тормозит
если вы в ин передадите другой селект из дистрибутед таблицы, то первый вариант не отработает. Второй - да, только вы будете клеить, фильтровать результаты двух таблиц на одной машине
если вы в ин передидте локальную другую таблицу, то субвыборка будет распределена по шардам.
источник

F

Fooboo in ClickHouse не тормозит
Mishanya
если вы в ин передадите другой селект из дистрибутед таблицы, то первый вариант не отработает. Второй - да, только вы будете клеить, фильтровать результаты двух таблиц на одной машине
если вы в ин передидте локальную другую таблицу, то субвыборка будет распределена по шардам.
Про подзапрос да, в курсе. Вот хотел узнать, не повысится ли нагрузка, если за GLOBAL IN будет константный кортеж
источник

F

Fooboo in ClickHouse не тормозит
Все-равно все таблицы потянутся?
источник

M

Mishanya in ClickHouse не тормозит
Fooboo
Все-равно все таблицы потянутся?
по возможности кх попробует обработать ваше условие на удаленных серваках
источник

F

Fooboo in ClickHouse не тормозит
Mishanya
по возможности кх попробует обработать ваше условие на удаленных серваках
Понял, спасибо!
Резюмирую: если после IN стоит константный кортеж (не подзапрос), то IN можно заменить на GLOBAL IN без потери быстродействия
источник

S

Slach in ClickHouse не тормозит
Fooboo
Все-равно все таблицы потянутся?
в доке как то так выглядит

When using GLOBAL IN / GLOBAL JOINs, first all the subqueries are run for GLOBAL IN / GLOBAL JOINs, and the results are collected in temporary tables. Then the temporary tables are sent to each remote server, where the queries are run using this temporary data.
источник

F

Fooboo in ClickHouse не тормозит
Slach
в доке как то так выглядит

When using GLOBAL IN / GLOBAL JOINs, first all the subqueries are run for GLOBAL IN / GLOBAL JOINs, and the results are collected in temporary tables. Then the temporary tables are sent to each remote server, where the queries are run using this temporary data.
Да, это тоже прочитал. Но я прям сильно надеюсь, что разработчики такой случай предусмотрели и не станут посылать в таблицы запросы почем зря
источник

S

Slach in ClickHouse не тормозит
Fooboo
Да, это тоже прочитал. Но я прям сильно надеюсь, что разработчики такой случай предусмотрели и не станут посылать в таблицы запросы почем зря
остается сделать
в clickhouse-client
SET send_logs_level='trace';
выполнить запрос
и посмотреть что выдаваться будет
источник

DL

Dmitry Lukovkin in ClickHouse не тормозит
Добрый вечер. У нас проблема возникла при попытке TTL уменьшить на базе(реплика 2 ноды, zookeper на 5). Как пофиксить? Перезапустить репликацию?
источник

DT

Dmitry Titov in ClickHouse не тормозит
Dmitry Lukovkin
Добрый вечер. У нас проблема возникла при попытке TTL уменьшить на базе(реплика 2 ноды, zookeper на 5). Как пофиксить? Перезапустить репликацию?
SHOW CREATE TABLE ...
источник

GE

Grisha Egorov in ClickHouse не тормозит
ALTER же ON CLUSTER должен быть
источник

DL

Dmitry Lukovkin in ClickHouse не тормозит
Dmitry Titov
SHOW CREATE TABLE ...
Row 1:
──────
statement: CREATE TABLE logs.log
(
   srv Int32,
   port Int32,
   t DateTime,
   ms UInt64,
   user_id Int32 DEFAULT 0,
   proj String,
   module Nullable(String),
   proc String,
   type Enum8('info' = 0, 'debug' = 1, 'trace' = 2, 'warn' = 3, 'error' = 4, 'fatal' = 5, 'panic' = 6, 'success' = 7, 'syslog' = 8),
   mes Nullable(String),
   pack Nullable(String),
   market Nullable(String),
   pair Nullable(String),
   mail Nullable(String),
   id Nullable(String),
   sub_id Nullable(String),
   event_id Nullable(String)
)
ENGINE = ReplicatedMergeTree('clickhouse/tables/1/log', '1')
ORDER BY (t, ms, user_id, proj, proc)
TTL t + toIntervalMonth(1)
SETTINGS index_granularity = 8192
источник

DL

Dmitry Lukovkin in ClickHouse не тормозит
Grisha Egorov
ALTER же ON CLUSTER должен быть
Мы только учимся, не подскажите как правильно? Но ошибка то мне кажется не об этом
источник

DT

Dmitry Titov in ClickHouse не тормозит
Dmitry Lukovkin
Row 1:
──────
statement: CREATE TABLE logs.log
(
   srv Int32,
   port Int32,
   t DateTime,
   ms UInt64,
   user_id Int32 DEFAULT 0,
   proj String,
   module Nullable(String),
   proc String,
   type Enum8('info' = 0, 'debug' = 1, 'trace' = 2, 'warn' = 3, 'error' = 4, 'fatal' = 5, 'panic' = 6, 'success' = 7, 'syslog' = 8),
   mes Nullable(String),
   pack Nullable(String),
   market Nullable(String),
   pair Nullable(String),
   mail Nullable(String),
   id Nullable(String),
   sub_id Nullable(String),
   event_id Nullable(String)
)
ENGINE = ReplicatedMergeTree('clickhouse/tables/1/log', '1')
ORDER BY (t, ms, user_id, proj, proc)
TTL t + toIntervalMonth(1)
SETTINGS index_granularity = 8192
SELECT * FROM system.zookeeper WHERE path = '/clickhouse/tables/1/log/replicas/1' AND name IN ('metadata','columns')

SELECT * FROM system.zookeeper WHERE path = '/clickhouse/tables/1/log/' AND name IN ('metadata','columns')
источник

DL

Dmitry Lukovkin in ClickHouse не тормозит
Dmitry Titov
SELECT * FROM system.zookeeper WHERE path = '/clickhouse/tables/1/log/replicas/1' AND name IN ('metadata','columns')

SELECT * FROM system.zookeeper WHERE path = '/clickhouse/tables/1/log/' AND name IN ('metadata','columns')
источник