Postgres Professional на HighLoad++2016

Компания Источник: Postgres Professional
Postgres Professional на HighLoad++2016


          Конференция HighLoad++ - огромнейший форум российских разработчиков высокопроизводительных систем. Традиционно наша команда приняла в нём участие. Наши сотрудники подготовили и провели в общей сложности 10 разного рода дискуссионных мероприятий и выступлений, одно из которых было сделано совместно с компанией Percona. Генеральный директор Компании Олег Бартунов дал два интервью - выступил для видеоканала Хабрахабра (показывалось в прямой трансляции, но в видеоканале ещё не появилось), и еще одно интервью с Олегом Бартуновым уже опубликовано на нашем сайте. На стенде началась раздача задач, решение которых дает доступ к розыгрышу 10 бесплатных билетов на PgConf.Russia 2017. Одновременно с этим происходила безумная арт-акция «сложи мне слоника» по массовому освоению ИТ-профессионалами техники оригами.

          Но обо всем по порядку.

          Начнем с расписания докладов и митапов от нашей компании:

7 октября

8 октября

Впечатления участников

          Кто-то из наших докладчиков выступал на HighLoad++ уже не первый раз, а кто-то получил на конференции "боевое крещение". Но все участники получили впечатления, которыми готовы поделиться с читателями нашего блога:

Олег Бартунов

 

          На HighLoad я дал два интервью Хабру - одно на видео и второе уже опубликовано в хабе «Карьера в IT-индустрии» , плюс выступил с докладом по полнотекстовому поиску. Понравилось, что весь зал был забит. Правда, не хватило времени на вопросы.

          Благодаря работе Саши Короткова в версии Постгреса 9.6 появилась возможность разрабатывать свои методы доступа в виде расширений. Это дало нам возможность разработать метод доступа RUM, который улучшает GIN, является более производительным для целого ряда запросов, например, запросы с ранжированием, запросы с сортировкой результатов по времени. Также, RUM ускоряет фразовый поиск, который в этом году вошел в список основных новшеств релиза 9.6. Кроме этого, я рассказал про еще несколько улучшений полнотекстового поиска, в частности, про улучшенную работу со словарями.

          Был еще доклад Дмитрия Долгова по слабоструктурированным данным в реляционных СУБД, и я прокомментировал реализацию JSONB в постгресе. Дмитрий - наш коллега из Новосибирска, с которым я работаю уже пару лет в области поддержки jsonb в Постгресе.

          Потом с Артуром Закировым мы провели митап по полнотекстовому поиску для тех людей, которые хотели узнать побольше, увидеть полнотекстовый поиск в действии. Артур подготовил демо-базу, демо-сайт, на которых мы показали демонстрацию реализации полнотекстового поиска для веб-сайта - людям понравилось, хотя её ещё надо шлифовать. Исходные тексты доступны в нашем репозитории https://github.com/postgrespro/apod_fts. На митапе было ползала, потому что это было уже в конце. Но митап был очень долгим - уже все закрылось, а мы только к часам восьми освободились. Целых три часа это продолжалось, но людям не наскучило. Были вопросы, люди сидели и слушали.

          Я выступаю на HighLoad с самой первой конференции. HighLoad меняется, растёт. Сейчас для нашей компании это важное средство продвижения.

Александр Коротков

 

          Мы с Димой Ивановым прочитали доклад про pg_pathman – расширение для секционирования таблиц (partitioning), разрабатываемое в нашей компании. Дима Иванов сейчас наиболее активный разработчик в этом проекте, поэтому в основном говорил он. Я его только представил его в начале и дополнял по ходу доклада. Мы видим большой интерес к нашему расширению среди пользователей, как на github’е, а и среди слушателей Highload++. Люди дают нам ценный фидбэк, который идёт на пользу продукту. На мой взгляд, доклад прошёл вполне удачно, а для Димы Иванова это еще и хорошая тренировка перед предстоящими выступлениями на международных конференциях.

          Существуют еще несколько расширений, которые позволяют реализовать секционирование в PostgreSQL включая: pg_partman, partitioned и т.д.. Все эти расширения объединяет одно: они являются надстройками, работающими на пользовательском уровне. Они автоматизируют написание SQL-запросов, но не могут преодолеть ограничения механизма constraint exclusion. Отличие pg_pathman в том, он работает на уровне хуков планировщика (planner hooks) и пользовательских узлов (custom nodes). Благодаря этому pg_pathman позволяет решить проблему медленного планирования запросов по секционированным таблицам; поддерживает HASH-секционирование, выбор секций на этапе выполнения, быструю вставку и многое другое.

          Расширение pg_pathman – это уже довольно известный наш продукт. Мы освещали его на ряде митапов, писали о нём в блоге, у нас около 150 звёздочек на Гитхабе. Поэтому с вопросами к нам подходили в основном те люди, которые уже знали о его существовании. Они интересовались, есть ли там та или иная фича, как ей пользоваться, а если её пока нет, то когда она появится.

          Другой доклад, который я готовил для этой конференции вместе со Светой Смирновой из Percona - это доклад о том, как СУБД PostgreSQL и MySQL масштабируются на современных больших серверах. В релизах PostgreSQL 9.6 и MySQL 5.7 были введены серьёзные улучшения в данной области, и в обеих СУБД стало возможным обрабатывать больше миллиона SQL запросов в секунду. Еще несколько лет назад эта цифра могла показаться фантастической, но сегодня это реальность. Было рассказано, какие конкретно оптимизации позволили это достичь.

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

Фёдор Сигаев

 

          У меня теперь есть рекорд: Принимаемость моих докладов 150%. Я подавал когда-то один доклад - его приняли. И вот я не подавал, а половину доклада прочитал - это о докладе «Open Source SQL базы данных вступили в эру миллионов запросов в секунду» со Светой Смирновой и Анастасией Распопиной из Перконы.

          Было любопытно. Народ очень интересовался, подходил, говорил “спасибо”. В середине доклада были аплодисменты. Сама идея мне понравилась, пусть и не удалось до конца полностью сделать честное сравнение.

          Во-первых, на современном железе реляционные СУБД достигли уровня порядка миллиона. Во-вторых удалось поставить в приблизительно равные условия разные базы данных и, оказывается, наблюдается конвергенция - они приходят к одному и тому же уровню производительности.

          Я подозреваю, что на этом же железе еще можно раза в два выиграть по производительности, но нужно провести очень большие работы по реструктуризации программного обеспечения для получения максимального быстродействия. Причем, в случае СУБД PostgreSQL и MySQL оптимизация лежит в разных плоскостях. То есть, что-то лучше у MySQL, что-то лучше у Постгреса, но если оптимизировать то и другое, то результат вновь будет сравнимым.

          Наш доклад не был полярным. Мы не подрались. Это скорее всего было не то, чтобы выяснение истины, а хотя бы — правды в смысле корректных честных сравнений. Это была первая попытка от людей, которые хорошо знают хотя бы одну из этих СУБД, а не просто абстрактно — “берем, ставим, запускаем”.

 

Анастасия Распопина и Света Смирнова

 

          Подготовка к докладу заняла год - Олег Бартунов предложил нам протестировать PostgreSQL и MySQL ещё на HighLoad++ 2015, после которого он встречался с нашим CEO Петром Зайцевым. Тогда впервые обсуждались возможности сотрудничества и обмена опытом, и после нескольких встреч представителей обеих компаний появился совместный доклад Postgres Professional и Percona.

          Попытки сравнить MySQL и PostgreSQL были и до этого, но на сей раз за сравнение взялись люди, которые знали обе базы досконально, могли их правильно настроить. Анастасия Распопина: “Александр имеет статус major contributor PostgreSQL, Света много лет работает с багами MySQL и более 10 лет помогает клиентам в технической поддержке. В последние 5 дней, когда мы узнали о съёмках Александра в “Часе кода”, заменить его согласился Фёдор. С Александром и Фёдором было очень комфортно работать, они стремились добиться сравнимых результатов, что оказалось непросто, т.к. протестировать обе базы одним инструментом сходу не получилось, пришлось придумывать, как прогонять sysbench-подобные тесты на pgbench”.

          Тема для доклада выбрана практически неисчерпаемая - можно попытаться всё же протестировать обе базы одним и тем же инструментом для benchmark-тестов, можно рассмотреть и сравнить то, что хотелось потестировать, но до HighLoad++ не удалось. Это напоминает детективный сериал - интрига сохраняется, ждите новых серий на Percona Live, постгрессовых конференциях, возможно, на следующем HighLoad++. Кстати, мы активно приглашаем представителей PG-сообщества на наши конференции Percona Live (на Percona Live Amsterdam 2016 в октябре даже был PG Day!), аналогичное движение в сторону MySQL/NoSQL демонстрирует PG Day Russia в Питере - мы учимся друг у друга в рамках одной Open Source культуры.

