Postgres Professional на PGCONF.EU 2016 в Таллине

Компания Источник: Postgres Professional
Александр Коротков и Олег Бартунов          Для нашей компании ноябрь начался с 8-й Европейской конференции PostgreSQL в Таллине. Туда выехала команда из 8 человек, которые сделали 5 докладов. Всего докладов было около полусотни, так что каждый десятый доклад был от Postgres Professional. Рассказали обо всех ключевых для компании технологических темах, и все они вызвали интерес.


          На конференции было много уже привычного: среди докладчиков и участников много знакомых лиц. Однако вот что сказал Федор Сигаев:

 

Фёдор Сигаев

 

          «Конференция получилась богатой на общение, там было приличное количество разработчиков, хотя эта конференция и считается более или менее пользовательской. Их было явно больше, чем на HighLoad++ 2016 в Сколково (хотя и на ней было заметно больше разработчиков, чем на предыдущих Highload). В Таллине было много обсуждений, иногда очень даже плодотворных. Конференции это ведь не просто тусовки. Разработчики Postgres географически распределены, а на конференции можно поговорить: это намного быстрее, чем общение по почте. Кроме того под пиво рождаются иногда замечательные идеи.

          Это во-первых. А во-вторых люди видят, что у нас работают специалисты высокого уровня, что мы разработчиков не прячем, потому что нашим людям у нас работается хорошо».


          Что касается докладов, то были наши традиционные темы и были новые: о текстовом поиске рассказывали Олег Бартунов и Артур Закиров (Артур выступал на конференции в первый раз). Тема для нас традиционная, но на этот раз была демонстрация полнотекстового поиска на текстах «астрономической картинки дня», можно было на месте увидеть, какие SQL-запросы генерируются для обычного и «фасетного» поиска (эта демонстрационная база выложена на GitHub (https://github.com/postgrespro/apod_fts или на нашем сайте http://tsdemo.postgrespro.ru/, так что можно пробовать поиск on-line).

          В 4 из 5 докладах рассказывали о самых наших новых направлениях разработки. Александр Коротков в своём докладе убеждал участников конференции в том, что будущее за CSN (Commit Sequence Number). CSN – это способ представления снэпшотов базы данных, альтернативный текущему представлению снэпшотов в PostgreSQL. Преимущества CSN – лучшая масштабируемость на многоядерных машинах, а также распределённых системах. Первоначальную реализацию CSN предложил Ант Аасмаа (Ants Aasma), далее к работе присоединился Хейкки Линнакангас (Heikki Linnakangas). Александр Коротков продемонстрировал новый подход к реализации CSN, позволяющий устранить накладные расходы на преобразование XID (идентификатор транзакции) => CSN. Доклад: https://postgrespro.ru/blog/pgsql/130532


          Анастасия Лубенникова и Константин Книжник рассказывали о механизме компрессии на уровне страниц, разработанных в компании. В название доклада входило и шифрование данных, которое в докладе было упомянуто скорее вскользь. Но как раз шифрование вызвало наибольший интерес, если не сказать возбуждение. К докладчикам подходили обсудить дыры в защите и способы их использования для похищения личных данных. То есть этой темой озабочены не только отечественные регулирующие органы, но и широкие слои мировой общественности.

          Стас Кельвич рассказывал о нашей реализации мультимастер-кластера. Это «честный» мультимастер, в отличие от двунаправленной репликации (BDR), где нет автоматического разрешения конфликтов, а иногда и обнаружения конфликтов вообще. Разработанный нами кластер сейчас проходит тестирование, и мы собираемся включить его в версию Postgres Pro Enterprise, которая выйдет в марте следующего года.


          Ильдар Мусин рассказывал о уже набравшем некоторую популярность расширении для секционирования базы – pg_pathman. До этого в Postgres секционирование было возможно лишь через наследование таблиц, но это не эффективно из-за медленного планирования, отсутствия выбора секции на этапе выполнения, невозможности он-лайновой миграции данных. В pg_pathman для решения этих проблем используются низкоуровневые средства, такие как хуки (hooks) и пользовательские узлы (custom nodes) оптимизатора и исполнителя запросов. Сейчас код pg_pathman выложен на GitHub, его довольно интенсивно скачивают, и работает он устойчиво (в Enterprise-версии будет доступна более полная функциональность). Этот доклад все признали динамично прочитанным. Альтернативы у Ильдара, впрочем, и не было: выступление проходило в сессии 5-минутных докладов Lightning Talks.

          В целом можно было заметить, что особенно популярны сейчас доклады, связанные с кругом вопросов доступности (availability).

          О том, что Эстония — родина Skype, напомнил доклад его представителей. Skype работал и продолжает работать на PostgreSQL, несмотря на его поглощение Microsoft.

          Андреас Зельтенрайх (Andreas Seltenreich), сотрудник немецкой компании Credativ, сделал доклад о SQLsmith, средству для поиска ошибок в SQL-движке PostgreSQL. SQLsmith генерирует запутанные и нетривиальные запросы, которые не часто встретишь в реальной жизни. Это оказывает неоценимую помощь сообществу PostgreSQL в поиске багов.

          Хорошо это или нет, но переключаться на международный язык общения приходилось не так часто: доля русскоязычных участников была очень велика. Выходцы из России представляли, например, германские компании (PostgreSQL-consulting, Zalando SE). Молодые эстонцы-технари, в отличие от изрядной части населения Эстонии, свободно общаются по-русски, так как работа на российском рынке для эстонских компаний обычное и лакомое дело. Кстати, почти половина участников конференции была из Эстонии.


          Основная масса докладов была распределена на 3 потока, но организаторам не удавалось угадать, какой доклад окажется более популярным, поэтому на некоторых докладах маленькая комнатка набивалась битком, в то же время в большой было просторно. Но в целом провальных докладов не было, и вообще конференция была организованная очень неплохо. Конференц-центр отеля Hilton расположен на границе Старого Таллина, так что по дороге можно заодно поглядеть средневековую часть города. Тем более, что долгие прогулки могли бы для недостаточно экипированных участников стать испытанием: в Таллине уже (1 ноября!) лёг снег. (Константин Книжник был озадачен отсутствием снеговиков, но сам восполнить недостачу не решился. Впрочем, им же был обнаружен целый отряд миниснеговиков на стенах замка).


          Традиция мастер-классов по изготовлению Slonik-related продуктов была продолжена Майей Линнакангас, давшей урок вязания свитеров со Слоником. Что, конечно, куда более ресурсоемкий процесс, чем складывание Слоника-оригами.