title

text

Олег Правдин
Олег Правдин Lingualeo CTO
11:00 05 февраля
45 мин

Опыт плавной миграции высоконагруженного проекта (20+ млн. пользователей) c MySQL на PostgreSQL

Небольшая история о том, как переход на PostgreSQL увеличил на порядок эффективность работы компании:

  1. Программный код сократился в 50 раз, в команде разработки бэкенда вместо 15 человек осталось трое
  2. Сроки разработки нового функционала стали измеряться днями, а не месяцами
  3. Стоимость владения в расчете на 1 млн. пользователей снизилась в 20 раз
  4. Структура данных и документация существенно упростилась: вместо 100 тыс. таблиц со сложными связями стало 20 простых таблиц
  5. Повышение безопасности системы за счет запрета внешних SQL команд к базе данных
  6. Быстрый сбор аналитики по ключевым параметрам
  7. Без остановки работы бизнеса

Слайды

Видео

Другие доклады

  • Рустам Абдрахимов
    Рустам Абдрахимов ООО Форс-Телеком Главный эксперт
    Александр Любушкин
    Александр Любушкин ООО "ФОРС Телеком" Технический директор
    90 мин

    Разработка WEB-приложений для Postgres с помощью нового инструмента Live Universal Interface (LUI)

    В ходе мастер-класса будет продемонстрировано следующее:

    1. Преимущества декларативного программирования. Быстрое создание сложной формы LUI с применением только SQL.
    2. Поддержка длинных транзакций и автоматических блокировок. Пример визарда с записью прямо в базу.
    3. Управление раскраской данных в полях и столбцах формы. Типичные примеры.
    4. Живой поиск в полях ввода на примере ввода адресов.
    5. Как настроить LUI на ввод и отображение специфических данных прикладной системы.
    6. Разработка формы Мастер-Деталь с извлечением данных из двух разных БД.
    7. Как конечный пользователь строит сложные запросы к данным без использования SQL.
    8. Как в любом списке группировать данные и строить интерактивные диаграммы (включая 3D) c возможностью “drill down”.

    Слушатели по желанию смогут своими руками изготовить WEB-интерфейс для Postgres на LUI (см. презентацию на https://pgconf.ru/2019/118109)

  • Егор Рогов
    Егор Рогов Postgres Professional эксперт
    45 мин

    Статистика в ретроспективе

    Чтобы оптимизатор мог построить хороший план, он должен иметь представление о статистических свойствах данных, с которыми имеет дело. Любопытно посмотреть, как усложнялась со временем структура собираемой информации: на что оптимизатор опирался в былые времена и что есть в его распоряжении сейчас с выходом 12-й версии. Мы также поговорим о том, как и когда собирается статистика, как управлять этим процессом и нужно ли вообще об этом задумываться.

  • Николай Чадаев
    Николай Чадаев Postgres Professional Старший инженер
    Валерий Попов
    Валерий Попов Postgres Professional Руководитель группы информационной безопасности и сертификации
    45 мин

    Построение защищенных БД с использованием мандатного разграничения доступа в PostgreSQL

    Ролевая модель разграничения доступа (RBAC) является основным механизмом разграничения доступа во многих СУБД, в том числе и в PostgreSQL. Эта модель является разновидностью дискреционного разграничения с присущими ей ограничениями. Во многих ОС в дополнение к традиционному дискреционному разграничению доступа используется мандатное разграничение (MAC) на основе меток безопасности, которое является обязательным для защиты информации высоких классов, а также представляет дополнительный механизм защиты. Естественно, хочется использовать возможности мандатного разграничения доступа к данным в среде СУБД при работе в ОС с включенным мандатным разграничением.
    В нашем докладе мы рассмотрим имеющиеся реализации MAC в СУБД, а также предлагаем свой подход к использованию в PostgreSQL механизмов защиты, которые предоставляет SELinux, расширение sepgsql для PostgreSQL, а также стандартный механизм политики защиты строк (RLS, row level security), который есть в PostgreSQL начиная с версии 9.5.
    Созданный прототип работает в enforced режиме под управлением ОС CentOS 7 с включенным SELinux, системными политиками MLS/MCS (Multi Level Security/Multi Category Security). В дополнение к функциональности модуля sepgsql реализовано мандатное разграничение MLS/MCS на уровне строк таблиц. Обеспечивается сетевое взаимодействие с передачей меток по сети с использованием механизмов IPSEC, CIPSO, что позволяет использовать этот подход в многопользовательской, многоузловой сети. Реализация MLS в СУБД оформлена в виде стандартных расширений PostgreSQL. Одно является оберткой вокруг расширения sepgsql, и обеспечивает легкую инсталляцию расширения sepgsql в БД, а также восстановление контекстов безопасности данных при дампе/восстановлении БД. Второе расширение предоставляет сервисные функции для работы с метками, в том числе в доверенном режиме, позволяющем менять контексты безопасности.
    В качестве демо-примера мы использовали демонстрационную базу данных Авиаперевозки, подготовленную компанией Postgres Professional, на которой мы продемонстрируем защиту чувствительной информации и персональных данных, сравним различные механизмы организации хранилища меток безопасности и производительность решения.

  • Анатолий Анфиногенов
    Анатолий Анфиногенов АО "ВНИИЖТ" Зам. директора научного центра - начальник отдела разработки ПО
    45 мин

    Как я перестал беспокоиться и перенес 60K строк из 150 процедур PL/SQL в Postgres.

    В докладе рассказывается об опыте переноса серверного приложения, работающего на полигоне железных дорог от Калининграда до Хабаровска, с Oracle 11g Standard Edition на ванильный PostgreSQL 11.5.
    На момент начала миграции база данных насчитывала порядка 200 хранимых процедур на языке Oracle PL/SQL общим объемом порядка 60000 строк (которые создавались с 2006 года, т.е. уже более 12 лет), около 250 таблиц и 50 Гбайт данных.
    Доклад содержит описание сопровождавших этот процесс приключений, приятных и неприятных открытий, а также пролог, эпилог и хэппи-энд.

    Повествование ведется от лица пользователя Oracle, открывающего для себя Postgres.