среда, 31 мая 2017 г.

Впечатления от PGCon 2017

          На прошлой неделе мои коллеги Александр Коротков, Фёдор Сигаев, Олег Иванов и я были в Оттаве — в Канаде, на конференции PGCon 2017. К нам присоединился и провел вместе с нами много времени Александр Кукушкин из Zalando. У меня все еще продолжается джетлаг (в моем случае второй день всегда самый худший), и сейчас мне трудно описать произошедшее так же поэтично и красиво, как это было на самом деле , но я попробую.




Александр (позади), Фёдор (справа), Олег (впереди) и я (слева) в Оттаве.

          Для меня представляет огромный интерес наблюдение за работой open source сообщества в реальной жизни, а не в Интернете (developer meeting, unconference, ...), а также возможность лично встретиться с разработчиками PostgreSQL. Это создает различие между тем, когда вы получаете письмо в рассылке pgsql-hackers@ отправленное кем-то, чье имя не говорит вам ничего, или — письмо от реального человека, которого вы знаете хотя бы немного. Доклады были замечательными. Больше всего мне понравились доклады «Corruption War Stories» Кристофа Петтуса и «So You Want To Make An Extension?» Кейт Фиске.


Участники встречи разработчиков на PGCon 2017. Фото Dave Page. Source.

          Я точно не знаю, кто решил пригласить меня на встречу разработчиков. Может быть, это всего лишь синдром самозванца (возможно, нет), но я не считаю собственный вклад в разработку PostgreSQL столь значимым. Во всяком случае, я хотел бы поблагодарить этого человека или людей, кто бы это ни был. Надеюсь, я не слишком беспокоил их ;)

          На собрании разработчиков, а затем на Unconference, я попытался выяснить, можно ли обновлять PostgreSQL между основными (мажорными) версиями без прерывания обслуживания. Причина, по которой меня так интересует эта тема, - это то, что ребята из Яндекса сказали мне, что это, вероятно, самая большая проблема с PostgreSQL для них. Здесь вы можете найти подробный отчет Владимира Бородина о том, как они делают обновление в настоящее время.

          Здесь был достигнут консенсус в отношении того, что, хотя это и возможно сделать теоретически, соответствующий объем работы будет огромным, особенно для относительно небольшого open source сообщества. Чтобы решить эту проблему, каждая новая версия PostgreSQL должна быть обратно совместимой с каталоговой схемой, кортежами, форматом страниц и протоколом репликации предыдущей версии. Эта обратная совместимость должна поддерживаться и тестироваться на каждой из конфигураций и на всех платформах, поддерживающих PostgreSQL. Концентрация на решении этой проблемы с логической репликацией, введенной в PostgreSQL 10, представляется гораздо более практичной.

          Еще я выступил с коротким докладом "Восстановление данных при помощи pg_filedump". Слайды доклада здесь:

          К сожалению, совсем немного пользователей СУБД PostgreSQL знают об утилите pg_filedump и о том, что она способна восстанавливать данные в формате, подходящем для использования в запросах COPY FROM (и я один ответствен за данную возможность). TOAST в настоящее время не поддерживается, но для всего остального утилита должна работать, включая случаи с постраничным сжатием. Если вы не знаете схему базы данных, ее можно восстановить с помощью pg_filedump. Все это работает, даже если экземпляр PostgreSQL не может запускаться, а данные частично повреждены. Я надеюсь, что вам никогда не понадобятся эти знания, но, по словам Кристофа, которого я упоминал выше, в редких случаях, такой инструмент может быть полезен.

          Если вы тоже были на PGCon в этом году, то каково ваше впечатление от конференции?

Источник: Блог Александра Алексеева
29 мая 2017


Поделись этим