Вакуумотерапия: лечим хронические заболевания БД
После импортозамещения и перехода с СУБД Oracle на PostgreSQL мы столкнулись как с "детскими" болезнями нашего приложения на новой СУБД, которые успешно вылечили, так и с "хроническими заболеваниями", с которыми пришлось разбираться существенно дольше. Одной из наиболее запомнившихся проблем стала проблема деградации производительности, которая, как выяснилось, была вызвана недостаточным вакуумированием нашей БД. Опыт осознания и решения этой проблемы предлагается вашему вниманию в виде практических рекомендаций по борьбе с эффектом bloat для таблиц и индексов БД, а также настройке VACUUM/autovacuum PostgreSQL.
Слайды
Видео
Видео доступно участникам мероприятия, выполнившим вход в личный кабинет
Другие доклады
-
Bruce Momjian EnterpriseDB Senior Database Architect
Beyond Joins and Indexes
My presentation "Explaining the Postgres Query Optimizer" covers the details of query optimization, optimizer statistics, joins, and indexes. This talk covers 40 other operations the optimizer can choose to handle complex queries, large data sets, and to enhance performance. These include merge append, gather, memoize, and hash aggregate. It explains their purpose and shows queries that can generate these operations.
This is a new talk; draft slides are at https://momjian.us/main/writings/pgsql/beyond.pdf
-
ММихаил Маслов Банк ВТБ (ПАО) Администратор БД
Мультитранзакции и возможные проблемы с ними
В докладе рассмотрены мультитранзакции, в каких случаях они "появляются", как их мониторить и проверять. Возможные проблемы с переполнением счетчика мультитранзакций и описана проблема отсутствия файла в pg_multixact/offsets при восстановлении из резервной копии.
-
Владимир Сердюк Softpoint Генеральный директор
Гетерогенная распределенная система – как способ безопасного перехода с MSSQL Server на PostgreSQL, а также снижения санкционных рисков
Данный доклад предназначен в первую очередь для компаний, а точнее для их ИТ служб, эксплуатирующих российские системы 1С 8.х и имеющих возможность работать как на СУБД MSSQL Server, так и PostgreSQL. Мы живем в уникальное время, когда наличие в своем арсенале гетерогенной ИТ-системы (системы, имеющей распределенную архитектуру, где каждый экземпляр базы данных работает под управлением разных СУБД и/или имеет разную структуру данных) является оправданным как с экономической точки зрения, так и с учетом возможных рисков. С одной стороны, мы храним данные и пользуемся СУБД с предсказуемым поведением и открытым кодом, независимо от политической обстановки. С другой стороны, мы при таком подходе пользуемся всеми преимуществами (в первую очередь производительности) мощной СУБД поддерживаемой крупнейшим вендором пускай и недружественного нам государства. Именно сейчас необходимо оценивать риски с необходимым уровнем паранойи. Возможно ведь, что данные могут быть испорчены не только на уровне логики хранения, но и методом дополнительного «скрытого» вызова конструкций типа Delete/Update на уровне движка СУБД. Поэтому сейчас актуальным становится не только мониторинг производительности ИТ-системы, но и аудит данных и их своевременная сохранность. Необходимо реализовывать процедуры верификации данных, необходимо реализовывать процедуры закрытия периодов, процедуры отказоустойчивого хранения. И соответственно, предусматривать в процедурах восстановления данных различные модели угроз. В докладе представлены варианты противодействия подобным угрозам и сценарии максимально бесшовного перехода больших баз данных на PostgeSQL, ведь именно для подобных баз проблема перевода на новую СУБД стоит особо остро.
-
Антон Немцев ООО "Нетрика" Руководитель направления Автоматизация
Кейс переезда СУБД с бизнес-логикой на Postgres PRO
Рассказываю про опыт выполнения проекта по импортозамещению информационной системы с СУБД Microsoft SQL Server на Postgres PRO. Владелец СУБД - АО «Росагролизинг».
СУБД содержит базу данных объемом около 6 Тб (более 300 таблиц с количеством строк до 4 млрд). Адаптировано 15 ETL пакетов и 131 процедура с полным сохранием функциональности и частичным рефакторингом исходного кода. Производительность системы осталась на прежнем уровне.