title

text

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

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

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

Видео

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

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

  • Анастасия Волкова
    Анастасия Волкова DBeaver JAVA developer
    22 мин

    Babelfish: PostgreSQL с поддержкой SQL Server

    Задачи миграции с классических коммерческих БД на open-source решения по-прежнему актуальны. Решения для миграции Oracle приложений на PostgreSQL уже хорошо себя зарекомендовали. Но что делать если у вас SQL Server? Хотим вам представить Babelfish - базирующийся на PostgreSQL 13 open source проект. Babelfish поддерживает сетевой протокол TDS, язык T-SQL и специфичные для SQL Server расширения SQL. Однако не всё так просто. Про особенности совместимости с SQL Server, проблемы и способы их решения мы расскажем в этом докладе. Бонус: история про то как мы добавляли поддержку Babelfish в DBeaver, используя JDBC драйвер от Microsoft.

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

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

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

  • Дмитрий Васильев
    Дмитрий Васильев Postgres Professional DBA
    45 мин

    Что под капотом у облачного PostgreSQL в Ozon?

    В докладе расскажу об инфраструктуре PostgreSQL в Ozon: * какой тюнинг виртуальных машин (KVM) мы делаем * какую систему контроля версий мы создали * какие драйвера мы делаем и как это связано с отказоустойчивостью и балансировкой * как мы проводим обновление параметров виртуальных машин без остановки

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

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

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

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

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