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

Всем привет. Нормальной ли является практика optimize table deduplicate ~

раз в 10 минут на 5 объектах +- одновременно. Объекты относительно небольшие/различные от 50к записей до 100кк записей. Какие существуют workaround, в случае, если это плохая пратика?

7 ответов

30 просмотров

ну если 100кк это 100 000 000 записей. то нет если максимум 100k записей в таблице то есть на 5 таблиц 500k записей... то терпимо. но зависит от того какие у вас диски, какая еще при этмо нагрузка идет и какие требования к latency запросов в момент когда идет OPTIMIZE это нагрузка на диски + CPU + ram (потому что для дедупликации строится хеш таблица) нормальная практика это сделать нормальный ORDER BY и ReplacingMergeTree и делать SELECT ... FROM table FINAL ..

Zakhar-Leshnevsky Автор вопроса
Slach [altinity]
ну если 100кк это 100 000 000 записей. то нет если...

Спасибо за ответ. Final же все равно не гарантирует уникальности? Мы тестили и если в разных партициях (вроде как) лежит одинаковый ключ, то он никогда не смерджится. Но я могу ошибаться.

Zakhar Leshnevsky
Спасибо за ответ. Final же все равно не гарантируе...

FINAL как раз и ганартирует уникальность... жертвуя от 5 до 15% потерей скорости..

Zakhar Leshnevsky
Спасибо за ответ. Final же все равно не гарантируе...

про разные партиции. это регулируется специальной настройкой do_not_merge_across_partitions_select_final https://kb.altinity.com/altinity-kb-queries-and-syntax/altinity-kb-final-clause-speed/ https://kb.altinity.com/altinity-kb-queries-and-syntax/altinity-kb-optimize-vs-optimize-final/ https://kb.altinity.com/engines/mergetree-table-engine-family/merge-performance-final-optimize-by/ https://kb.altinity.com/altinity-kb-setup-and-maintenance/timeouts-during-optimize-final/ https://kb.altinity.com/engines/mergetree-table-engine-family/collapsing-vs-replacing/

Zakhar Leshnevsky
Спасибо за ответ. Final же все равно не гарантируе...

Могу ещё предложить, что у вас ключи шардирования не настроены

Igor Voltaic
Могу ещё предложить, что у вас ключи шардирования ...

ключи шардирования вообще никакого отношения не имеют к SELECT ... FINAL ... это для Distributed таблицы... и они при SELECT вообще не используются, только при INSERT в engine=Distirbuted

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
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
Карта сайта