Обсуждаем ClickHouse
ясно, сделайте
TTL toStartOfDay(TimeReceived) + toIntervalMonth(4)
SETTINGS index_granularity = 8192, storage_policy = 'data_policy', always_fetch_merged_part = false,
ttl_only_drop_parts =1
toYYYYMMDD(Date)
TTL TimeReceived
т.е. удаление из всех партиций ? Date и TimeReceived не связаны?
покажите кусок определения таблицы Engine... partition by ... order by... ttl
Читать полностью…да, куча места свободно, а оперативных данных нет. останавливаю materialize ttl, начинают появляться
Читать полностью…Всем привет!
Подскажите пожалуйста, как пофиксить ошибку
"All commit attempts failed. Last block was already written to target table(s), but was not committed to Kafka."
Не дает новые данные записать
engine=buffer ? не будет, он в памяти хранит.
А у вас часто падает КХ или целиком сервер?
можно включить fsynс для инсертов, если очень надо
Читать полностью…если ждать окончания асинк инсерта и делать ретраи как следует - данные не теряются.
но буффер и данные в нем так и так теряются, если вопрос был про это) КХ их никак на диске не сохраняет при падении
Можете вообще в лоб писать прошлый блок с отрицательным знаком и затем новый блок и, опять же, не ждать когда пройдут мерджи и на мучить систему принудительными мерджами.
Пересчитались данные за сутки, сделали insert as select старых с минусом и кинули новые.
Ооо, я не то чтобы видел юзкейсы для collapsingMergeTree при наличии replacing вообще. Первая - это ж скорее старый движок?, кому охота дублировать ивенты с разным знаком, + ещё и новую версию засылать поверх, доставлять все это дело. Это поди в каких нить Яндекс метриках осталось, чтоб сессии как sum(Sign) считать, в остальном replacing и без final всем лучше. Ну да, надо подедуплицировать в отдельной сте-шке argMax'ами, но всяко проще организации коллапстнга
Читать полностью…Я могу сделать пример где final замедлит запрос в 6500 раз. Могу сделать где ускорит на 10%. Иногда final невозможно использовать, иногда невозможно не использовать.
Я недавно переделал таблицу на replacing+final после восьми лет использования collapsing + sum. Стало проще и надёжнее.
В доках/статьях клика Final все ещё описан как антипаттерн для прода....
Читать полностью…в смысле как и зачем....
VPN на вашем хосте видимо кривой... и трафик роутит весь... в том числе и тот который на localhost идет
Date вычисляется из TimeReceived:
Читать полностью…
AS SELECT
toDate(TimeReceived) AS Date,
ENGINE = ReplicatedMergeTree('/clickhouse/tables/{uuid}/{shard}', '{replica}')Читать полностью…
PARTITION BY toYYYYMMDD(Date)
ORDER BY TimeReceived
TTL TimeReceived + toIntervalMonth(4)
SETTINGS index_granularity = 8192, storage_policy = 'data_policy', always_fetch_merged_part = false
почему всё началось: у таблиц TTL не работает, старые данные не удаляются. плюс сообщения Checksums of parts don't match. место постепенно кончается, руками парты удалять такое себе удовольствие
Читать полностью…Подскажите пожалуйста, вроде был какой-то сеттинг, который позволяет сделать limit не на всю выборку из распределённой таблицы, а из каждого шарда.
Читать полностью…у нас - нет, вопрос про потерю данных при падении был не мой =D
Читать полностью…я думал только для персистируемых движков
Читать полностью…а вы TTL у колонок случайно не используете?
TTL бывает у таблиц и у колонок.
это в каком-то смысле нормальное поведение.
вы назначаете сотни мутаций MATERIALIZE TTL, они букают места * 2 от размера парта, некоторые начинают выполнятся, некоторые не могут, потому что все место забукано и пишут Cannot reserve 29.32 MiB, not enough space.
постепенно мутации завершаются, возвращают место свободное назад, начинают выполнятся следующие
знаю тех, кто пользуется, и данные теряют даже при ошибке в MV, да.
Читать полностью…Collapsing с версионированием вполне себе рабочий инструмент. Например, вы можете вполне себе хранить записи, которые еще «не зафиксированы» и проставлять знак изменившимся, не задаваясь потом вопросом когда же дубли схлопнутся.
И да, трансфер из метрики использует этот движок.
Никто не будет переписывать старые статьи
Проверяйте на своих конкретных условиях
пожалуй только
Performance regression in MaterializedViews https://github.com/ClickHouse/ClickHouse/issues/81304
🤬
случайно отключил впн, все заработало...
какой кринж и абсурд
все было из-за впн...
теперь новый вопрос - как и зачем