25 – 26 октября 2021
PGConf.Russia 2021
PGConf.Russia 2021
PGConf.Russia – международная техническая конференция по открытой СУБД PostgreSQL, ежегодно собирающая более 700 разработчиков, администраторов баз данных и IT-менеджеров для обмена опытом и профессионального общения. В программе – мастер-классы и доклады в два потока в течение двух дней, блиц-доклады из зала, живое общение на кофе-брейках и фуршете.
Темы встречи
- PostgreSQL на переднем крае: большие данные, интернет вещей, блокчейн
- новое в PostgreSQL и вокруг: развитие PostgreSQL и его экосистемы
- PostgreSQL в реальных системах: архитектура, миграция, эксплуатация
- Использование PostgreSQL в платформе 1С
- PostgreSQL в геоинформационных системах (GIS)
Доклады
Архив докладов
-
Владимир Сурдин МГУ им.М.В.Ломоносова доцентМы живем в окружении мифов: постоянно заблуждаемся в отношении политики, экономики, истории своей страны и ... космоса. Попробуем вместе разобраться в наиболее острых вопросах, связанных с астрономией и космическими исследованиями. Возможно, мы лучше начнем понимать окружающий нас мир, избегать дутых сенсаций и увидим действительно интересные и привлекательные стороны научных исследований.
-
Пётр Девянин ГК Astra Linux Научный руководительРазработка безопасного системного ПО (например, ОС или СУБД), достижение доверия к нему – сложная научно-техническая задача. В докладе будет показано, как ее удается решать для сертифицированной по высшим классам защиты ОС Astra Linux. При этом будут раскрыты основные направления этой деятельности, начиная с участия в формировании профильных национальных стандартов, далее разрабатывая и верифицируя формальную модель управления доступом, как основу составляющего поверхность атаки собственного механизма защиты ОС, затем применяя методы и технологии статического и динамического анализа программного кода, и завершая сбором и аналитической обработкой данных, получаемых в ходе анализа программного кода ОС, с исправлением найденных в нем ошибок в рамках практики непрерывной интеграции.
-
Андрей Сальников Data Egret DBAPostgreSQL можно смело назвать повелителем индексов, по количеству разных типов индексов ему нет равных. Но как эти индекс использовать наиболее эффективно разработчику? Когда нам требуется создавать тот или иной индекс? А когда созданный нами индекс будет ухудшать производительность? Попробуем разобраться в этом на понятных жизненных примерах.
-
Алексей Фадеев Sibedge Старший разработчик .NET, евангелист Postgres.Многие разработчики прикладного ПО не любят выносить логику на сторону БД (в функции) из-за отсутствия удобных средств разработки, особенно командной. С plv8 ситуация осложняется тем, что функция содержит симбиоз кода SQL и JavaScript, популярные IDE такое не поддерживают. На этом мастер классе я представлю свою разработку "Plv8 Framework", позволяющую существенно облегчить создание кода на plv8.
Суть в следующем: тот же JS-код, который будет выполняться на стороне БД, можно запустить локально, прямо на машине разработчика, с помощью node.js, который работает на основе того же интерпретатора v8. Спецфункция plv8.execute подменяется на функцию из npm-библиотеки pg-native, т.е. происходит обращение к внешней СУБД. Я продемонстрирую авторский набор средств, позволяющий:
- писать js-код в вашей любимой IDE с подсветкой синтаксиса;
- отлаживать код в реальном времени (с breakpoint, watch и т.д.);
- писать автотесты (unit-тесты), с вариантами: постгрес, SQLite, моки;
- выполнять deploy кода в СУБД;
- использовать дополнительные npm-пакеты (проблема в том, что весь код функции на plv8 должен находиться в теле этой функции, т.е. в одном файле).Инструмент можно использовать независимо от того, на чём вы разрабатываете бэкенд. Но особенную гибкость он придаёт, если вы используете языки со статической типизацией (java, C# и т.д.). Например для задач, где бэкенд является промежуточным слоем между фронтендом и СУБД, логика (или её часть) может быть вынесена в plv8/js с динамической типизацией, что может весьма облегчить процесс разработки.
Помимо возможности разрабатывать новые функции на plv8, фреймворк предоставляет набор готовых функций для выполнения CRUD-операций. Функции универсальные, не привязаны к структуре конкретной БД и могут работать на любых проектах. Их использование поможет сократить объём бэкенд разработки, на некоторых проектах - значительно.
Пожалуй, самое сложное с plv8 - установить это расширение. Но у меня хорошая новость: мои коллеги помогли подготовить докер-файлы и докер-образы для PostgreSQL версии 13 с уже установленным plv8! Теперь начать разработку на plv8 просто: нужно лишь развернуть контейнер одной командой.
Докер-файл: PostgreSQL 13 + plv8 v2.13.15
Демо-проект для участия в мастер-классе
Так же для мастер-класса пригодятся:
Node.js (желательно LTS)
IDE для js (например, бесплатная Visual Studio Code)
GraphQL Playground
Фотографии
Архив фотографий