Иван Панченко и Олег Бартунов
Иван Панченко и Олег Бартунов

Этот небольшой обзор рассказывает о двух конференциях: PGConf.Russia 2025 и PgConf Nepal 2025. Совсем разные, но в чём-то похожие. Главное отличие для меня: что на первый я был, а на второй не был. Но коллега Егор Рогов присылал мне впечатления и фотографии. И не он один.

А общее то, что докладчики и доклады, прочитанные в Непале, нередко пересекались с московскими, поэтому во второй части фокус будет, скорее, на атмосфере и пейзажах.

Москва

PGConf.Russia 2025 прошла в месте историческом: в Центре Международной Торговли. История её короткая, но эффектная: построили в конце 70-х, ЦМТ был сначала Совинцентром, потом Хаммеровским центром - это было в то время такое окно в Европу. Через окно входили и выходили технологии и бизнес. Скульптура Меркурия перед фасадом мелькала тогда то и дело в новостях. Бизнес, судя, например, по машинам на парковке, это здание (комплекс зданий) отнюдь не позабыл. Хотел написать (и, как видите, написал) круче только в Кремлёвском Дворце Съездов эту конференцию провести, но это и не так, и ГКД тут ни при чём. Но я был впечатлён, и некоторые бывалые коллеги вспоминали былые тех-события, проходившие здесь во времена, когда таких мест в Москве было раз два и обчёлся, а может и раз - без два.

Но ещё больше впечатлило прибавление числа участников. Офлайн и онлайн посетило в сумме больше 2 тыс. человек (рекорд конференции), но впечатлили присутствующие телесно: зарегистрировалось 1120, но казалось, что их в 2 раза больше, чем на предыдущей (а там было 800 телесных и 600 виртуальных, на этот раз зрителей онлайн было 1100). Во всяком случае, до сих пор не было случая, чтобы я не попал на какой-то доклад из-за того, что не занял место заранее. Говорят, съели и выпили больше 3 тонн продовольствия. Так я думал, но уточнил, и выяснилось, что 3 тонны только съели, а ещё кофе выпили 2 тонны 340 л. Хотя, вроде, усердствовали в этом не больше обычного.

Толпящиеся у стендов и у столов с закуской распределились по двум этажам: один этаж отдали стендам (5 шт.) с решениями Postgres Pro, другой (8 шт.) - другим компаниям-участникам. Три зала = 3 потока, ну это как обычно. 50 с чем-то докладов. Сейчас доклады доступны: видео и презентации участникам конференции (то есть имеющим доступ в личный кабинет), а фотографии - всем желающим. И то, что пока доступно только участникам, постепенно будет выкладываться в общее пользование.

Новый дизайн слонов, между прочим
Новый дизайн слонов, между прочим

На этой конференции были опять мастер-классы (они мигающие: то появляются, то исчезают на PGConf). Они очень разные по темам и объёму: от умеренных по 20-30 минут к 60- и 90-минутным и до 2 часовых (на прошлых конференциях случались и 3-часовые).

Мастер-класс Андрея Бородина
Мастер-класс Андрея Бородина

Мастер-классы были только live, задним числом их посмотреть нельзя, останавливаться на них не буду. Ну разве что процитирую аннотацию к мастер-классу Андрея Бородина - доклада самого интригующего, но который я пропустил, да и ноутбука с собой не было:

Попробуем атаковать базу данных с историческими уязвимостями. Для примера будут взяты три уязвимости, я расскажу в чем суть этих уязвимостей и попробуем сделать подход к их взлому. Бери с собой ноутбук с возможность docker-compose, например colima.

Некоторые из дававших мастер-классы делали и доклады. Андрей, например, не ограничился любимой темой эксплойтов, а рассказывал ещё и о своём опыте по сжатию WAL. Речь о сжатии больших записей, а не всего WAL. Он предложил свой способ решения проблемы с большими записями сообществу, вот его письмо в рассылку hackers: Compress big WAL records. Андрей обсуждает способы сжатия, в докладе есть и весьма интересные обобщения.