Иван Фролков

 

          Зал был не очень удобный — в виде вагона, причем я был посередине. Правда, организаторы поставили 2 экрана. Что еще хорошего сказать? Идиотское совершенно было помещение - ничего не найдешь, очень легко заблудиться. Зато я впервые увидел, чтобы на конференции было нормально организовано питание — обычно там такая драка за еду, как-будто все из голодного края приехали, а тут выдавали талончики, по талончикам ходили. По поводу народа: народ традиционно 20% понимают, 80% ничего не понимают, о чем речь идет.
          И еще хочу рассказать о моем коллеге Олеге Иванове - Олег делает очень интересную вещь, подобное мало где реализовано. Я все время привожу пример, что у нас есть нянечки-женщины и мужчины-бульдозеристы. Соответственно, если мы хотим сделать выборку по какому-то параметру, то выгоднее всего индексное сканирование и наверняка мы очень быстро наткнемся на что-то подходящее. Если же попадается странный запрос, например, надо выбрать нянечек-мужчин или женщин-бульдозеристов, у нас сервер резко обламывается и выбирает очень нехороший план - т.е. sequence scan - сканирует всю таблицу, ничего не находит, таблица может быть большая - в Постгресе нет статистики двухмерных распределений.

          Олег предлагает на ходу собирать и сохранять дополнительную статистику, что “женщин-бульдозеристов очень мало”, и учитывать это в планировщике. На простых запросах толку никакого нет, но на запросах достаточно мудрёных выигрыш порой очень большой и может быть от двух раз до порядка и более.

          Мне кажется, что это достаточно интересная штука, надеюсь, что она войдет нашу СУБД Postgres Pro. Она достаточно новая, современная. Такого практически нигде нет. Нечто похожее есть в Oracle, но Oracle не разглашает подробностей.

          Дима Иванов рассказывал про очень важную вещь - про секционирование таблиц. Оно в Постгресе нужно. Нужно оно чрезвычайно. (Речь о расширении pg_pathman, созданном разработчиками Postgres Professional - примечание ред.блога) Там им есть, куда расти.

          Еще понравился доклад Валентина Гогичашвили из Zalando (Германия). Они там с микросервисами воюют. Но это персонально мои тараканы. Я эти микросервисы люблю - под них писать удобно, но тяжело администрировать. В чем преимущество микросервисов: можно мигрировать частями, можно писать на разных языках.

          Заинтересовал совместный доклад Федора Сигаева с Перконой - Перкона в MySQL параллельный bg_writer организовала, правда докладчица - Света, кажется, - затруднилась ответить, в какой версии.

          Еще меня занесло на доклад какого-то парня из Касперского, который был, как Bruce Momjian - с бабочкой. Что он там делал, я честно говоря не понял, но у него получилось так: MongoDB была первой, Постгрес - последним, и еще две DB первый раз услышал. Это анализ временных рядов. Что он там анализировал, я так и не понял. Самое интересное, что людям понравилось!!!

