Обсуждаем ClickHouse
по умолчанию materialize_ttl_after_modify = 1 и из за этого он начинает двигать, собсвенно это и послужило причиной всей ситуации косвенно
Читать полностью…проблема еще в том что там 30тб данных на массиве из блинов, если на этом всем ждать MATERIALIZE TTL то можно состариться
Читать полностью…я какое-то время назад пробовал без этого, тогда поровну мажет свежие данные на cold и hot
Читать полностью…Нельзя делать
TimeLocal TO DISK 'disk_hot'
Какойто неуч в статье у альтинити это написал, все видимо оттуда копируют. Удалите этот кусок из TTL выражения. У вас hot диск и так дефолт и инсерты пишут туда
Будет таскать назад из-за этого.
Нету, ее уже закрыли кстати. Выходит 25.8
Читать полностью…Вашу я понял, и свою тоже. У меня проблема с RESTORE и metadata_vesion чинится также как ваша, но другая
Читать полностью…В 24.12 вообще нашел https://github.com/ClickHouse/ClickHouse/pull/73768
бэкпорт в 24.8 CLOSED, не должен быть Merged? https://github.com/ClickHouse/ClickHouse/pull/74515
А че, очень даже красиво написано :) Если не знать правды, то выглядит прям как истина первой инстанции :)
Читать полностью…Однозначно!
https://chistadata.com/how-transaction-logs-are-implemented-in-clickhouse/
Поставить insert_deduplicate=0
https://kb.altinity.com/altinity-kb-schema-design/insert_deduplication/
Где поискать как правильно сформировать http запросы, чтобы корректно записывать в поля с типом ipv4?
Читать полностью…Uuid в индексе первичном?Уменьшить index_granularity у таблицы до 256?
Вопрос из разряда: Мой карьерный экскаватор отлично копает, забирая 23 тонны грунта за раз, как бы мне им ещё копать ямки для посадки картофеля.
Я думаю для alter Modify TTL чтобы убрать это выражение ничего не нужно. Это изменение метаданных.
Читать полностью…вот пока ищу как нормализовать и стабилизировать в текущем состоянии, кажется надо сначала применять без строки с hot, после отключать SET materialize_ttl_after_modify = 0; и альтерить обратно
Читать полностью…TTL никогда не должен таскать в обратную сторону если TTL выражение нормальное
Читать полностью…я подозреваю, что это может быть вызвано тем что по умолчанию ttl идет на hot и запустилась переоценка всех данных из за альтера
Читать полностью…Я же говорю что если тяжело сбекпортить и проблема не критическая то не бекпортят. Таких случаев сотни в год.
Читать полностью…Ага , я грепнул в 24.8 в гите и нЭту А что за недо ЛТС такой ))??
Читать полностью…Друзья, очень прошу помощи советом, есть пара серверов с replicatednergetree, CH 25.4, таблица с TTL TimeLocal TO DISK 'disk_hot', TimeLocal + toIntervalHour(36) TO DISK 'disk_cold', TimeLocal + toIntervalDay(12), недавно числа были немного выше, поменял альтером, вероятно это связано, а вероятно нет. Дальше из за ряда факторов переполнился диск disk_hot, сейчас оставновил внешнюю запись, остановил fetches и nerges для этой таблицы, переношу часть данных на хранилище disk_cold, но наблюдаю что он сам со страшной силой тащит обратно на hot какие-то куски совсем старых данных, например, 10 дневной давности, и так по всем дням. Куда посмотреть в первую очередь? Что может заставлять его забивать "горячее" хранилище старыми данными?
Читать полностью…Чаще всего бекпорты закрывают потому что из-за конфликтов надо мержить руками, а это опасно и может сделать ещё хуже.
Читать полностью…Чёт я не понял вообще ничего.
Моя проблема: я обновил кх до 23.8, добавил реплику, эта реплика сломана, ее надо чинить вручную, никаких фиксов для этой проблемы нет и не будет.
В общем то рецепты решают. Но хотелось бы разобраться Ведь у меня таки другой кейс! воспроизводится стабильно на 24,8 (который ранее был 23.8 с успешным ин-плейс обновлением до 24.8)
RESTORE DATABASE FROM S3 для ReplicatedMergeTree таблиц не обновляет метадату в ЗК И мержи аналогично зависают как у вас
Оказывают услуги облачного DBaaS Кликхауса, аудита, 24*7 поддержки, оптимизации и т.д. и т.п.
Их главный IT эксперт , чуть ли не корпоративный бизнес-партнёр https://speakerdeck.com/shiviyer007
пишет:
In ClickHouse, transaction logs are implemented as a set of write-ahead logs (WALs) that are used to ensure durability and consistency of data in case of system failures or crashes. The WALs contain a sequential record of all changes made to the database, including inserts, updates, and deletes, in the order they were made.
When a write operation is performed on a ClickHouse table, the changes are first written to the WALs before being committed to the database. This ensures that the changes are safely persisted on disk before they are applied to the database. If the system crashes or fails during the write operation, the WALs can be used to recover the changes and bring the database back to a consistent state.
...
In ClickHouse, you can monitor transaction log activity using the system.events table. This table contains a record of all events that have occurred in the database, including write operations, query executions, and other system events.
To monitor transaction log activity specifically, you can use the following SQL query:
оооох елки ... спасибо большое ... 3 часа возимся ... отдебажили чего только можно было
Читать полностью…Добрый день
подскажите в какую сторону копать
у нас 3 шарда в каждом шарде по 2 реплики
проверили все статусы репликации и ошибок записи и логи на всех нодах и ни чего не нашли
проблема в следующем, скрипт отправляет 8 последовательных инсертов по одной строке каждый в Distribute таблицу которая по rand() распределяет на 3 шарда в таблицы ENGINE = ReplicatedMergeTree()
в итоге получаем физические 4 строки в базе данных
проверяли на каждом шарде таблицы и через запрос в distribute
причем скрипт при каждом инсерте получает ответ от КХ
Array
(
[status] => 200
[timezone] =>
[query] => INSERT INTO domain_scanner
.monitoring
(date
, metric_name
, labels
, value
) VALUES ('2025-08-18 15:47:07', 'emailtask_sended', ['shablonName=сертификат не валидный'], 1)
[timeout] => 120
[answer] =>
[summary] => Array
(
[read_rows] => 1
[read_bytes] => 22
[written_rows] => 1
[written_bytes] => 22
[total_rows_to_read] => 0
[result_rows] => 1
[result_bytes] => 22
[elapsed_ns] => 763271
)
[error] =>
)
причем некоторые вставки получают в ответ [written_rows] => 2
всем привет
CH отлично работает с большими выборками, но медленно возвращает отдельные записи по UUID.
Какие методы вы используете для того чтобы сохранить эффективность для получения больших массивов данных и в то же время эффективно получать единичные записи по uuid?