Некоторые доклады образовывали тематические пары - мне нравится такой подход. Например: Изменение структуры таблиц в PostgreSQL с помощью технологии DBMS_REDEFINITION - это доклад Игоря Мельникова, в своё время перешедшего из Oracle в Postgres Professional. Сейчас Игорь был приглашён уже как независимый консультант. Как и он сам, его разработка имеет оракловые корни. Расширение Postgres с названием dbms_redefinition повторяют пакет с тем же названием в Oracle: DBMS_REDEFINITION - там тот же состав и те же названия функций и их сигнатуры. Игорь написал свой постгресовый пакет целиком на PL/pgSQL, в нём примерно 2 тысячи строк кода. Ссылки нет - пакет ещё не выложен на githab. Но там будет. В конце выступления (в презентации это стр. 21) есть список ограничений. А дальше (стр. 22) есть даже и сравнение с pgpro_redefinition. Понятно, что у pgpro_redefinition галочек - функциональных возможностей больше, но dbms_redifinition будет работать на любом PostgreSQL, не только Pro.

Пару образует доклад Александра Попова из Postgres Professional pgpro_redefinition — итоги переработки - итоги работы за год. Это тот случай, когда надо смотреть доклад, пролистнуть презентацию недостаточно. Александр говорит, что не собирался делать этот доклад (между прочим, на этой конференции он выступал аж 3 раза: кроме 2-часового мастер-класса и этого доклада, ещё и доклад Хранение файлов в Postgres - итого 40+40+120=3ч 20мин). Но, когда узнал о заявленном докладе Мельникова, понял, что надо прояснить некоторые нюансы. Александр, кстати, рассказывал о расширении pgpro_redefinition и на PGConf.Russia 2024.

Дело в том, - сказал он, - что богатая функциональность не самоцель. Некоторые фичи при тестировании на больших таблицах показали себя тормозными, и от них решили отказаться. Так случилось с отложенным переносом данных: там не обойтись без построчного копирования, а от него отказались в пользу копирования постраничного, которое гораздо более быстрое. И там появился и надёжно работает параллелизм.

Логическая репликация работает хорошо и надёжно, но решили, что в этом расширении ей делать нечего, за логической репликацией лучше обратиться к другим инструментам Postgres Pro Enterprise. И так далее - очень важный материал для пользователя или потенциального пользователя этого расширения.

Когда я писал об этих докладах, неожиданно набрёл ещё на один dbms_redefinition - оказывается, есть разработка с таким названием на базе pg_migrate и pg_repack у китайского коллектива HaloLab. Не в обиду автору доклада, только информации ради.

Управление петабайтами логов в PostgreSQL - Крис Трейверс (Christopher Travers), гендир OneMoreData. Это был один из 4 иностранных докладов, второй тоже был Кристофера - о стрессах админа базы. Остальные два транслировались: доклад Перевод T-SQL (MS SQL Server) в PL/pgSQL - Карела ван дер Валта (Karel van der Walt, Mental Arrow) и Migrating from Oracle PL/SQL to PostgreSQL PL/pgSQL : Navigating Differences and Optimization Challenges - Абхинава Сангара (Abhinav Sagar, CSG International - Индия).

Крис постоянный участник PGConf.Russia, с Postgres он уже 27 лет, постил патчи, делал проекты, с очень большими данными работает лет 8-10. И ему есть что рассказать. Не на каждом докладе услышишь, что "с 10ПБ мы управились легко". И необычно то, что акцент проектов был на масштабируемости на запись, а не на чтение.

Начало этой истории на прошлом месте работы Криса - немецкой компании Adjust. Мы-то об этой компании немало слышали. Например, мы нередко рассказываем о статьях хорошо нам знакомого Артура Закирова (Artur Zakirov). Крис рассказывает, как организовывали работу с Kafka, как ворочали данные лопатами данных (Data Shovel, Data Schoufel по-немецки), как довели ElasticSearch до предела его возможностей, когда система захлёбывалась и выпадали ноды. И как с этим справлялись.

Через пару лет уже в другом проекте потребовалась еще более масштабируемая система с высокой нагрузкой на запись и редкими чтениями. Разработку в Adjust пока что не отдали в опен сорс, поэтому пришлось делать многое заново - и уж на этот раз всё в опен сорс.

Построили такую систему на PostgreSQL. Разработку назвали Bagger - так зовётся гигантский крупповский роторный экскаватор (не шагает, гусеничный). Bagger способен управлять логами объёмом в десятки и сотни (!) петабайт. Между прочим, такие объёмы копились не годами, а за месяц.

Вот этот bagger: Massive log storage in PostgreSQL. Команда с некоторыми людьми из Adjust писали в основном на Perl (Perl Dancer) и C (триггеры все на C). Может поменяем некоторое число нод на Citus, но это из тех вопросов, которые решаются, а не решены - говорит Крис. Пока что с масштабированием на запись всё хорошо, но одновременно ещё и масштабировать по чтению - задача сложная. И ещё один из нерешённых, рассматриваемых вопросов - можно ли отказаться от TOAST. А ключевое слово доклада, пожалуй, компромиссы.

