title

text

Андрей Бородин
Андрей Бородин Яндекс Разработчик
Александр Каленик
Александр Каленик Kontur Software Engineer
17:00 21 июня
22 мин

Как мы ускорили GiST. Новости PostGIS 3.2

В докладе я расскажу о новом методе для быстрого создания GiST индекса в PostgreSQL 14, какие проблемы были выявлены при добавление поддержки нового метода в PostGIS и как они будут решены в будущем. Так же в докладе будет обзор нововведений PostGIS 3.2.

Слайды

Видео

Видео доступно участникам мероприятия, выполнившим вход в личный кабинет

Другие доклады

  • Д
    Денис Волков Яндекс Разработчик
    22 мин

    SPQR - легковесное шардирование

    Stateless Postgres Query Router - новая система для роутинга запросов по диапазоном. Система написана на Go и стремится решить проблемы OLTP шардирования. Также система предполагает управление перемещением данных между шардами.

  • Алексей Фадеев
    Алексей Фадеев Sibedge Старший разработчик .NET, евангелист Postgres.
    22 мин

    Сборка plv8: от архива с бинарниками до компактного докер-образа

    Расширение plv8 очень недооценено, хотя оно позволяет значительно упростить разработку для ряда задач. Уже год как мы используем его в наших проектах. Но главная причина низкой популярности – сложность сборки расширения, к тому же требующей много трафика и места на диске для временных файлов. Поэтому мы решили собирать plv8 сами и поставлять готовые бинарники (не только поставлять нашим заказчикам, а вообще выложить в открытый доступ). Сначала просто выложили бинарные файлы на github. Потом сделали докер-образ Postgres с уже установленным plv8 на основе Debian. Образ получился тяжеловатым, поэтому стали смотреть в сторону alpine, но сборка под alpine оказалась сложнее, чем мы предполагали. Я расскажу, с какими трудностями мы столкнулись и как их преодолели. Так же кратко расскажу, для каких задач хорошо подходит plv8 и как сделать процесс разработки удобнее. И, конечно, поделюсь ссылками на наши докер-образы для последних версий Postgres 13 и 14, действительно компактные и открытые для любого использования.

  • Вадим Яценко
    Вадим Яценко Tantor Lab Генеральный директор
    45 мин

    Autovacuum. Вредные советы

    В архитектуре PostgreSQL есть ряд особенностей, которые стоит учитывать не только при эксплуатации БД, но и в процессе проектирования схемы данных. Опытным пользователям PostgreSQL хорошо известен такой механизм как очистка/заморозка(vacuum). На просторах интернета есть большое количество материалов на тему внутреннего устройства, настройки и мониторинга. Множество полезных докладов было сделано на конференциях. Тем не менее, все еще происходят случаи переполнения счетчика транзакций(xid), казалось бы, в достаточно небольших БД. В этом докладе я расскажу об одном интересном, на мой взгляд, случае у нашего клиента. Поделюсь тем, как череда ошибок на разных этапах жизненного цикла БД, однажды привела к ее полной остановке более чем на неделю, wraparound-у, битым блокам, проблемам с обслуживанием и бессонным ночам в поисках решения. Локальная победа была достигнута - БД удалось восстановить, но история еще не закончена. Тем она и интересна.

  • Александр Кукушкин
    Александр Кукушкин Zalando SE Database Engineer
    45 мин

    Как Patroni решает проблему потери слотов логической репликации?

    Более семи лет назад вышел PostgreSQL 9.4, в котором впервые появились функции логического декодирования и слоты репликации. И, спустя несколько лет, на базе этих функций в PostgreSQL 10 наконец то появилась поддержка логической репликации встроенная в ядро. Казалось бы, наступило солнечное будущее к которому мы так долго шли, если бы не пара неприятных моментов: логическая репликация не работает на репликах, плюс в PostgreSQL нет механизмов создания логических слотов на реплике. Это означает что при переключении мастера на новый узел слоты репликации теряются и на практике делает невозможным использование логической репликации и CDC для серьезных промышленных решений.

    Postgres-hackers уже много лет пытаются найти решение данной задачи, но к сожалению большинство попыток и горяих дискуссий в рассылке не привели ни к чему конкретному. Но, оказывается в PostgreSQL 11 была добавлена одна маленькая функция, которая позволила решить проблему потери слотов логической репликации с помощью внешних инструментов.

    В докладе я расскажу как Patroni решает данную проблему используя исключительно на возможности PostgreSQL. Мы поговорим о плюсах и минусах данного решения, и попытаемся понять безопасно ли это немного погрузившись во внутренности Postgres.