Дмитрий Иванов

 

          Я участвовал в конференции HighLoad++ первый раз. В сравнении с другими IT-конференциями здесь гораздо больше публики, охват самой конференции гораздо больше - восемь, а если учесть митапы, то - десять площадок, на каждой из которых постоянно идут доклады на совершенно разные темы. Для сравнения, когда на обычной конференции одновременно четыре сцены, ну пять, а тут соответственно больше, докладчиков больше. Были очень интересные доклады, были - не очень, откровенно говоря. Было обидно, что на один доклад я не попал - я как раз выступал в это время.

          Не в последнюю очередь было интересно, какие люди приходили к нам на стенд компании, как они искренне интересовались, задавали вопросы, решали задачи. В частности, даже были люди, которые подходили с задачами с соседнего стенда - от сообщества PostgreSQL - там тоже были задачи, и люди спрашивали, как их решить.

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

          Из докладов понравился про автовакуум Алексея Лесовского - он уже рассказывался на одной из конференций, но тут была улучшенная версия. Лесовский фактически залез в “нутро” и показал, из каких кусков кода состоит автовакуум, какие функции в каком порядке вызываются, к каким последствиям это приводит.

          Что касается нашего с Александром Коротковым доклада - «Долгожданный релиз pg_pathman 1.0» - я ожидал увидеть больше заинтересованной публики, но потом я совершенно не пожалел о том, что в начале ее было не так много, как хотелось - нам выделили тот же зал, в котором выступал Олег Бартунов, Иван Фролков и все остальные. Зал был очень неполным, хотя ближе к концу подходили люди и стало больше раза в два. Я не был разочарован, потому, что те люди, которые пришли с самого начала, с первого же момента слушали меня внимательно, им была интересна тема, случайных людей практически не было. После доклада Иван Фролков сказал, что человек, сидевший рядом с ним - его бывший коллега - очень заинтересовался нашей разработкой. Мы встретились и пообщались с представителями компаний, с которыми мы взаимодействуем. Они высказали свои пожелания - и это был тоже ценный опыт.

          Очень хорошо, что к докладу мы успели решить большинство известных проблем и добавить несколько новых фич. В частности, мы добавили сравнение с pg_partman и обычными, не партицированными, таблицами. Мы имели возможность показать все наши тесты, по которым можно однозначно судить, что pg_pathman по тестам превосходит pg_partman - нам пришлось строить графики сравнения, используя логарифмическую шкалу, чтобы на них было видно, что pg_partman и его график вообще есть - вот такая разница! Для многих неожиданностью оказалость, что в pg_pathman вставка получилась значительно быстрее, чем в непартицированной таблице.

          После доклада к нам подходили люди, задавали вопросы. Часть вопросов, которые нам задавали на конференции, мы предложили развить и задать их на GitHub, что вылилось в некоторую дискуссию. Например, на GitHub мы рассмотрели вопросы, связанные с логической репликацией. Я видел живой интерес у людей и то, как наш инструмент можно применить.

          Во второй день конференции я уже не выступал, но зато помог подготовиться к докладу Олегу Иванову. Более того, я встретился с автором PL/PgSQL Яном Виком - я посетил его доклад и сразу после доклада перехватил. У нас была плодотворная дискуссия, мы обсуждали, какие изменения можно внести в PL/PgSQL, чтобы сделать его еще лучше.

Григорий Смолкин и Сергей Петров

 

          Григорий Смолкин: До этого я выступал на Инфостарте. Разница, конечно, колоссальная. HighLoad многочисленнее, но на Инфостарте мой топик вышел качественнее в плане аудитории - на Инфостарте пришли люди с четкой целью послушать нас - аудитория была сильно меньше, чем на HighLoad, но более подкованная, и вопросы были более сложные, более неудобные, более злые - люди знали, где реально что болит и могли грамотно задать вопрос. Но HighLoad куда более крупное мероприятие.

          Сергей Петров: Зал был полным, вдоль стен стояли. Конечно, с Иваном Фролковым не сравнить, когда стояли еще в коридоре и слушали.

       Григорий Смолкин: Я думаю, дело в том, что людям просто нравится Постгрес, нравится слушать всякие вещи о Постгресе. Плюс ко всему мы рассказывали практические полезные вещи.

          Григорий Смолкин: Тема временных таблиц возникла из задач ускорения 1С, которые мы постоянно решаем для наших заказчиков. Вот, у кого-то из них  были очень плохие результаты работы 1С с Постгресом. Тут появились мы и начали разбираться, почему. Выяснилось, что одним из факторов, объясняющих такую низкую производительность, являются некоторые аспекты работы этих временных таблиц. Мы рассказали, как мы это нашли и рассказали, как мы это поправили. Надеемся, что это оказалось полезно не только 1С-никам.

        Григорий Смолкин: Как возникла идея провести митап? - Мы не знаем. Эта идея не у нас возникла. У нас в компании подавалось много заявок на доклады и митапы, примерно половина из них была принята. И вот мы смотрим на расписание - О! - митап, у нас!

          Сергей Петров: На митапе мы показывали то, что смогли рассказать на докладе, и плюс те наши разработки, которые показались нам интересными для митапа.

          Сергей Петров: Заявлена была тема из той же области - из моментов нашей презентации. Но митап идет два часа, а ту тему настянуть на 2 часа было нереально - она не на столько глубокая. Поэтому мы решили показать вообще все, что мы можем интересного показать, рассказать. Хотели просто устроить шоу - “Смотрите, что сделали полезного сделали мы и наша компания”. Но так, что бы были вполне конкретные люди, пользователи, которые могли это видеть, трогать руками, задавать вопросы. Что бы какой-то фидбэк шел от них. С моей точки зрения это даже более полезное времяпровождение, чем доклад. Аудитория при этом, правда, была меньше.

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

          Григорий Смолкин: На митапе у нас была примерно такая же аудитория, которая была на Инфостарте - не в таких количествах, как на Инфостарте, но они есть.

          Сергей Петров: Возможно, это просто формат HighLoad, когда идет параллельно очень много секций и тяжело охватить все, что интересно. HighLoad - это все-таки не девелоперская конференция. Если смотреть с нашей точки зрения, то - это конференция потребительская. Разработчик здесь как потребитель, если говорить применительно к теме о базах данных. Кроме нас были еще одни разработчики баз данных, которые прочитали очень забавный доклад о базе данных, которая живет полностью в ядре - tempesta db. Каких-то других разработчиков СУБД там не было. Получается, что все остальные смотрят на СУБД как пользователи.

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

         Сергей Петров: Из того, что еще интересного было на конференции - довольно много обещают производители железа, прямо-таки светлое будущее - память через сеть, NVME-память,

          Григорий Смолкин: Вообще говорят, память будет не нужна - прямо с диском будем работать. Или наоборот.

         Сергей Петров: Да - стирают границы между памятью и диском. Интересная была англоязычная секция, но из-за митапа не удалось её толком послушать. Был интересный доклад ребят из “Куратора” о том, как процессор работает с кешем, с памятью, как это можно существенно ускорить. Был интересным доклад ребят из Касперского про выбор базы данных - они достаточно точно обрисовали методологию выбора. Но слово “Постгрес” был в их докладе на последнем месте. Просто у них тот случай, когда им по сути ничего не нужно - ни транзакции, ни целостность.

