database,
formatReadableSize(sum(bytes_on_disk)) AS size
FROM system.parts
GROUP BY database
ORDER BY size DESC
получаю размер бд system ~10Gb и своей бд test ~240Gb. При это директория ../clickhouse/store имеет размер 293Гб. В ней только диры с трехзначным именем. Что ещё может лежать в этой дире кроме данных? Или как корректно проверять размер бд через SQL ?
Для проверки размера БД использую такой запрос: SELECT database, table, formatReadableSize(sum(data_compressed_bytes) AS size) AS compressed, formatReadableSize(sum(data_uncompressed_bytes) AS usize) AS uncompressed, round(usize / size, 2) AS compr_rate, sum(rows) AS rows, count() AS part_count FROM system.parts WHERE (active = 1) AND (database LIKE '%') AND (table LIKE '%') GROUP BY database, table ORDER BY size DESC;
Спасибо, просто мне не совсем понятно, что ещё занимает ~40Гб на диске.
А в system.detached_parts пусто?
Да, в таблице пусто. Но вот сейчас обнаружил что одна из таблиц была удалена через drop table, а данные на диске остались. Как такое могло получиться?
Также запрос, который читал данные из этой таблицы, почему-то не отстрелился после удаления этой таблицы и бежал 48 часов! Убил вручную, я так понимаю это он и нагенерил данных в tmp ?
Там есть таймауты на удаление данных. Какой то таймаут 8 минут old_parts_lifetime, другой сутки (`temporary_directories_lifetime`), не помню какой именно за удаление дропнутых данных (кажется что первый).
tmp для запроса (который временные данные для внешней сортировки и аггрерации, если включены) не в store, а в /var/lib/clickhouse/tmp
Спасибо, посмотрю, однако сейчас удалил другую таблицу и она дропнулась почти молниеносно, и данных не осталось на диске.
На диске в store нет партов с такими префиксами: find ./store -name 'tmp*' -o -name 'delete_tmp_*' -o -name 'tmp-fetch_*' ?
Таких партов нет
эти каталоги это префиксы... внутри там каталоги с именем которое является uuid таблицы
Обсуждают сегодня