clickhouse_ru | Неотсортированное

Telegram-канал clickhouse_ru - ClickHouse не тормозит

11016

Обсуждаем ClickHouse

Подписаться на канал

ClickHouse не тормозит

да, ну еще главное чтобы PARTITION BY не противоречил sorting key (ORDER BY) ... а то парты из разных партиций не мержатся между собой

Читать полностью…

ClickHouse не тормозит

и не забудьте использовать

SELECT ... FROM db.table FINAL

Читать полностью…

ClickHouse не тормозит

добрый день! вопрос концептуальный: есть таблица, около 20млн записей в сутки, на 4 нодах (+ по одной реплике на каждую ноду). Для каждой записи будет делаться апдейт, один раз. Какой движок в таком случае лучше использовать - Collapsing, или Replacing с условным полем "время записи"?

хочу делать вставку полностью записи с измененными нужными полями

Читать полностью…

ClickHouse не тормозит

День добрый. Подскажите, в чем может быть проблема. Кластер 6 реплик, 3 шарда. Вставляю батч 1млн строк в distributed таблицу.
каждая вставка следующая ошибка
Code: 319. DB::Exception: Unknown status of part 202302_240_240_0 (Reason: Session moved to another server, so operation is ignored). Data was written locally but we don't know the status in keeper. The status will be verified automatically in ~300 seconds (the part will be kept if present in keeper or dropped if not). (UNKNOWN_STATUS_OF_INSERT) (version 25.4.3.22 (official build))

и данные укладываются в distributed таблицу по 5 минут(имею в виду,что только через 5 минут появятся все строки в таблице)

Использую данные параметры

SET async_insert = 1;
SET wait_for_async_insert = 0;
SET async_insert_max_data_size = 10485760;
SET async_insert_busy_timeout_ms = 1000;

Читать полностью…

ClickHouse не тормозит

тогда создавать фиче-реквест, ждать пока сделают и потом ждать пока менеджед кликхаус обновиться на эту версию)

Читать полностью…

ClickHouse не тормозит

вот мне бы это стандартными средствами получить. Я в менеджет клике, таким заниматься не могу(((

Читать полностью…

ClickHouse не тормозит

-- Code: 46. DB::Exception: Received from ...:9440. DB::Exception: Unknown function json_pretty. Maybe you meant: ['JSON_QUERY']: While processing json_pretty(data). (UNKNOWN_FUNCTION)


у меня что-то нет такой функции
https://fiddle.clickhouse.com/68d33132-e474-4047-aef1-a4e28b033a7f

Читать полностью…

ClickHouse не тормозит

Я поправил, что если брать дикт из таблицы клика, нужно создать отдельную колонку, но с Монгой оно не работает

Читать полностью…

ClickHouse не тормозит

В clickhouse client в format Vertical есть значение с жсоном, яб хотел его отформатить отдельно. Всё остальное смотреть как formatVertical

Читать полностью…

ClickHouse не тормозит

Никаких Distributed - будет только хуже. Но Replicated в разумных пределах (до 5) могут быть полезны.
500 QPS размазанное на 5 серверов с запросами по 0.5с выглядит достаточно реалистично.
Есть старая статья - https://altinity.com/blog/clickhouse-in-the-storm-part-1
но все тезисы актуальны и сейчас. Самое главное - никаких JOIN and FINAL.

Читать полностью…

ClickHouse не тормозит

в external dictionary можно использвать атрибуты - expressions

Читать полностью…

ClickHouse не тормозит

Всем привет, после обновления 24.2 -> 25.3
Перестал работать external dictionary из Монги.
Раньше он неявно мог преобразовать String -> Float
Как сейчас это можно сделать? не смог пока найти в документации?

Читать полностью…

ClickHouse не тормозит

что такое json строка?

String ? надо отформатировать String ?

Читать полностью…

ClickHouse не тормозит

Большая часть проблем от аналитиков в моей практике, перекрывалась комбинацией ручек:
max_memory_usage
max_bytes_before_external_sort
max_bytes_before_external_group_by
max_result_rows
max_execution_time
max_concurrent_queries_for_user
max_rows_in_join
max_bytes_in_set

причем последние две ручки давали больше всего, ибо аналитики грешили джоинами и кодогенрируемыми WHERE IN (миллионы значений)
отдельного упоминания стоит ручка max_result_rows, ну или если хотите можно и в байтах, это помогает не укладывать BI инструменты, вот например из редаша можно сказать SELECT * в клик, и клик не ляжет от такого фуллскана, а вот реляционная базюка под редашем ещё как лопнет от объемов ответа.

схема с репликами практиковалась такая:
1) фактор репликации 3
2) 2 реплики обслуживают прод, одну насилуют аналитики
3) если продовая реплика отказывает, хук на фейловере обрубает доступ аналитикам и их реплика используется в качестве продовой
4) разумеется в SLA было прописано, что проду мы гарантируем работу при сбоях, а аналитикам нет. бизнес это устраивало.

Читать полностью…

ClickHouse не тормозит

Всем привет!
Такая ситуация, есть три шарда по которым равномерно распределяются данные. Но хотелось бы их реплицировать. Решение с фактором репликации 3 - очевидно. А есть решение с фактором репликации 2? Я видел статьи от 19 года, там много костылей.. Может появилось решение от ClickHouse?

Читать полностью…

ClickHouse не тормозит

да, Final обязательно будет. А старые записи будут в фоне сами удаляться, верно?

Читать полностью…

ClickHouse не тормозит

Collapsing нужен если еще хотите eventually "удалять"

Читать полностью…

ClickHouse не тормозит

проблема с зукипером, он таймаутит

Читать полностью…

ClickHouse не тормозит

я вообще не понимаю что вы имеете в виду, может пример покажете?

Читать полностью…

ClickHouse не тормозит

а где такая клика? их официальное облако или яндекс или что то другое?

Читать полностью…

ClickHouse не тормозит

а ну json_pretty это кастомная UDF-функция

<functions>
<function>
<type>executable</type>
<name>json_pretty</name>
<return_type>String</return_type>
<argument>
<type>String</type>
<name>lhs</name>
</argument>
<format>Raw</format>
<command>jq . | tr '\n' '$' | awk 1</command>
<execute_direct>0</execute_direct>
<deterministic>true</deterministic>
</function>
</functions>

Читать полностью…

ClickHouse не тормозит

SELECT
user_id,
replaceAll(json_pretty(payload), '$', '\n') AS json_formatted
FROM tbl
LIMIT 10
FORMAT Vertical

Query id: d729853b-72c1-457f-bd2d-7c93422c5617

Row 1:
──────
user_id: 635100
json_formatted: {
"event_name": "main_view",
"user_id": 635100,
"module_id": null,
"namespace": "default",
"timestamp": "2025-05-14T15:20:00.123456Z",
"payload": {
"shops_connect": 3,
"connections_total": 2,
"o_connections_total": 1,
"selected_keys_count": 4
"api_key_passed": true
}
}


вот так можно


1 row in set. Elapsed: 0.074 sec.

Читать полностью…

ClickHouse не тормозит

в смысле?

https://fiddle.clickhouse.com/5ffba02a-59f1-43d5-9f5f-a59e1a273244

типа вот такое не работает?
attr Float64 expression toFloat64OrZero(attr)

Читать полностью…

ClickHouse не тормозит

У меня это не работает, похоже он в первую очередь ищет это поле в монге

Читать полностью…

ClickHouse не тормозит

изменилось потому что передалали https://github.com/ClickHouse/ClickHouse/pull/63279

Читать полностью…

ClickHouse не тормозит

а что за юзкейс у такого форматирования?

Читать полностью…

ClickHouse не тормозит

Да. Либо новый тип JSON, либо String, да

Если стринг, то это String содержащий JSON

Читать полностью…

ClickHouse не тормозит

ещё квоты выглядят здраво, но к сожалению не осилил внедрить, если кто то тут да, поделитесь опытом, очень интересно насколько практически применимый инструмент )

Читать полностью…

ClickHouse не тормозит

а есть примеры того как пользоваться даной либой?
в описании нет деталей того как создавать миграции и тд.
не могу сам разобраться

Читать полностью…

ClickHouse не тормозит

Лимиты на самом деле являются вполне правильным способом обеспечивать изоляцию в многопользовательской среде, но, конечно, если лимиты не позволяют использовать всю доступную память и такое требование есть, то репликация это единственный возможный вариант

Читать полностью…
Подписаться на канал