Александр Алексеев

 

          На конференции HighLoad++2016 я выступил с докладом. Доклад был про утилиты для профайлинга CPU и так далее. Был полный зал. Люди подходили с вопросами. Был большой интерес. Для себя с удивлением обнаружил, что у меня больше нет этой проблемы, когда я забываю дышать, когда я делаю доклад. Собой я очень доволен.

          Походил еще по всяким стендикам, прошел квест “собери наклейки на кружку” - теперь у меня есть кружка “HighLoad”. Просто просить наклейки было неудобно, поэтому спросил людей, а что они вообще делают?

          Узнал, что у Panasonic есть очень крутая железка - всего за 6 миллионов рублей - они на оптические диски, по 300 ГБ каждый, делают бэкапы - что за интерфейс, не помню. Довольно прикольная штука.

          Очень запомнился доклад парня из Яндекса - Владимира Бородина.

          К сожалению, не попал на доклад про ClickHouse. Зато был на двухчасовом митапе товарищей, которые пишут на языке Go - на самом деле очень интересно. Узнал про Prisma - это такой стартап, который поддерживают очень многие, в том числе мэйл.ру - они очень убыточные - миллион долларов в месяц и суперсекретные. Этот доклад делался первый раз в истории - про Призму - при условии, что - не на запись, и при условии, что аудитория заполнена не сильно - человек 30 всё это слушали. И я, кстати, нашел у них два бага - зарепортил сразу. Насколько я понимаю идею таких стартапов - они не очень-то хотят монетизироваться. Они хотят набрать аудиторию - говорят, ими пользуются 500 миллионов человек в день. Аудиторию можно продать, можно показать ей рекламу, продать приложение всего за $1 и заработать. Можно показать новую “Free2Play” игру Мэйл.ру, где есть кристаллы за реальные деньги. Аудитория - это удобно. Я понимаю такую монетизацию, но они не говорят, зачем на самом деле они это делают.

