СУБД и терабайты мусора. История о том, как "PostgreSQL полетел на Марс"
СУБД и терабайты мусора. История о том, как "PostgreSQL полетел на Марс" В одном консалтинговом проекте синхронизация двух серверов БД в легаси-приложении порождала несколько терабайт временных данных в день — при том, что сама БД занимала менее 50 ГБ. Решение нашлось в двунаправленной логической репликации (bidirectional replication), которая стала возможна благодаря улучшению механизма логической репликации в PostgreSQL, которая впервые появилась в 16 версии этой СУБД. Она позволяет двум экземплярам работать в режиме «активный-активный», синхронизируясь без лавинообразного роста служебных данных. Механизм избавляет от лишних циклов и радикально сокращает накладные расходы. Эту технику инженер Percona Фернандо Лаударес Камаргос впервые представил на Postgres Conference: Seattle 2024. Но вместо сухих цифр он проиллюстрировал её… космическим круизом на Марс. Представьте: лайнер с автономной БД под управлением PostgreSQL на борту, связь с Землёй ненадёжна, а данные нужно синхронизировать при редких сеансах. Именно для такого сценария двунаправленная репликация — идеальный спасательный круг. Конечно, в реальности мы с Вами не управляем космическими кораблями. Но если Ваш проект не летит к Марсу, а просто синхронизирует два дата-центра по ненадежному или медленному каналу связи, то этот механизм PostgreSQL сэкономит вам не терабайты, а нервы. 😉