Обе конференции - PGConf.СПб 2024 и PGConf.Academy 2024 - прошли в октябре. Они очень разные, но мы решили их объединить - может, как раз поэтому. Разница между ними не географическая. Даже наоборот, вышел парадокс: питерского уклона в составе докладчиков на PGConf.СПб 2024 в глаза не бросались, зато представители СПб (особенно представительницы) были более, чем заметны на московской образовательной конференции.
PGConf.СПб 2024
Прошла 1 октября. Однодневная, но в два потока уместила 18 докладов. Приятно, что открывал её доклад Павла Лузанова, а закрывал - доклад Егора Рогова - оба мои коллеги по Отделу Образования Postgres Professional.
Так прямо и назывался доклад Павла. Конечно, он говорил о том, что попало в эту версию. Но начал с грустного - с того, что в неё НЕ попало, что откатили. При наличии желания и свободного времени можно проанализировать самостоятельно его обзоры PostgreSQL 17: Часть 5 или Коммитфест 2024-03, 2024-01, 2023-11, 2023-09 и 2023-07. Но куда удобней узнать об успешном и неуспешном продвижении патчей из 40-минутного выступления.
Все видео и слайды выступлений доступны на сайте конференции тем, у кого есть доступ в личный кабинет. Они будут выложены в общий доступ, но существенно позже. Кроме этого доклада: он уже выложен в общий доступ: в you- и rutube. Как и you- и rutube версия доклада для PGConf.Russia 20224 - ещё предварительная, до выхода PostgreSQL 17. Так что можно сравнить.
А с тех пор Павел успел сделать ещё один обзор, заглянул в будущее: PostgreSQL 18: Часть 1 или Коммитфест 2024-07.
Был в программе пророческий доклад: WatchDog: применение Prophet и Scikit-learn (SKLearn) в прогнозировании роста объёмов баз данных PostgreSQL.
Игорь Сидельников, старший бизнес-эксперт Иннотеха, выбрал для DB-пророчеств эти 2 пророческих инструмента. Он объяснил, почему именно эти, как ими пользоваться, и чего удалось добиться. Инструменты, как я понял, вполне классические, LLM-ы в предсказаниях не участвуют.
Лучшие практики по оптимальной работе базы данных на примере PostgreSQL - доклад Владимира Ситникова, инженера по производительности (performance engineer — по его собственному определению; он также является: мейнтейнером PostgreSQL JDBC, коммитером JMeter, членом программных комитетов JPoint, Joker, Heisenbug, DevOops и SmartData.
В докладе он рассказал о казусах со статистикой планировщика, развенчал Мифы Секционирования, обратил внимание публики на неочевидные эффекты применения OFFSET.
В докладе cgroup V2 — Ограничение ресурсов PostgreSQL Камиль Каримов, инженер из Postgres Professional, заглянул, как видно из названия, под СУБД: в недра ОС Linux и его интерфейса systemd. CGROUP (контрольные группы) дают более гибкие возможностеи для настройки ресурсов, чем другие механизмы Linux. Свою задачу - распределить ресурсы в условиях работы нескольких экземпляров PostgreSQL на одной физической машине - он демонстрирует на тестовой машине с PostgreQSL.
Михаил Сироткин и Вадим Лактюшин, стажёр и инженер Postgres Professional, заглядывали под капот PostgreSQL, уже не в шасси, так сказать. Их доклад назывался pg_uprobe: Профилируем Си-шные функции PostgreSQL без боли и печали.
Это новое расширение от Postgres Professional. Зачем оно - хорошо объясняется в аннотации к докладу:
"Профилировать программы с помощью gdb/perf/ebpf/whatever бывает накладно по ряду причин. ebpf/perf выполняются в пространстве ядра, PostgreSQL работает в пользовательском пространстве, а переключение между пространствами может сильно ухудшить производительность. Также профилирование требует специальных привилегий, которых часто не хватает, и может сильно отличаться на разных операционных системах. Расширение pg_uprobe для PostgreSQL решает выше перечисленные проблемы". Но умеет делать и ещё некоторые полезные вещи.
Этот доклад с красивым названием подготовила разработчица Postgres Professional Екатерина Соколова. Екатерина хорошо рассказывает и даже, между прочим, примеряла роль ведущей на PGConf-Academy (о которой дальше). И получилось складно.
В названии отображены 2 из 4 пунктов плана, он у Кати в форме детективной истории:
найти подозреваемых (а это в основном долгие запросы),
допросить их (тут и о методах допроса),
обезвредить злоумышленников,
"напоследок на всякий случай, может, посадим садовника".
Что за садовник, я не понял, это, наверное, субкультурный мем. Но там ещё много чего: освобождение места преступления, наручники и даже подписка о невыезде :)
И не один я впечатлился креативностью Екатерины: этот доклад получил 1-е место в голосовании публики (2-е место у Егора Рогова, см ниже, 3-е у Павла Лузанова, см выше).
Адаптивный исполнитель запросов
При этих словах на ум обычно приходит AQO. Но Алёна Рыбакина, разработчик Postgres Professional, звезда заграничных Postgres-конференций, рассказывает о расширении SwitchJoin, которое имеет возможность, помимо основного выбранного оптимизатором пути NestedLoop, сформировать запасной. И в случае, когда количество кортежей было предсказано слишком малое, может переключаться на него. В разработке AQO она тоже, кстати, участвовала, как и в разработке sr_plan, AQE (replan) и других исследованиях по перепланированию.
Об этих работах можно получить представление и из блога Conserving CPU's cycles Андрея Лепихова, с которым Алёна нередко выступает в соавторстве.
Этот доклад дополняет другой - Инструменты Postgres Pro для исправления, фиксации и миграции планов проблемных запросов Александра Котина, тоже из Postgres Professional, где он рассказывал как раз об AQO, AQE (replan), sr_plan, pg_hint_plan и о многом другом.
Конечно, о других новых разработках Postgres Professional тоже говорилось, и не всегда их разработчиками. Вот, например, доклад Как мы тестировали Postgres Pro BiHA. Тестировал Биху Василий Пучков, главный эксперт ООО «ЛУКОЙЛ-Технологии», о чём и рассказывал подробно.
Без двух тем не обойтись никак: это репликация и безопасность.
Необычные возможности системы резервного копирования WAL-G
Андрей Бородин Yandex Cloud. Андрей любезно составил оглавление лекции (жаль, без тайм-кодов; болд мой):
Настройка троттлинга для изменения обычного режима "дешевое резервное копирование - быстрое восстановление".
Расширенные возможности мониторинга согласованности для обеспечения надёжности резервных копий.
Catchup для быстрого сокращения лага и другие функции кластера высокой доступности.
Различные методы извлечения набора изменений для инкрементного резервного копирования.
Кроме того Андрей, как и обещал, рассказал о планах на будущее, включая создание согласованных резервных копий для шардированных кластеров и использование расширенных возможностей S3.
Выбор репликационного протокола при разработке pg_probackup3 - доклад Дарьи Лепиховой, разработчицы ПО, и Алексея Дарвина, менеджера продукта, оба Postgres Professional. Многие знают pg_probackup, многие им пользовались (он доступен с 2016), но не все знают, что pg_probackup3 - это инструмент переписанный до основания. Вот Дарья и объяснила: сейчас есть версии:
2.8.3 STD и
Первая из них с открытым кодом. Что касается этой самой 3-й, то она в фазе beta. Она очень сильно отличается от 2.х, в том числе архитектурно. То есть тем, кто задумывается об использовании этой версии, послушать очень полезно.
Безопасность отрасли СУБД-строения в России на примере PostgreSQL - рассказывал Валерий Попов Руководитель отдела ИБ Postgres Professional. Это был не был доклад о коварных атаках и самоотверженных защитниках Postgres. Валерий основное своё рабочее время тратит на сертификацию наших версий, тех, что для этого предназначены. "Тема эта многим может показаться скучной". Но она интересует очень многих, тут не до развлечений. А Валерий наглядно пояснил, что ФСТЭК хочет от разработчиков, как происходит взаимодействие.
Но сертификат все проблемы не решает. Сертифицированные версии некоторых продуктов обновляются не так часто, как этого требует выявление уязвимостей. Очень интересная диаграмма: живучесть уязвимостей у различных производителей (имена не называются, не надейтесь). Есть настоящие уязвимости-долгожители. Примерно половина доклада посвящена технической деятельности: грамотным с точки зрения безопасности настройкам Postgres.
Сиквел и приквел: занимательная археология
Егор Рогов, отдел образования Postgres Professional. Это не исторический нарратив, а гибридный: историко-программистский. Все события тех великих времён сопровождаются фрагментами кода - на CODASYL, например. Я думаю, что новое узнают даже те, кто историей Postgres и SQL плотно интересовался.
Из классиков, встретятся Чарльз Бахман, (Charles Bachman, создатель CODASYL), Эдгар Кодд (Edgar F. Codd, он же почему-то Тэд), Реймонд Бойс (Raymond Boyce, "нормальная форма Бойса-Кодда", он умер в 26 лет), Джим Грей (James Nicholas "Jim" Gray, от которого пошёл ACID), Пэт Селинджер (Patricia Selinger, которая, в общем, придумала в 79 году оптимизатор в современном виде). Ну и, конечно, Майкл Стоунбрейкер (Michael Stonebraker) и Ларри Эллисон (Lawrence Joseph Ellison).
PGConf.Academy 2024
Процитирую себя в Postgresso 9 (70) о PGConf.Academy 2024:Я встретил там людей, с которыми не пересекался много лет, которых, например, знал по суперкомпьютерным конференциям. Интересно время от времени вырываться из круга сугубых постгресистов. Проходила конференция в интересном месте: в новом здании, названном ИНТЦ МГУ «Воробьёвы горы», кластер «Ломоносов» (Раменский бульвар, д. 1 — это на бывшем "пустыре" между проспектами Мичуринским и Вернадского, глубже, чем "Шуваловский" корпус). На финальном построении докладчиков наблюдалось и довольно редкое для постгресистов явление: гендерный баланс.
/Прошла она 9 октября, довольно компактно, в один поток. Что не помешало ей быть содержательной. Итак, начнём с питерской делегации. Две докладчицы представляли Национальный исследовательский университет ИТМО (некогда ЛИТМО - Ленинградский институт точной механики и оптики).
Мария Токман рассказывала об Автоматической генерации заданий для курсов по базам данных. Это небольшой доклад, фокус там на тренажёрах и тестах с автопроверкой. На курсе тысячи студентов, и надо насочинять для них много вариантов. В данном случае шаблоны заданий создаются с помощью регулярных выражений на основе выбранных демонстрационных баз.
Здесь позволю себе очень лирическое отступление. Когда я учился в институте (ныне университете, разумеется), у нас были лабы с проверочными заданиями: надо было нажимать на кнопочки, выбирая правильные ответы на появляющиеся вопросы. Перед такими лабами мы скидывались на портвейн лаборанту, который передавал нам последовательности правильных нажатий, после чего уже между нами шёл розыгрыш в карты, в кости или на пальцах: кто на этот раз будет отличником, а кто троечником - надо ж и честь знать.
Так что автопроверка это дело более, чем серьёзное.
Ещё ИТМО:
Использование DBaaS в учебном процессе Университета ИТМО
Наталья Графеева, кандидат физико-математических наук, доцент ИТМО. Она соавтор книжки Основы технологий баз данных (Б. А. Новиков, Е. А. Горшкова, Н. Г. Графеева; под ред. Е. В. Рогова.
Университет ИТМО в 2024 году впервые использовал в учебном процессе сервис DBaaS, который предоставил доступ к СУБД Postgres Pro V15. Для этого преподавателями Университета было создано несколько демонстрационных баз, предназначенных для выполнения учебных и контрольных заданий. Кроме того, сервис использовался для выполнения итоговых проектов в курсе Хранение и обработка данных. Доступ предоставили в декабре 2023.
Создание интерактивного портала для обучения базам данных
Екатерина Андрианова, старший преподаватель СПбПУ (Политех). В докладе говорилось о двух формах деятельности:
НИРС и
PolySQL.
Я остановлюсь на PolySQL. Это не кастомизированная версия SQL, а интерфейс интерактивного учебного портала. Для его создания использовались:
React - для разработки фронтенда, что позволило создать удобный и интуитивно понятный пользовательский интерфейс;
NodeJS - для реализации серверной логики и обработки запросов, что обеспечило быстрое и асинхронное взаимодействие с клиентской частью;
PostgreSQL - для хранения и управления данными, обеспечивая надежность и производительность.
Дембаза не наша: у нас - Авиаперевозки, у Политеха - Теплоходы. Оно и понятно. Преподаватели планируют вовлекать в разработку и поддержку студентов младших курсов. Планы:
добавить на портал решение задач по реляционной алгебре,
совместить с проектом "CASE система",
добавить возможность автоматической проверки запросов.
И это ещё не вся питерская делегация!
Ирина Юрьева, преподаватель ФГАОУ ВО «Санкт-Петербургский государственный университет аэрокосмического приборостроения»:
Заметьте, это были не самые северные гости. Так как был ещё и представитель САФУ - Северного (Арктического) федерального университета (Архангельск) - Александр Зубарев, исполнительный директор проектного офиса. С докладом:
Опыт внедрения СУБД PostgreSQL в дисциплины направления Информационная безопасность
Его темы - ИСПД, аттестация, тестирование. В Университете есть ряд дисциплин, которые связаны с вопросами защиты СУБД. Как выяснилось из ответов на вопросы, с ВУЗами СПб у университета довольно интенсивные связи.
Ну а что с Сибирью? Сибирь в порядке:
Евгения Моргунова, кандидата технических наук, доцента Сибирского государственного университета науки и технологий (СибГУ) имени академика М. Ф. Решетнева в Красноярске, мы прекрасно знаем: Postgres Professional помогал ему в издании книги PostgreSQL. Основы языка SQL. Кстати, готовится к выходу продолжение этой книги, которое будет посвящено расширенным возможностям языка SQL.
Его доклад назывался Опыт внедрения СУБД PostgreSQL в учебный процесс в вузе. Из доклада нам известно, что Евгений преподавал ещё и в Сибирским федеральный университете (СФУ) в Красноярске, и в Вышке (ВШЭ) на Факультете компьютерных наук (ФКН). Он показывает этот процесс со всех сторон, от формирования книжной полки до выбора технических средств. Для обучения выбиралась СУБД PostgreSQL на Linux (обычно Debian).
Доклад старшего преподавателя Новосибирского государственного университета (НГУ) Михаила Рутмана называется Как помочь студенту, который хочет в системное программирование.
Если Евгений Маргунов начинал как разработчик, то Михаил Рутман - действующий ведущий разработчик Postgres Professional, участвует в создании отказоустойчивых решений. В этом докладе он тоже погружается довольно глубоко в технические детали, на слайдах то и дело мелькают куски кода - что для этой конференции не очень характерно. Во второй трети доклада Михаил рассказывает про PGLab-NSU - совместный проект Postgres Professional и НГУ. Кстати, он говорит, что время от времени лаборатории преобразуются в стартапы.
СПб => Арктика => Сибирь => Москва.
От Москвы было 4 доклада, половина их от замгендира Postgres Professional Ивана Панченко. Я остановлюсь на одном. Потому, что был буквально в восторге:
Астроликбез для преподавателей ИТ
В недлинный доклад Иван уместил столько интересных фактов-парадоксов, обманок, что ... что очень рекомендую его прослушать целиком не только преподавателям ИТ, а жёнам, мужьям и детям айтишников.
AlexDevil666
В этом году PGConf.СПб 2024 и PGConf.Academy получились просто невероятными! Программисты, аналитики, администраторы баз данных – все собрались, чтобы обсудить будущее PostgreSQL, и атмосфера была на высоте. Конференция порадовала разнообразием тем: от основ для новичков до глубоких технических вопросов для опытных специалистов.
На PGConf.Academy были мастер-классы, и это прям-таки суперспособ учиться! Живое общение с экспертами, детальное разъяснение сложных вопросов – такой формат помогает действительно глубже понять, как работает PostgreSQL. Мне понравилось, как лекторы доносили материал: никакой сухой теории, все по делу и с конкретными примерами.
Главный день конференции стал настоящим погружением в мир PostgreSQL: было много интересных докладов, панельные дискуссии, а после этого – свободное общение и networking. Ощущение, что ты становишься частью большого профессионального комьюнити, где каждый готов поделиться опытом и инсайтами.
Особенно ценно было видеть, как наши ведущие PostgreSQL-эксперты и разработчики из разных стран обсуждают насущные проблемы и делятся своими решениями. Атмосфера открытости и поддержки – то, за что хочется возвращаться на PGConf каждый год!