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

А если делать select for update? Плохо?

16 ответов

13 просмотров

Сама блокировка строки ничего плохого не несет, но будет нести дополнительный апдейт состояния этой строки(таска).

Sergey- Автор вопроса
Ilya Starchenko
Сама блокировка строки ничего плохого не несет, но...

вообщето после обработки строка либо удаляться будет, либо помечаться обработанной

Sergey
вообщето после обработки строка либо удаляться буд...

Это и есть апдейт состояния, который будет создавать новую версию строки, что будет провоцировать автовакуум, если у вас небольшая нагрузка, то это не проблема, в принципе.

Sergey- Автор вопроса
Sergey
что такое автовакуум?

Механизм очистки неактуальных версий строк в mvcc.

Sergey
2-5 тыс тасок в минуту где-то

Ну, я вам подсветил проблему, а там уж сами решайте:)

Sergey- Автор вопроса
Ilya Starchenko
Ну, я вам подсветил проблему, а там уж сами решайт...

а в чем проблема с автовакуумом - база нагнется если что?

Sergey
а в чем проблема с автовакуумом - база нагнется ес...

Автовакуум - это standalone процесс, который будет использовать ресурсы базы(и может даже нагнуть), большое количество версий строк делает visibility map неактуальной, так как страниц хипа становится больше, значит что и выборка по базе и индекс скан становится медленнее. Короче, проблем хватает.

Sergey- Автор вопроса

как воркеру себя идентифицировать? shed lock какой нибудь это делает?

Sergey
как воркеру себя идентифицировать? shed lock какой...

В случае подхода с «виртуальным партицированием»? Любой воркер захватывает лок на строку с партицией и читает нужный батч сообщений(в виде mod от номера текущей партиции). Плюс можно прикрутить какой-то механизм аффинити, мы для аутбокса как-то делали.

Sergey- Автор вопроса
Sergey
а есть примеры кода какие то в инете?

Не уверен, все-таки наиболее популярное решение для аутбокса - это чтение wal по средствам логической репликации, но у нас такой возможности не было.

Обычно так и делают

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

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

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