Блог
Фильтр по тегам

HA: Отказоустойчивость PostgreSQL. Transaction Guard
В статье рассматривается, как в коде приложения можно выяснить, была ли потеряна транзакция при переключении на реплику, а также если команда на фиксацию была отправлена, но подтверждение о том, что она зафиксирована получено не было. Вы познакомитесь с техникой (шаблоном написания запросов) Transaction Guard.

Почему в БД на PostgreSQL популярен тип numeric?
Не будем полагаться на обзорную литературу и копнём первоисточники. Эта задача не была простой, однако с AI-агентами стало сильно легче. Так что засучим рукава и приступим.

Запросы с ANY: когда PostgreSQL дольше планирует, чем выполняет
Когда речь заходит об оптимизации запросов в PostgreSQL, разработчики, как правило, сосредотачиваются на времени выполнения: индексы, планы запросов, настройки памяти и так далее. Время планирования остаётся в тени. А зря! Планировщик работает перед каждым выполнением запроса.

Двигаем PostgreSQL в сторону OLAP: оптимизация параллельного вычисления агрегатов
В данной статье я хочу рассказать о проверке одной гипотезы - возможности использования shared memory для ускорения параллельной агрегации методом хэширования. Статья Xu&Marcus, PVLDB, 2025 утверждает, что общая хэш-таблица — незаслуженно списанный со счетов способ параллельной агрегации, если использовать т.н. тикетинг и разделить операции поиска группы и обновления агрегата.

Как фильтр Блума ускоряет JOIN'ы в PostgreSQL
В рамках 18 релиза СУБД Tantor Postgres мы рассказывали об оптимизациях, которые помогают планировщику сделать более точный выбор между Nested Loop и Hash Join. В следующем релизе у нас планируются оптимизации, которые позволят ускорить выполнение как Nested Loop, так и Hash Join. Сегодня мы расскажем об одном из таких методов - фильтре Блума.

Как мы тестируем Tantor Postgres для 1С — от нагрузочных тестов до оптимизаций планировщика
Александр Симонов, руководитель направления развития 1С в "Тантор Лабс", рассказывает, как устроен процесс тестирования изнутри, почему одного "эталонного" прогона недостаточно, что делать, когда ванильный PostgreSQL 18 ломает собственные оптимизации, и как Tantor Postgres приближается к той планке, которую MS SQL Server держал годами.

CSN vs MVCC Postgres: решаем проблему Long Fork аномалии и причем тут деградация Postgres при тысячах SAVEPOINT-ов
Одно из узких мест масштабируемости в традиционном PostgreSQL MVCC – получение снимков. Каждый раз, когда транзакции требуется снимок, она должна получить ProcArrayLock и пройтись по всем активным бэкендам, чтобы собрать их идентификаторы транзакций. Эта операция становится все более затратной по мере роста числа одновременных соединений: при тысячах соединений конкуренция за блокировку может серьезно ограничить пропускную способность.

Exadata на Postgres, или старые архитектурные проблемы и их решение в МБД Tantor XData Gen3
Мы создали отдельный форк СУБД Tantor Polar, имеющий общие элементы и архитектуру с оригинальной открытой версией PolarDB for PostgreSQL, но представляющий собой его глубокую переработку. Далее пойдет речь именно об этой редакции, а не об open source версии PolarDB.

От неизвестной схемы до защищённой БД: полный цикл защиты данных в Tantor Certified 17
Ручной анализ схемы БД из 50+ таблиц займёт часы, а риск что-то упустить останется высоким. Каждый день промедления – потенциальное нарушение требований регуляторов.