Крис Трейверс: вот такие большие петабайты
Крис Трейверс: вот такие большие петабайты

Как PostgreSQL может сделать больно, когда не ожидаешь - Михаил Жилин.

Этого доклада многие ждали. Из-за этого я на него и не попал: выделили большой зал, но не только все места были заняты, а целая толпа ещё стояла в коридоре у входа. От Михаила ждали технически насыщенного доклада и артистизма и дождались, судя по тому, что этот доклад получил больше всего зрительских симпатий (но на PGConf награды не дают сотрудникам Postgres Professional). Интересно, какие бы были баллы, если б давали отдельно за технику и артистизм? Напишу всё же немного - по видео.

Страдания и кошмары. Только реальные примеры, но все имена изменены, а совпадения случайны.

В доклад Михаил уместил 6 увлекательных историй:

  1. глобальные счётчики;

  2. потерянные индексы;

  3. to truncate or not to truncate?

  4. коммить, восхищай!

  5. когда физическая репликация отстаёт;

  6. когда физическая репликация отстаёт, ещё раз, по-другому.

Без котиков теперь никак
Без котиков теперь никак

Михаил нещадно эксплуатирует метамемы, в докладе полно и моих любимых картинок - диаграмм FlameGraph, они в изобилии появляются в коммить, восхищай! и уже не слезают с экрана проектора - как и результаты perf и других инструментов подлинного исследователя производительности.

Выводы (их 3) такие:

  1. умение профилировать даёт понимание сути проблемы;

  2. свежие версии — это не только фичи, но и…

  3. PostgreSQL можно разогнать до космических скоростей.. (ура!)

В докладе Как возможна Serverless база данных, для задач OLTP и OLAP Николая Голова из Postgres Professional не только бессерверные, но и бессердечные - не верите, проверьте, нет доступа - тогда да, поверьте.

В Postgresso мы довольно часто пишем о бессерверных базах. Чаще всего о Neon, создателей которой мы неплохо знаем. Николай же говорит о Snowflake и CockroachDB. Но дело не в этом, а в том, что рассказывает он об архитектурных и даже концептуальных проблемах/решениях: о Stateless/Statefull, о способах хранения, которые кажутся экстравагантными. Например, он говорит о хранении не строчном, не колоночном, а о хранении отдельных ячеек (определяемых строкой и колонкой) в огромной in memory базе key-value. И лишь за пару минут до конца своего доклада представляет Data Prostore (не путать с Prostore без Data), где есть разделение хранения и вычислений. Это действующая разработка, она была представлена на стенде.

Доклад Павла Лузанова был в самом начале. Ещё бы: тема его - PostgreSQL 18. Но мы уж очень часто начинали рассказ о PGConf с доклада Павла, пусть теперь будет пред-завершающим. Этот доклад был в самом большом зале. Зал - битком. Найти свободное место было непросто.

И так было на многих докладах
И так было на многих докладах

Выделю, что из нового в PostgreSQL 18, что мне запомнилось, а Павел счёл заслуживающим внимания.

  • Это checksums by default - подсчёт контрольных сумм теперь по умолчанию;

  • buffers - показываются теперь в Explain по умолчанию. И сколько раз сканировался индекс; дробное число строк; использование временного хранилища строк;

  • можно загрузить pg_overexplain, после чего получить в Explain дополнительные сведения: RANGE TABLE, DEBUG;

  • в мониторинге: статистика ввода-вывода для WAL; статистика клиентских процессов: ввод-вывод, WAL;

  • много по автовакууму;

  • SQL:Темпоральные ключи (не временные, а по времени);

  • из SQL: виртуальные генерируемые столбцы (раньше были только хранимые).

Расширение Вселенной и жизнь на Земле — астроном Анатолий Засов (доктор физ-мат наук, профессор физического факультета МГУ и сотрудник ГАИШ). Эта лекция была непохожа на лекцию об истории физики Вселенной Алексея Семихатова на PGConf.Russia 2024 - Открытие Вселенной силой мысли. Хотя она тоже звёздная. Обе хороши. Лектор меньше был похож на рок-звезду, не перемещался стремительно по сцене, не так эффектно интонировал, но лекция была ничуть не менее завораживающей. Ну а как иначе, когда тема - существование жизни, откуда она взялась, откуда взялась наша планета, эволюция вселенной, - а рассказывает ... тот, кто и должен и может об этом рассказывать.

