Size: a a a

ClickHouse не тормозит

2019 November 22

AM

Anton Mikhalev in ClickHouse не тормозит
Shazo
а если set enable_optimize_predicate_expression = 1 и enable_optimize_predicate_expression_to_final_subquery = 1?
дело в том что и без WHERE запрос не работает.
источник

AM

Anton Mikhalev in ClickHouse не тормозит
Shazo
а если set enable_optimize_predicate_expression = 1 и enable_optimize_predicate_expression_to_final_subquery = 1?
результат такой же. и в 0 пробовали выставить - никаких изменений
источник

ДК

Дмитрий Клеймёнов... in ClickHouse не тормозит
Shazo
select * from system.clusters с фильтром по указанному кластеру, что выдает?
| cluster | shard_num | shard_weight | replica_num | host_name | host_address | port | is_local | user | default_database | 10 |
| sharded_cluster | 1 | 1 | 1 | ch1.*.ru | *.*.*.136 | 9000 | 1 | replicator |  |  |
| sharded_cluster | 2 | 1 | 1 | ch2.*
.ru | *.*.*.132 | 9000 | 0 | replicator |  |  |
|  |  |  |  |  |  |  |  |  |  |  |
источник

DP

Dorian Peregrim in ClickHouse не тормозит
Добрый день, господа. Проконсультируйте, пожалуйста, по вопросу. Есть таблица ReplacingMergeTree с колонкой ver DateTime. Достаю записи с другой таблицы и требуется сделать Join указанной выше с эквивалентным идентификатором и датой, но только записи наибольшей версии для даты. Вопрос в том, как в условии join это описать? Или надо джойнить все по идентификатору и по дате, а в select уже описывать max(value)?
источник

DP

Dorian Peregrim in ClickHouse не тормозит
Простите, если вопрос глупый
источник

S

Shazo in ClickHouse не тормозит
Дмитрий Клеймёнов
| cluster | shard_num | shard_weight | replica_num | host_name | host_address | port | is_local | user | default_database | 10 |
| sharded_cluster | 1 | 1 | 1 | ch1.*.ru | *.*.*.136 | 9000 | 1 | replicator |  |  |
| sharded_cluster | 2 | 1 | 1 | ch2.*
.ru | *.*.*.132 | 9000 | 0 | replicator |  |  |
|  |  |  |  |  |  |  |  |  |  |  |
в 1ом сообщении вы указывали my_cluster, а здесь sharded_cluster. Это так заменили в примере или это разные кластеры?
источник

МШ

Михаил Ш in ClickHouse не тормозит
Dorian Peregrim
Добрый день, господа. Проконсультируйте, пожалуйста, по вопросу. Есть таблица ReplacingMergeTree с колонкой ver DateTime. Достаю записи с другой таблицы и требуется сделать Join указанной выше с эквивалентным идентификатором и датой, но только записи наибольшей версии для даты. Вопрос в том, как в условии join это описать? Или надо джойнить все по идентификатору и по дате, а в select уже описывать max(value)?
может что нить типа такого?
select id, name, data from  (select id, name from dict) dct join (select argMax(id,ver) id, argMax(data,ver) data from tableA) vers on dct.id=vers.id
источник

AS

Alex Semiglazov in ClickHouse не тормозит
а кто какие тулы для деплоя/отката миграций использует?
источник

DP

Dorian Peregrim in ClickHouse не тормозит
Михаил Ш
может что нить типа такого?
select id, name, data from  (select id, name from dict) dct join (select argMax(id,ver) id, argMax(data,ver) data from tableA) vers on dct.id=vers.id
Спасибо, попробу
источник

DP

Dorian Peregrim in ClickHouse не тормозит
Alex Semiglazov
а кто какие тулы для деплоя/отката миграций использует?
Присоединяюсь к вопросу
источник

DP

Dorian Peregrim in ClickHouse не тормозит
Пока использую go migrate, но что-то не очень нравится
источник

ДК

Дмитрий Клеймёнов... in ClickHouse не тормозит
Shazo
в 1ом сообщении вы указывали my_cluster, а здесь sharded_cluster. Это так заменили в примере или это разные кластеры?
заменил в примере
источник

