Новости

Всё, что вы хотели знать о PostgreSQL. В Казани прошел PG BootCamp Russia 2024

17 сентября в Казани состоялся очередной PG BootCamp Russia, российская часть глобальной инициативы PG BootCamp, миссия которой – объединить энтузиастов и экспертов в области СУБД с целью дальнейшего роста и развития PostgreSQL.
Встречу открыли генеральный директор «Тантор Лабс», член инициативной группы PG BootCamp Вадим Яценко и председатель комитета PostgreSQL Code of Conduct, член инициативной группы PG BootCamp Михаил Гольдберг. Их совместное выступление было посвящено истории движения PG BootCamp. Российское сообщество профессионалов СУБД PostgreSQL постоянно растет. Так, в октябре 2023 года в Москве состоялось первое мероприятие, его посетили очно и онлайн около 1 000 участников из 16 стран, в апреле 2024 года на встрече в Минске размер русскоговорящей аудитории превысил 1 600 человек, а в этот раз на мероприятие в Казани зарегистрировалось уже свыше 2 600 участников из 25 стран.
«Мы постоянно растем по количеству участников и качеству докладов. И главное – стараемся оставаться частью мирового комьюнити PostgreSQL. Это очень важно – развивать общую историю», – отметил Вадим Яценко.
«Это четвертая по счету конференция в рамках глобальной инициативы PGBootCamp, и можно сказать, что проведение ее в разных локациях уже стало доброй традицией. Следите за новостями мирового сообщества PostgreSQL и предлагайте свои идеи по новым городами и странам, где вы хотели бы провести PGBootCamp в следующий раз. Организационный комитет обязательно учтет ваши пожелания при планировании событий», – подтвердил Михаил Гольдберг. Он проанонсировал проведение PGDay Israel 20 октября в Тель-Авиве и PG BootCamp Russia весной 2025 года в одном из городов России.
Зрителей ожидал приятный сюрприз – обращение по видеосвязи Брюса Момжана, соучредителя и члена основной команды глобальной группы разработчиков PostgreSQL. Он поддержал участников и выразил уверенность в том, что даже в это сложное для всего мира время деятельность сообщества не прекратится.
Ведущий архитектор баз данных «Тензор» Кирилл Боровиков рассказал о полезных SQL-конструкциях в PostgreSQL. Он подробно остановился на том, какие возможности синтаксиса SQL-запросов позволяют писать в PostgreSQL более компактный и производительный код. Среди них такие элементы, как конструктор массива ARRAY, операторы WITH ORDINARITY, IN, ANY, ALL, TABLE, CASE, функции COALESCE и NULLIF, UNION ALL, LATERAL и другие.
Технический директор «ХиКвадрат» Константин Ващенков посвятил выступление возможностям реализации подхода low-code в Postgres: практике создания database-centric application и наиболее полезных платных и беcплатных расширений PostgreSQL, необходимых для его превращения в средство low-code. Ведущим игроком на глобальном рынке LCDP является компания Oracle, предлагающая OracleDB в качестве ядра платформы и четыре продукта в качестве обвязки: Application Server, RESTfull API server, сервер отчетов и интегрированную среду разработки, которая и дает возможность разработчику программировать, зная только один язык – SQL. Реализовать подобную схему можно и на PostgtreSQL с помощью многочисленных расширений, планировщиков, средств миграции, обертки внешних данных, процедурных языков. Для их применения в качестве low-code необходимо научиться пользоваться различными вариантами JSON.
Разработчик «Тантор Лабс» Сергей Соловьев поделился опытом отладки планировщика Postgres. Он рассказал о принципах его устройства и основных структурах данных. Планирование – один из этапов обработки запроса, который, в свою очередь, также делится на составные части: Preprocess, Optimize, Find Paths и Create Plan. Теоретическая часть доклада была дополнена мастер-классом, а в качестве резюме спикер дал несколько советов по быстрой отладке.
Максим Милютин, openGauss и PostgreSQL contributor, раскрыл особенности разделяемого буфера, или буферного менеджера, как одного из наиболее «горячих» мест в нагруженной СУБД. Разделяемый буфер – это фрагмент памяти, созданный для быстрого обращения к страницам, которые расположены на диске. Спикер описал работу буфера от простейшей модели до актуального состояния в Postgres, затронув сложные и малопонятные участки кода, сделал обзор процессов вокруг буфера, текущих и потенциальных средств его мониторинга и отладки, нюансов реализации и оптимизирующих конструкций.
Ведущий администратор БД компании PGMechanix Александр Никитин поделился лайфхаками, которые позволят DBA тратить гораздо меньше времени на рутинные операции. Среди них – утилита PuTTY и ее более продвинутые версии Kitty и SuperPutty, настройка горячих клавиш для автоматизированного выполнения наиболее частых команд, программы для создания заметок наподобие Joplin и Obsidian. Спикер высказал мнение, что для постоянного саморазвития администратору БД стоит использовать разнообразные источники знаний: документацию к ПО, конференции, профильные группы в «Телеграме», RSS-подписки на сайты, книги.
Разработчик «Тантор Лабс» Артем Бугаенко рассказал о применении векторной обработки массивов данных для оптимизации производительности Postgres. В отличие от классической архитектуры SISD, векторная архитектура SIMD (Single Instruction Stream & Multiple Data Stream) дает возможность выполнять одну арифметическую операцию над многими данными-элементами вектора. Идея SIMD зародилась еще в прошлом веке, ее первая итерация появилась в 1997 году на процессоре Intel Pentium MMX. В дальнейшем технология развивалась в плане расширения вектора, оптимизации и добавления новых команд. MMX (MultiMedia Extensions) была вытеснена SSE (Streaming SIMD Extensions), а впоследствии – AVX (Advanced Vector Extensions). Сегодня SIMD успешно применяется в том числе и для оптимизации работы PostgreSQL. В практической части выступления спикер показал различия последовательной и векторной обработки массивов данных на CPU, раскрыл особенности использования SIMD и AVX на базе Postgres и продемонстрировал методы достижения прироста производительности до 64x.
Технический руководитель отдела ТП «Тантор Лабс» Артем Сергиенко посвятил доклад обеспечению безопасности баз данных Postgres – проведению аудита безопасности СУБД и решению обнаруженных проблем. Помогают в этом стандарт CIS Benchmark for PostgreSQL, а также автоматизированные инструменты, например Timescale/Pgspot для проверки расширений, Pgaudit и PgBadger для аудита всех событий БД, Pgdsat для проверки параметров безопасности кластера PostgreSQL согласно стандарту. Спикер особо отметил, что аудиты безопасности должны проводиться в компаниях регулярно и сопровождаться документированием результатов проверок, своевременным обновлением СУБД, планированием действий и постоянным улучшением безопасности.
Андрей Бородин, PostgreSQL contributor, руководитель подразделения разработки РСУБД с открытым исходным кодом Yandex Cloud, систематизировал подходы к разработке ядра Postgres, объединив в одном докладе все актуальные практики сообщества PostgreSQL.
Зрители могли присоединиться и к дополнительному потоку выступлений, в рамках которого прозвучали еще два доклада: разработчики «Тантор Лабс» Максим Ибрагимов и Денис Родионов рассказали о способе анонимизации данных с использованием pg_anon, а DevOps-инженер «Тантор Лабс» Максим Багиров – о развертывании отказоустойчивого кластера с бекопированием и репликацией в облачное хранилище S3. Оба выступления проводились в формате мастер-класса.
Кроме официальной программы, участников PG BootCamp Russia Kazan ожидали квизы от партнеров мероприятия по PostgreSQL, в частности от генерального партнера — компании «Тантор Лабс».
Обсуждение нюансов работы с СУБД продолжилось в кулуарах.
2024-09-26 12:31