Олег Иванов

 

          За последний год я участвовал еще только в одной конференции - PgConf2016 - больше нигде. По занимаемой площади, по моим оценкам HighLoad был больше, хотя может быть это иллюзия, может там просто была система переходов необычная. На HighLoad++2016 я выступал ближе к концу и ожидал, что на мой доклад придет достаточно мало народу, потому что фактически - последний доклад перед закрытием.

          Доклад, с которым я выступал, был необычен тем, что с одной стороны, есть какая-то часть, которая касается СУБД, и доклад был в секции Постгреса. А с другой стороны есть часть (о ней слово “Адаптивная”) про машинное обучение. И было непонятно, в какой секции он должен идти. Конечно, часть про СУБД была больше. И я постарался достаточно научно-популярно прочитать. Мне показалось, что аудитория поняла.

          Было больше половины зала и в конце задавали вопросы, которые свидетельствуют о том, что аудитория уловила, что происходит.

          О той части доклада, которая про машинное обучение: в перспективе она предлагает делать так, что бы планировщик запросов не повторял много раз одни и те же ошибки. То есть, что бы при планировании запросов он учитывал статистику выполнения предыдущих запросов такого же типа. Эта тема достаточно неисследована. Работ по ней совсем немного, но конкретно по моей теме нет совсем.

          Существующий прототип пока годится только для ограниченного количества запросов. Это сложные аналитические запросы, которые выполняются несколько секунд, минут, часов, дней… Их он может существенно ускорять.

          Люди проявляют интерес к этому. Были люди, которые спрашивали, можно ли реализовать такое в MySQL, были люди, которые спрашивали, можно ли это ставить на сервера и идти в бой с этим. Интерес есть, но безусловно люди жду чего-то более простого в использовании, чтобы было меньше настроек, и - более проверенного временем. Хотя, то, что сейчас есть, по структуре управления во многом повторяет модуль sr_plan, разработанный в нашей компании Юрой Журавлевым. Те, кто смогли разобраться с ним, у них не будет сложности при работе с существующим патчем. Пока же мы проводим тестирование внутри компании на своих нагрузках. Я был бы очень рад, если бы нашлись компании, которые хотят поставить и проверить патч на своих данных.

          Я могу дать ссылку на наш тестовый патч на Гитхабе. Со мной всегда можно связываться, если кому-то нужна помощь или какие-то вопросы, или обнаружились ошибки при работе с патчем. Естетственно, это все будет поддерживаться.

      В целом впечатление от участия в конференции HighLoad++2016 положительное. Когда собирается много людей работающих в области высокопроизводительных систем - у всех какие-то разные проекты - это существенно расширяет кругозор. Смотришь, люди занимаются чем-то, о чем раньше не предполагал, а это оказывается нужно, полезно.

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

Артур Закиров

  • Митап: «Все о полнотекстовом поиске»

 

          На конференции HighLoad++2016 я с Олегом Бартуновым делал мастер-класс по использованию усовершенствованного полнотекстового поиска в СУБД PostgreSQL. Олег рассказал, какие у нас появились новые функции в работе с полнотекстовым поиском, а я показал реальную работу полнотекстового поиска на демосайте, в котором есть поле, в поле можно ввести запрос, было показано, как формируется запрос к базе данных - это был вполне реальный сайт - APOD (“Astronomy Picture of the Day” - “Aстрономическая Картинка Дня”) с АстроНета, но без картинок - только текстовая часть. Этот сайт можно посмотреть по адресу: tsdemo.postgrespro.ru - там есть и английская и русская версии. Это реальные данные.

          Код сайта выложен на Гитхаб. Там есть скрипты, которыми можно шаг за шагом поднять полнотекстовый поиск на сайте. Сначала там нет ничего. Первый скрипт добавляет поле для полнотекстового поиска, второй скрипт создает индекс - RUM, а не GIN. RUM - это новый access method, который делает Фёдор Сигаев - он основан на GIN, но имеет улучшения, дает большую скорость при ранжировании, делает полнотекстовый поиск практически моментальным. Но тут требуется миграция на 9.6, потому, что версии ниже чем 9.6 RUM не поддерживают.

          К сожалению, я почти не успел побывать на других докладах. Был только на митапе, на котором беседовали Олег Бартунов, Фёдор Сигаев (Митап: «Свободная дискуссия о Постгресе»). Потом я присутствовал на докладе Дмитрия Долгова - было тоже очень интересно, потому, что я в свое время делал code review его патча, связанного с работой JSONB. Дмитрий показал тесты работы разных баз данных с JSON-структурами - какая база более скоростная, какая менее.

 

Фотографии на память

          За время подготовки этой статьи в социальных сетях нашлось немало фотографий с прошедшей конференции. Лучшие снимки были получены стараниями организаторов. Сменяя друг друга на стенде нашей компании, Иван Панченко и Михаил Кулагин дополнили этот репортаж своими фотографиями.