powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / массовый DELETE и репликация
3 сообщений из 3, страница 1 из 1
массовый DELETE и репликация
    #40005405
kliff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет. Кто может подсказать, как боретесь и решаете такую задачу:

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

Какие приемы здесь возможны? Удалять процедурой, пачками с задержкой?
...
Рейтинг: 0 / 0
массовый DELETE и репликация
    #40005408
Melkij
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Удалять частями.

Или, если применимо, удалять вообще целиком таблицу. Данные которые удалять не нужно - перенести в другую табличку идентичной структуры, затем переименовать её в старую.
...
Рейтинг: 0 / 0
массовый DELETE и репликация
    #40005504
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kliff
Всем привет. Кто может подсказать, как боретесь и решаете такую задачу:

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

Какие приемы здесь возможны? Удалять процедурой, пачками с задержкой?


вариантов много
1)действительно удалять пачками с задержкой и контролем лага репликации (как раз можно исходя из лага и задержку считать)
2)если удаляется 90% таблицы - то выгоднее что не надо удалять перенести в новую таблицу а старую дропнуть

далее если у вас эта задача регулярная а не разовая то стоит следующие вещи изучить
1)нельзя ли сделать партиционирование таблицы так чтобы просто удалять ненужные партиции целиком (это дешево по wal) вместо удаления данных
2)понять почему репликация отстает
вариантов тут 3ре на самом деле
а)не хватает сети на передачу wal потока (любят некоторые базу на 1gbit сетку поставить и/или c 100+ms сетевой latency между мастером и репликой)
б)не хватает дисков на запись wal на реплике (бывает если дисковая система на реплике перегружена или слабее чем на мастере)
в)не хватает CPU на проигрывание wal на реплике (бывает если CPU по производительности на 1! ядро на реплике заметно слабее чем на мастере)
самое вероятное по моей практике а)
для решения между а-б-в - pg_stat_replication view на мастере используйте там все видно


--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / массовый DELETE и репликация
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]