184 похожих чатов

Привет, всем. Поделитесь настройками конфига для правильной работы TTL. Сейчас

у меня в конфиге есть такое <merge_tree>
<merge_with_ttl_timeout>600</merge_with_ttl_timeout>
<old_parts_lifetime>300</old_parts_lifetime>
<merge_max_block_size>16384</merge_max_block_size>
<temporary_directories_lifetime>600</temporary_directories_lifetime>
<max_part_removal_threads>20</max_part_removal_threads>
</merge_tree> создаю таблицу так: CREATE TABLE test_ttl ON CLUSTER cluster
(
dt DateTime,
a String,
b String
)
ENGINE=ReplicatedMergeTree('/clickhouse/tables/{shard}/test_ttl', '{replica}')
PARTITION BY a
PRIMARY KEY (a, b)
ORDER BY (a, b)
ttl dt + interval 10 minute;

CREATE TABLE d_test_ttl ON CLUSTER cluster AS test_ttl
ENGINE = Distributed(cluster, default, test_ttl, halfMD5(a, b));

INSERT INTO d_test_ttl VALUES (now(), 'aaa', '1'),
(now(), 'bbb', '2'),
(now(), 'ccc', '3'); при этом данные удаляются по строчно: через 10 минут удалится это (now(), 'ccc', '3'); затем ещё через 10 минут это (now(), 'bbb', '2') и через 30 минут это (now(), 'aaa', '1'). Как это пофиксить, чтобы сразу удалялись все устаревшие данные?

2 ответов

20 просмотров

раз в 10 минут запускается *один* мердж. если эти три строки в разных партах, они удалятся за 3 итерации. можете сделать optimize после вставки в вашем примере, и тогда все 3 удалятся за раз.

можно заскедулить alter table... materialize ttl; Оно чистит скопом

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта