Митап в ВШЭ: встречаем PostgreSQL 10.0
5 октября в ВШЭ прошел митап, посвященный выходу версии PostgreSQL 10.0. Мероприятие было организовано Postgres Professional совместно с факультетом компьютерных наук НИУ ВШЭ. Дата митапа точно совпала с выходом официальной версии «десятки», которая не была известна заранее. В Postgres Professional задолго до ее выхода следили за версиями-кандидатами, так что такое совпадение не случайно.
На митапе, который проходил более 3 часов в переполненном зале с почти сотней зрителей, прозвучали три аналитических доклада, в которых эксперты не только рассказывали о новых функциональных возможностях PostgreSQL 10.0, но и сравнивали различные варианты решения проблем, ради которых вносились изменения в ванильную версию. Докладчики также представили соответствующие средства Postgres Pro с их плюсами и минусами. Большой интерес проявили присутствовавшие и к обнародованным дорожным картам нашей компании на фоне планов сообщества — вплоть до будущей версии PostgreSQL 11.0.
Олег Бартунов: PostgreSQL как универсальная СУБД
Первый, концептуальный доклад сделал генеральный директор компании Postgres Professional Олег Бартунов. Название подчеркивало, что в своем современном состоянии СУБД PostgreSQL может все, покрывая большой диапазон типов данных и разнообразных типов нагрузок.
За время существования СУБД PostgreSQL у нее появилось более 70-ти коммерческих и открытых форков. Самая последняя новость — выход 2ndQPostgres, коммерческой версии от компании 2-nd Quadrant.
Говоря о непосредственном поводе митапа — выходе версии PostgreSQL 10.0 — Олег пояснил значение и перспективы новшеств, которые можно поделить на 5 групп:
- для администраторов баз данных - отказ от открытого хранения паролей, от аутентификации на MD5 в пользу SCRAM-SHA-256, переименование каталогов WAL и др.;
- появление логической репликации - гигантский шаг в направлении мультимастера, развиваемого в Postgres Professional;
- повышение производительности за счет дальнейшего распараллеливания работы СУБД, в том числе, параллельного сканирования индексов;
- декларативный синтаксис секционирования таблиц (эту тему подробно разобрал Дмитрий Иванов в своем докладе).
Видео доклада:
Слайды доклада:
Дмитрий Иванов: есть новые бенчмарки PostgreSQL и pg_pathman
Один из разработчиков pg_pathman Дмитрий Иванов разобрал проблемы, которые возникали при секционировании через наследование в предыдущих ванильных версиях и были отчасти решены в PostgreSQL 10.0, а также о том, что все еще мешает создать полноценное секционирование. Расширение pg_pathman, которое будет работать и с PostgreSQL 10.0, не только удобно, но и резко убыстряет обработку запросов при большом количестве секций (речь шла о 500 и больше). В ситуациях, когда даже 10-й PostgreSQL перебирает все секции подряд, pg_pathman пропускает заведомо неподходящие и избегает ненужные блокировки.
Впервые были показаны результаты тестов — на этот раз YCSB — где pg_pathman повышает производительность PostgreSQL в сотни раз. Дмитрий упомянул и о проблемах, таких как глобальные индексы, над которыми работают наши разработчики.
Видео доклада:
Слайды доклада:
Иван Картышов: непроверенная копия не поможет
Доклад Ивана Картышова был посвящен анализу существующих решений резервного копирования и валидации копий. Речь шла и о полных, об инкрементальных, и о дифференциальных типах копирования. Сравнивались:
- pgbackrest от Crunchy,
- pgbarman от 2ndQuadrant и
- pg_probackup — наша разработка.
Иван разъяснял особенности, различия в функциональности этих решений, их связи с использованием механизмов ptrack, page level и rsync.
Копия не поможет восстановить базу — напоминал докладчик — если за время между снятием копии и началом восстановления она была повреждена. Поэтому средства валидации, которые доступны в Postgres Pro Enterprise, куда входит pg_probackup, радикально улучшат надежность хранения данных.
Видео доклада:
Слайды доклада:
Фотогалерея: