Postgres Protocol: плюсы, минусы, подводные камни
В докладе я расскажу о структуре клиент-серверного взаимодействия Postgres. Протоколу уже 20 лет, и сейчас понятно, что в свое время можно было сделать лучше.
PostgreSQL contributor, руководитель подразделения разработки РСУБД с открытым исходным кодом, Yandex Cloud
Когда система начинает расти, часто случается, что то, что хорошо работало ранее, через какое-то время работать перестаёт. Именно так обстоит дело и с переполнением типов данных. Если в начале проекта хватало int4, то впоследствии он может полностью исчерпаться и понадобится переходить на bigint.
В своем докладе я опишу то, с чем сталкивается ДБА, опишу путь решения подобной задачи и познакомлю с утилитой, которая значительно упростит ее выполнение.
ведущий администратор БД PGMechanix
От реплики до высокодоступного кластера PostgreSQL
Приготовьтесь к путешествию по технологиям, необходимым для создания надежного и масштабируемого кластера PostgreSQL.
Начнем с основ, обсудим асинхронную и синхронную репликацию, перейдем к обсуждению Patroni — ключевого инструмента для управления репликацией и шардингом, а также поговорим о его роли в автоматизации обнаружения отказов и восстановления кластеров. Посмотрим работу кластера на живом примере, добавим HAProxy и PGbouncer для эффективной балансировки нагрузки и обеспечения высокой доступности, плюс keepalived для гарантирования непрерывной работы системы.
В общем, соберем комбинацию технологий в высокодоступный и масштабируемый кластер PostgreSQL.
руководитель DevOps «Тантор Лабс»
Опыт исправления многолетних багов на примере plv8
Расскажу, как мы обходили многолетний баг в plv8, связанный с возвратом скалярных JSON-значений из Javascript-функций, а затем исправили его, решив проблему не “костылями” в нашем коде, а на уровне оригинального проекта для стабильной работы всех пользователей.
Поделимся историей принятия нашего pull request на GitHub, дадим советы тем, кто не решается контрибьютить, и обсудим, стоит ли дожимать эту историю, ведь остался нерешенным вопрос о формате возврата NULL-значений.
О производительности PostgreSQL для разработчиков
Разработка приложения и стресс-тестирование - это здорово. Однако когда приложение уже запускается в производство и начинает масштабироваться, мы часто сталкиваемся с ситуациями, о которых в процессе проектирования не задумывались.
главный конструктор ГК Luxms
Это может быть связано, например, с новыми сценариями использования, технологическими сбоями, масштабом данных или числом пользователей. Кроме того, растет тенденция, когда общий стек технологий определяют разработчики и архитекторы, не являющиеся специалистами в области БД (в этом нет ничего плохого, тем более что это ускоряет процесс разработки и вывода на рынок).
В своем докладе я познакомлю разработчиков с некоторыми моментами, о которых следует помнить при проектировании и масштабировании приложений с использованием PostgreSQL.
Пошаговая отладка исходного кода PostgreSQL на примере pg_store_plans
Сосредоточимся на детальном практическом изучении процесса отладки исходного кода PostgreSQL, научимся компилировать его с отладочными символами и применять продвинутые техники для выявления и устранения ошибок.
Узнаем, как подготовить среду для отладочной компиляции и как настроить Visual Studio Code для эффективной отладки.
Обязательно поделюсь личным опытом: как я прошел путь от студента без опыта работы до начинающего разработчика, раскрыв для себя массу возможностей в мире баз данных.
Мониторинг ожиданий и низкоуровневые проблемы производительности PostgreSQL
Мониторинг ожиданий – универсальный инструмент диагностики проблем производительности, с его помощью можно исследовать любую внезапную деградацию в базе или недостаточную утилизацию CPU. На ожиданиях строятся основные борды мониторинга производительности в коммерческих продуктах, например Performance Insights для Amazon RDS/Aurora или базовые performance-страницы Oracle Enterprise Manager.
разработчик «Тантор Лабс»
Я расскажу о том, как на основе opensource-компонентов получить функциональность мониторинга, сравнимую с главными бордами Performance Insights. Рассмотрим основные типы ожиданий, в том числе системные (низкоуровневые), и узнаем, как уменьшить влияние факторов, свидетельствующих о проблемах масштабируемости самого ядра PostgreSQL.
Отладка потоковой репликации PostgreSQL
Репликация — довольно сложная составляющая PostgreSQL по части разработки, в ней много непростых и интересных нюансов. Проектировать правильным образом эту часть без должной отладки практически невозможно.
Я покажу, какие инструменты использовать и как писать тесты, чтобы облегчить разработку репликации.
Открытие PG BootCamp 2024 Minsk
openGauss and PostgreSQL contributor
член комитета PostgreSQL Code of Conduct c 2020 г., Председатель — с 2023 г.; член инициативной группы PG Boot Camp, организатор конференций PGDay Israel с 2017 г.
старший разработчик «Тантор Лабс»
генеральный директор «Тантор Лабс»