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

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

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

10 ответов

8 просмотров

Гуглить

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

Хммм... Выставить 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 джоин витринок, которые используются для отчёта. Потому клик - как промежуточное решение последнего статуса, всё равно эти последние статусы нужны на транзакционной БД в которой джоины не занимают всю свободную оперативную память (или не носилуют в усмерть диск)

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

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

я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Всем привет! Массив вводится с клавиатуры, кол-во элементов неизвестно, поэтому я указал arr db 100 dup(?) С нахождением максимума проблем нет, а вот минимум почему-то всегд...
En Vind Av Sorg
11
в сях есть множество как в питоне? для удаление дубликатов
Linus
25
читать файл максимально быстро? странный вопрос))
zamtmn
53
Я хочу запустить свой проект в тг. Что-то между пирамидой и майнилкой. Еще подобного ничего не было. Уникальная идея. Нужен именно не бот, а приложение. С ввод, выводом тон...
Павел А.
6
а как бы вылезти из ИО, что то типа IO -> Ether или в какую сторону смотреть ? что то туплю
Fedor
14
тоесть, указав return eax, сгенерируется никому ненужная инструкция mov eax,eax ?
Aiwan \ (•◡•) / _bot
24
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Реально в одиночку написать игровой движок на Си?
ㅤ (SVO)
11
Всем привет, товарищи! Можете меня поздравить, получил "отлично" за дисциплину "языки программирования низкого уровня". Честно говоря, не очень хочу, чтобы основы асма, которы...
Ыиу
1
Карта сайта