данные находятся в S3. Использую clickhouse-backup. После создания бэкапа, когда забэкапленый парт полностью удаляется из Кликхауса, его файлы в S3 всё равно остаются. Это логчино, иначе как восстанавливать? Но после удаления бэкапа эти файлы всё так же остаются в S3. Что-то никак не разберусь как эти файлы удалять. Или это так и задумано?
вы имеете ввиду s3 disk? https://clickhouse.com/docs/en/engines/table-engines/mergetree-family/mergetree/#table_engine-mergetree-s3 ? или чистый *MergeTree и remote_storage: s3 в clickhouse-backup ?
Таблица ReplicatedReplacingMergeTree. S3 используется как один из дисков в роли холодного хранилища. Данные туда по TTL переносятся. Без бэкапов, в случае мерджа партов, которые в момент мерджа уже лежат в S3, файлы этих партов корректно удаляются после того, как они смерджились. Но если создать бэкап, файлы таких партов не удаляются после мерджа. Если я правильно понял, на это влияет freeze partition, который делает clickhouse-backup. Проблема в том, что если бэкап удалить, то файлы уже не существующих партов так и остаются в s3. Ссылок на них нигде не видно. Но может я всё-таки что-то упускаю?
при бекапе s3 дисков в clickhouse-backup бекапятся на самом деле локальные файлы в которых ничего нет кроме имен файлов на s3 при восстановлении именно эти файлы восстанавливаются s3 не трогается парты иммутабельны
нет не упускаете, clickhouse-backup к сожалению не сможет дотянуться до исходных данных в s3
Ага, идея ясна. Спасибо! На всякий случай последний вопрос. Я правильно понимаю, что при удалении бэкапа можно пройтись по всем партам, которые есть в этом бэкапе, убедиться что конкретный парт отсутствует в остальных бэкапах и осутствует в таблице system.parts и этого будет достаточно чтобы безбоязненно удалять файлы из S3? Ссылки на S3 внутри в явном виде лежат, поэтому вопрос о том что именно удалять не стоИт.
да, перед удалением, придется перечитывать все backup_name/metadata/db/table.json во всех бекапах потом скачать данные пройтись локально по shadow и удалить из s3 может быть в 2.0.0 сделаем это автоматически, надо подумать как просто такое удаление может быть долгим бегать по десяткам тысяч файлов в s3
Идею уловил. Спасибо большое за помощь!
Обсуждают сегодня