PS. Опубликовали запись экспресс-доклада от Олега Бартунова, где он рассказал историю логотипа Slonik сообщества PostgreSQL - на Rutube и на Youtube.

PPS. Postgres Professional в соцсетях: YouTube, Rutube, ВК, Telegram, Дзен, Habr.

Непал

Соорганизатороми конференции были Университет Катманду и Postgres Professional. Были замечены люди из крупных банков. Это третья конференция, и впервые появились местные компании-спонсоры (внизу страницы). Так что Postgres пошёл в непальские массы.

В февральском Postgresso (следующим выйдет сдвоенный ##3-4) мы писали, что конференция пройдёт 5-6 мая в кампусе Университета Катманду в Дуликхеле (Dhulikhel, 30 км от столицы). Это не совсем точно. Практические занятия прошли в KUSoMе - в бизнес школе Университета Катманду, расположенной на окраине города.

Специально для этой конференции мои коллеги из Отдела Образования сделали двухдневную спецверсию курса DEV1 по PostgreSQL 17 (обычный DEV1 рассчитан на 4 дня). Занятия проводили Егор Рогов, Илья Баштанов и Павел Толмачев. Было примерно 30 человек, сидели, слушали внимательно, делали задания, в кулуарах задавали разнообразные вопросы - небольшая, но заинтересованная аудитория.

KUSoM
KUSoM

Сама конференция действительно проходила в Дуликхеле, и на ней было уже человек семьдесят. Для маленького Непала это не так уж мало. Делегация из Postgres Professional была многочисленной: гендир Олег Бартунов, зам гендира Иван Панченко, Михаил Жилин, Екатерина Соколова, Павел Лузанов, Егор Рогов, Павел Толмачёв, Илья Баштанов и Николай Шаплов. Открывал действо Олег Бартунов (но без бубнов и шаманов на этот раз: они, видимо, как-то не вписались в атмосферу этой буддийской страны). Речь его произвела, говорят, большое впечатление на непальцев. Олег много говорил о том, что очень важно вырастить в Непале сообщество. А 2-я и 3-я технические сессии вообще целиком состояли из наших докладов.

Выступали, конечно, и непальцы. Воркшоп по расширениям, например, проводил Свастик Гурунг (Swastik Gurung, Bajra Technologies). Были индийские докладчики (они, кажется, засветились и на PGConf.India 2025, а потом и в Москве) и пакистанский постгресист из известной компании Stormatics. Всех регулярно приветствовал профессор университета доктор Бал Кришна Бал (Bal Krishna Bal) и некоторые его коллеги. Всем причастным вручили token of love - это была кружка с логотипом конференции. Название всем очень понравилось.

Профессор доктор Бал Кришна Бал
Профессор доктор Бал Кришна Бал

Кроме Олега в качестве звёзд выступали Крис Трейверс (Christopher Travers, как и в Москве - во плоти) и Брюс Момджан (как и в прошлом году в Москве - онлайн).

Иван Панченко и Михаил Жилин
Иван Панченко и Михаил Жилин

С собой взяли сотню свежепереведенных малышек. Часть раздали на курсе, часть на конференции (на фото они перед Иваном Панченко), часть Олег торжественно передал университету для студентов.

Гигант Олег Бартунов с малышкой в руке
Гигант Олег Бартунов с малышкой в руке

Что греха таить, привлекала многочисленных российских гостей не только перспектива Postgres-пресвещения непальцев, но и прогулки, граничащие у многих с серьёзным горным туризмом. А марафон у базового лагеря Джомолунгмы-Эвереста, куда направилась часть делегации - я бы назвал экстремальным развлечением.

впереди перевал Ренжо Ла (5340)
впереди перевал Ренжо Ла (5340)

На момент написания этого обзора Олег Бартунов размялся на Таши Лапча (5800, а Эльбрус, кстати, 5642) и направляется с компаньонами к перевалу Ренжо Ла (горные фото из его блога, остальные прислал Егор Рогов).


Такие дела. Надеемся, что следующая конференция будут через год. Сначала речь шла о встрече через два года, но Олег настоял, и Бал согласился. И пообещал, что будет 100+ человек, так что придется переносить конфу в другой зал, побольше.

Тама
Тама

Комментарии (0)