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

Вот тебе вопрос: дикое OLTP с делитами и апдейтами, очень агрессивный

автовакуум не справляется с блоатингом. Что делать ?

10 ответов

23 просмотра

Гуглить

Вручную чистить за автовакуум

Хммм... Выставить old_snaphot_threshold в конфиге поменьше, это первое, что в голову приходит (на ноль!😁) Можно еще сделать псевдоапдейт, чтобы строки стали доступны vacuum, но как делать не помню

создать тикет в соответствующий отдел?

Первый ответ, который в голову пришёл - нанять нового архитектора вместо того, кто спроектировал такой OLTP)))

Lestat-Kim Автор вопроса
Nick Nalbantov
Первый ответ, который в голову пришёл - нанять нов...

да что значит спроектировал такой олтп. Было оно и было, пришла нагрузка

Lestat Kim
да что значит спроектировал такой олтп. Было оно и...

Ну просто нафига в 2к23 делать апдейты и делиты вообще Писать всё аппенд-онли, старые строки сливать в холодное хранилище раз в неделю И если возникает жёсткий блоат, надо смотреть почему HOT-update не работает, фиксить индексацию Да и вообще автовакуум и не должен с блоатом бороться, у него совсем другая задача (обновление карт, фриз xid). Он может только крайние страницы обрезать, если они будут полностью пустыми. От bloat только vacuum full/cluster спасают, а не vacuum/autovacuum

Nick Nalbantov
Ну просто нафига в 2к23 делать апдейты и делиты во...

ну вот стоит задача - последний статус у заказа выявлять. вводные - исторических данных 10 мильярдов в день, уникальных заказов 100 мильёнов в день. всего за год заказов - 30 лярдов. и нужно отчёт в котором за 5 лет по номеру пачки заказов (1000 штук) вывести в эксельку последний статус. будешь поднимать из холодного хранения 15 триллиарда записей и по ним выяснять оконками последнюю запись по 1000 заказов? или же возьмёшь подготовленную витринку на 150 лярдов, которая делит/инсертом каждый день обрабатывалась и уже хранит последнюю запись?

Дмитрий Texnix
ну вот стоит задача - последний статус у заказа вы...

Ну если выбор стоит между расчётом тяжёлой агрегации / оконки и костылями вокруг вакуума продовой БД, то я бы выбрал первое)) Надо оценить сколько таких сценариев для витрин есть и как часто аналитики выдумывают новые формы отчётов. Может вместе со сливом данных в холодное хранилище стоит оставлять в БД какие-то кубы с агрегированной статистикой. Или реплицировать в Clickhouse, чтобы аналитики там сами считали нужные агргегации на миллиарды строк на лету.

Nick Nalbantov
Ну если выбор стоит между расчётом тяжёлой агрегац...

это и делается. но главное - что эта витринка - всего лишь одна из 10 джоин витринок, которые используются для отчёта. Потому клик - как промежуточное решение последнего статуса, всё равно эти последние статусы нужны на транзакционной БД в которой джоины не занимают всю свободную оперативную память (или не носилуют в усмерть диск)

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

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

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