PostgreSQL для хипстеров, бэкенд "Модульбанка" и другое.
14 октября в солнечном городе Уфа прошла конференция UFADEVCONF. Это первое мероприятие в Уфе такого масштаба, его организовало уфимское сообщество разработчиков Ufacoder и компания «Открытый регион». Секции докладов — Backend, Frontend, Mobile, Common.
Предлагаем обзор конференции и самых интересных докладов секции Backend.
Участники
Зарегистрировалось 900 участников, и почти все пришли, что для бестплатного мероприятия — редкость.
Докладчики — первые лица PostgreSQL Professional, члены команд разработки Модульбанк, Тензор (продукт СБИС), специалисты из Яндекса, Kaspersky, Сбербанк-Технологии, 1С-Битрикс, Авито.ру и других. По меркам региональной конференции организаторы собрали действительно классную программу.
Доклады
Доклады проходили в четырех секциях: Backend, Frontend, Mobile, Common. В Common собрали управление проектами и другие общие темы.
Со списком можно познакомиться здесь. Ссылки на все слайды будут в конце статьи. Для нас самой интересной секцией, конечно, был Backend.
Backend — наше всё!
Главная тема секции — PostgreSQL.
PostgreSQL
Большая часть докладов секции была посвящена ему.
Гендиректор PostgreSQL Professional Олег Бартунов в докладе «PostgreSQL для хипстеров» рассказал про преимущества этой СУБД и про запланированные нововведения.
Спойлеры:
— разрабатывается новая версия json/sql: еще не мейнстрим, но уже можно использовать;
— master-master репликация интересует всех: она планируется, но сроки пока не ясны;
— планируется сертификация, когда будут получены лицензии на образовательную деятельность: учебные курсы на русском и английском доступны уже сейчас;
— PGconf 2018 пройдет 5–7 февраля в Москве, приходите!
На этом докладе зал секции Backend был забит просто до отказа, а потом несколько часов подряд в холле вокруг Олега толпились посетители, которым не хватило 40-минутного доклада.
Ссылка на доклад: Postgres для хипстеров
Иван Панченко из PostgreSQL Professional рассказал про server-side программирование в Postgres на PL/{Perl,Python,V8}.
Ссылка на доклад: PL/{Perl,Python,V8}: server-side программирование в Postgres на человеческом языке
Кирилл Боровиков, технический директор компании «Тензор» (разработчик SBIS.RU) поделился опытом массовой оптимизации баз PostgreSQL, на основе чего был создан внутренний сервис explain.sbis.ru (сейчас есть известный аналог — https://explain.depesz.com/). Кстати, «Тензор» оперирует 250 серверами БД и тысячами баз общим «весом» в 400 TB. explain.sbis.ru еще не открыт в публичный доступ, но по идее будет открыт в ближайшее время.
Ссылка на доклад: Массовая оптимизация запросов в PostgreSQL — explain.sbis.ru
Как устроен backend «Модульбанка»
Еще один интересный доклад: про backend «Модульбанка» рассказал техлид backend разработки Рустем Мусаиров.
«Модульбанк» использует 2 основных базы на PostgreSQL (серверов, конечно, больше). Используется Redis для кэша, RabbitMQ для серверов очередей, активно используется горизонтальное масштабирование.
Запомнилось, что ребята не используют чего-то нереального, многим известны эти технологии, но все оптимизируется до предела.
Например, все обращения к сервисам проходят через агенты и серверы очередей, напрямую в базу никто не обращается. Разработчики используют инструменты для оптимизации работы, и если есть готовое решение, стараются не писать «велосипеды». Скорость разработки и масштабирования (Рустем говорил о резком росте с 2013 по 2017 г) диктует свои условия. Раз пока не слышно про проблемы и фейлы, значит, команда справляется с этими задачами :).
Ссылка на доклад: Как устроен бэкенд Модульбанка
Еще три доклада касалось монтажа видео в python на библиотеке moviepy и ffmpeg (рассказал Рустем Салаватов), нововведений в PHP 7.x (Ярослав Анненков) и мониторинга инфраструктуры интернет-сервиса (Никита Воронов).
Оптимизация проектов на 1С-Битрикс под Highload
На конференции также был Александр Сербул из 1С-Битрикс. Он выступал в секции Common, но мы успели пообщаться на тему оптимизации проектов на Битрикс под Highload.
Раз центральной темой были базы данных, то и вопросы про них:
- шардинга БД пока нет и про планы неизвестно; если нужно масштабирование БД для проектов на 1С-Битрикс, наш путь — mysql кластеры master-master либо master-slave.
- От Oracle компания отказалась давно, PostgreSQL также нет, так что наш путь — mysql
Еще совет от Александра для посещаемых и высоконагруженных проектов: следите за кешированием и «левыми» запросами в базу, когда к базе обращается не только сайт, но и мобильные приложения, идет активный обмен с 1С и т.п.
Кстати, по системному администрированию в 1С-Битрикс вопросы задавать можно как раз Александру Сербулу.
Слайды докладов
У организаторов доклады доступны пока только на ВКонтакте:
Backend — https://vk.com/ufacoder?w=wall-105462043_284
Frontend — https://vk.com/ufacoder?w=wall-105462043_285
Mobile — https://vk.com/ufacoder?w=wall-105462043_283
Common — https://vk.com/ufacoder?w=wall-105462043_282
С разрешения организаторов мы выложили доклады секции Backend на Google Slides:
- Рустем Мусаиров, техлид бэкенд разработки, АО КБ «Модульбанк», г. Уфа. Как устроен бэкенд Модульбанка
- Олег Бартунов, генеральный директор Postgres Professional, г. Москва. Postgres для хипстеров
- Рустам Салаватов, основатель life2film.com, советник директора СФ БашГУ по информатизации, г. Стерлитамак. Монтаж видео в python на библиотеке moviepy и ffmpeg
- Кирилл Боровиков, технический директор, главный эксперт по базам данных, Тензор, г. Ярославль. Массовая оптимизация запросов в PostgreSQL — explain.sbis.ru
- Никита Воронов, Backend-разработчик, SMENA, г. Уфа. Мониторинг инфраструктуры ресторана доставки Farfor
- Иван Панченко, заместитель генерального директора Postgres Professional, г. Москва. PL/{Perl,Python,V8}: server-side программирование в Postgres на человеческом языке
- Ярослав Анненков, Web Developer, г. Уфа. Главное о PHP 7.x
Спасибо организаторам, докладчикам и всем причастным!
Автор: Вадим Исаканов