Обсуждаем ClickHouse
Asynchronous Inserts (async_insert) | ClickHouse Docs
https://clickhouse.com/docs/optimize/asynchronous-inserts?ysclid=mb4usgcc2m735370627
По идее это можно решить настройкой лимитов, хотя репликацию все равно хорошо бы иметь, хотя бы чтобы не потерять данные, если что-то с одним сервером случится
Читать полностью…Всем привет! Вопрос про область применения репликации.
У нас есть один единственный инстанс CH, без шардов и реплик, который используется как самим продуктом, так и аналитиками с BI-системой. Мы хотим отделить друг от друга прод и аналитику, при этом сохранив актуальность и консистентность данных. Решение видится в создании replicated таблиц для аналитики на отдельном сервере.
Прошу помощи и совета, как бы вы реализовали такую схему?
добавил https://github.com/ClickHouse/ClickHouse/issues/80794
Читать полностью…Всем привет!
Оператор where
не работает с движком Join
я так понял?
https://fiddle.clickhouse.com/181d7a84-9bf4-47d0-9166-4d25e7eff3bd
Нашел похожий issue, но непонятно как решить. Пробовал обернуть в подзапрос, но все равно не работает.
https://github.com/ClickHouse/ClickHouse/issues/16991
проблема с Int имхо ;-) если второй агрумент FLoat — все ОК
Читать полностью…Партиции уже давно больше про манипуляции с данными. Переносить по партициям, удалять, вставлять… например, можно провести работы с таблицей в месяц и далее готовую партицию перенести в большую таблицу.
Как верно отметили выше, схема с партицией и без часто работают практически одинаково и на запись и на чтение.
Выборка, затрагивающая 2 партиции может работать медленнее, чем при отсутствии этих партиций.
Если у вас условие выборки не содержит условия на партиции, то вы так же можете только проиграть.
Если у вас нет плана работы с партициям, то можете их не делать или делать максимально большими.
Вопрос же от времени или от даты совершенно несущественен. Время которое клик потратит чтобы из вашего времени в условии получить список нужных партиций ничтожно.
Ну типа да, лет ... более чем 6 назад ещё на старых версиях клика, ещё до того как я начал там работать, наверное могли бы.
Читать полностью…получается вы могли просто toDate(time) в where использовать вместо создания новой таблицы с новым партиционированием ? я правильно вас понял ?
Читать полностью…У меня как то была огромная табличка, более чем на сотню машин забитых дисками, занимала на каждой реплике с десяток териков, партиционирована была по toYYYYMM(время), с рекламными событиями. Чтобы иметь возможность переливать некорректные данные за конкретную дату, сделали вторую табличку, такую же, партиционированую по дате, начали писать туда, понемногу переливая данные из старой. Знаете что поменялось по дашикам читателей и писателей? Скорость вставки, скорость выборки... Ничего.
Читать полностью…Ну да. Если вы используете дату для партиционирования, не забывайте добавлять условие в WHERE
Читать полностью…С чего бы это? partition pruning сработает одинаково. Но если у вас там еще и время фильтруется, то прочитаете две колонки вместо одной, что медленее
Читать полностью…а эффективность селекта не будет хуже для toYYYYMM(event_time) с WHERE event_time BETWEEN в отличие от toYYYYMM(event_date) с WHERE event_date BETWEEN ?
Читать полностью…Зачем вам эта дата? Используйте везде время. На первое место можете поставить toStartOfDay(event_time) или toDate(event_time)
Читать полностью…У нас есть лимиты по memory и настройка приоритетов для CPU по пользователям, которые хорошо работали какое-то время. Просто с развитием аналитики, ростом количества словарей и больших дашбордов проду то не хватает памяти в моменте, то latency слишком большой выходит для критичных к этому операций. Хочется сделать не временное решение, а архитектурно разделить эти два процесса чтобы проще было их контролировать и управлять ресурсами
Читать полностью…приветствую! нельзя ли в облаке clickhouse сделать асинхронную вставку в таблицу? проблема в том что у меня постоянный поток данных и вставка не проходит
Читать полностью…Кластер из 2 нод, таблицы типа Replicated.... И всё )
Читать полностью…Опубликован релиз 25.5!
Presentation: https://presentations.clickhouse.com/2025-release-25.5/
Video: https://www.youtube.com/live/wxicecqZOuw
Changelog: https://github.com/ClickHouse/ClickHouse/blob/master/CHANGELOG.md
да криво делают пушдаун, лечится limit
https://fiddle.clickhouse.com/e7a518c3-9dcc-4e5c-955f-962674b9d9c4
действительно
но это странно, с учетом
x and weight must both be Integer or floating-point, but may have different types.
Добрый день!
у функции avgWeighted есть какая-то проблемма с Float?
https://fiddle.clickhouse.com/c881ef0d-f2d1-4759-9dbd-a11892731de4
а время вообще в ключ сортировки стоит добавлять ? toDate(event_time) ок я понял ставим на первое место
Читать полностью…да, время в партиции, а на первое место toDate or toStartOfDay
Читать полностью…а если мы всегда селектим какоето конкретное время а не дату, то выгоднее в партицию засунуть время выходит ? а в ключе сортировки надо ли в таком случае ставить время на первое место ?
Читать полностью…ну кликхаус же не знает что event_date это производная от event_time
Читать полностью…если в WHERE стоит event_time, то почему нет?
Читать полностью…если дата будет в партиции то понятно что по дате будет выборка эффективной, суть моего вопроса строится вокруг того чтобы сделать партицию от времени toYYYYMM(event_time) - есть ли смысл делать так ?
Читать полностью…