IM

Ivan Moiseev in ClickHouse не тормозит
Гайз, ай нид сам умных мыслей: есть запрос из графаны в КХ вида

SELECT
   $timeSeries as t,
   count()
FROM $table
WHERE $timeFilter AND $column_name IN ($variable)
GROUP BY t
ORDER BY t


в переменной $variable ~5К значений.

Если в качестве значений указывается несколько, то запрос приводится к виду

SELECT
   $timeSeries as t,
   count()
FROM $table
WHERE $timeFilter AND $column_name (‘var_1’, ‘var_2’)
GROUP BY t
ORDER BY t


и всё норм. Но если я за значение для $variable указываю All, то она принимает значение * и я получаю запрос вида

SELECT
   $timeSeries as t,
   count()
FROM $table
WHERE $timeFilter AND $column_name IN (*)
GROUP BY t
ORDER BY t


Который естественно не работает.

Как мне правильно составить запрос, чтобы $variable могла принимать значения:

‘var_1’ - единичное
‘var_1’, ‘var_2’ - перечисление
*
- все

И при этом запрос отрабатывал?
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
divinus
Я думаю важная информация для всех.
После проведенного анализа ситуации оказалось что данные были удалены юзером default.
Но проблема в том что пользователь default по-умолчанию не имевший пароля был закрыт для подключения из сети (стандартная настройка для доступа только localhost) .
По логам же судя некие личности смогли подключиться с ip адреса который находится в питере по сети к КХ используя пользователя default.
Версия сервера конечно древняя 1.1.54213 и надеюсь в новых версиях эта дыра уже была устранена, но на всякий случай я думаю имеет смысл запаролить пользователя default
а к какому порту они подключились?

и да баги есть, например https://github.com/ClickHouse/ClickHouse/issues/3770
источник

IM

Ivan Moiseev in ClickHouse не тормозит
Ivan Moiseev
Гайз, ай нид сам умных мыслей: есть запрос из графаны в КХ вида

SELECT
   $timeSeries as t,
   count()
FROM $table
WHERE $timeFilter AND $column_name IN ($variable)
GROUP BY t
ORDER BY t


в переменной $variable ~5К значений.

Если в качестве значений указывается несколько, то запрос приводится к виду

SELECT
   $timeSeries as t,
   count()
FROM $table
WHERE $timeFilter AND $column_name (‘var_1’, ‘var_2’)
GROUP BY t
ORDER BY t


и всё норм. Но если я за значение для $variable указываю All, то она принимает значение * и я получаю запрос вида

SELECT
   $timeSeries as t,
   count()
FROM $table
WHERE $timeFilter AND $column_name IN (*)
GROUP BY t
ORDER BY t


Который естественно не работает.

Как мне правильно составить запрос, чтобы $variable могла принимать значения:

‘var_1’ - единичное
‘var_1’, ‘var_2’ - перечисление
*
- все

И при этом запрос отрабатывал?
@den_crane плак
источник

d

divinus in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
а к какому порту они подключились?

и да баги есть, например https://github.com/ClickHouse/ClickHouse/issues/3770
порт в дебаг логах пишется 50782, но там настоящий порт и не пишется вообще даже в валидных подключениях
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
divinus
порт в дебаг логах пишется 50782, но там настоящий порт и не пишется вообще даже в валидных подключениях
я подумал вам может видно в логах с сетевого оборудования. Может это был 9001 а не 9000 например.
источник

d

divinus in ClickHouse не тормозит
да и ip адрес с которого было подключение даже по маске такой должен по идее отброситься
источник

d

divinus in ClickHouse не тормозит
еще одна странность, ипешник странный весьма, если обычные подключения пишутся нормально то адрес подключения от хацкеров выглядит вот так:
::ffff:194.34.132.57
источник

YV

Yuri Velgosha in ClickHouse не тормозит
divinus
еще одна странность, ипешник странный весьма, если обычные подключения пишутся нормально то адрес подключения от хацкеров выглядит вот так:
::ffff:194.34.132.57
Ну дык видимо из IPv6 сети долбят.
источник