title

text

Александр Павлов
Александр Павлов Modulbank .NET разработчик
13:00 05 февраля
45 мин

Как получить нагрузку в БД на пустом месте?

Мы - обычные разработчики, которые думали о том, как разработать систему, способную выдерживать неплохие нагрузки, и это даже получилось.

На уровне архитектуры всё было OK, но объём данных возрастал, и начали вылезать не самые приятные моменты, о которых ранее никто не думал и не понимал. Иногда это приводило нас к самым потрясающим запросам, которые мы не понимали, как можно было написать. Мой небольшой рассказ будет о том, как получить нагрузку в БД на пустом месте и как потом от неё избавиться.

Слайды

Видео

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

  • T
    Tatsuro Yamada NTT Comware Ведущий специалист по базам данных
    22 мин

    Настройка автопланировщика с использованием цикла обратной связи

    При OLAP и пакетной обрабокте данных часто наблюдается ситуация, что чем сложее запрос (содержит много джойнов, фильтров и аггрегативных функций), тем выше вероятность ошибок в оценке количества строк, в результате чего планировщик выбирает неэффективный план исполнения запроса.

    Для того, чтобы решить эту проблему, я разработал инструмент под названием pg_plan_advsr - это расширение для PostgreSQL, которое исправляет ошибки оценки путем неоднократного возвращения в планировщик информации, собранной в ходе исполнения запроса.

    Расширение содержит три фичи:

    1. Автоматическая оптимизация плана запроса за счет неоднократного возвращения информации о ходе выполнения запроса в планировщик.
    2. Сохранение всех выработанных при оптимизации планов запросов в таблицу истории.
    3. Создание и сохранение хинтов оптимизатора с тем, чтобы иметь возможность воспроизвести выработанные планы исполнения запросов в процессе настройки.

    Я верифицировал эффективность pg_plan_advsr путем запуска join order benchmark (JOB) на PG 10.4, в ходе чего наблюдалось сокращение времени исполнения запроса до 50% от первоначального. Таким образом, расширение будет полезно пользователям, который хотят настроить планировщик для OLAP и пакетной обработки данных.

    В ходе презентации я расскажу о следующие моментах:

    • Принципы построения и архитектура pg_plan_advsr.
    • Подробная информация о результатах тестирования JOB.
    • Направления улучшений в будущем.
    • Совместное использование расширений aqo и pg_plan_advsr together (экспериментальное).

  • Мирослав Шедиви
    Мирослав Шедиви solute GmbH Senior Software Developer
    90 мин

    Асинхронный Python и PostgreSQL с использованием asyncpg

    Возможно, Python не самый быстрый язык программирования на CPU, но быстрая и простая разработка на нем экономит массу усилий того, кто находится между креслом и клавиатурой. Поскольку программные клиенты базы данных большую часть времени находятся в ожидании отклика от сервера базы данных, аснихронная функциональность Python, ставшая доступной в последних версиях (3.5+), может оказаться полезной для значительной оптимизации скорости работы приложения за счет того, что время подготовки ответа сервером может быть использовано приложением для работы над другими задачами. Асинхронный интерфейс между Python и PostgreSQL называется "asyncpg". В ходе мастер-класса я разберу работу с данной библиотекой и напишу короткое приложение, использую некоторые полезные свойства библиотеки.

  • Вадим Подольный
    Вадим Подольный АО "РАСУ" Независимый эксперт
    45 мин

    Высоконагруженная распределенная система управления современной АЭС

    В докладе будет представлена новая платформа распределенной системы управления АЭС.

    Вы узнаете, как обеспечивается управление сложнейшими объектами автоматизации в мире. В режиме жесткого реального времени обеспечивается работа более 150 специальных подсистем, управляющих различными технологическими процессами АЭС, таких как система управления реактором мощностью выше 1000 МВт и турбиной весом более 2000 тонн. Более 100К источников данных от датчиков и до 500К расчетных параметров. 5 разновидностей физических процессов: нейтронная кинетика, гидродинамика, химия и радиохимия и физика прочности.

    При некоторых отклонениях вся система превращается в огромный источник DDoS полезной диагностической информации, которой всегда больше, чем способна переварить сеть и вычислительные ресурсы автоматизированной системы, что мешает нормальному управлению объектом. Вы узнаете, как мы «разруливаем» такие проблемы.

    Из доклада вы узнаете об аппаратной и программной архитектуре таких систем, узнаете, как обеспечивается резервирование и репликация данных в таких системах, зачем нужна избыточность данных и технологическое разнообразие. Как обеспечивается управление нагрузками, как устроен QoS. И что будет, если отключится система нормальной эксплуатации, как, например было на Фукусиме.

    Но мы все же про кодинг. Никаких SSD и HDD, только InMemory, структуры данных из десятков миллионов элементов, забудьте про кэш процессора, он не работает. Ваш новый Xeon 4-го поколения потерял все преимущества и превратился в "тыкву", поэтому закатываем рукава и ковыряемся в таймингах, жесточайшей аcинхронике и выжимаем из железа максимум. Кто слабое звено - процессор, память, ОС или сеть. Выясняем это.

  • Антон Дорошкевич
    Антон Дорошкевич ИнфоСофт Руководитель ИТ
    22 мин

    Первый в России BlockChain на 1С+PostgreSQL

    В ходе доклада хотелось бы поделиться опытом реализации BlockChain в реальной бизнес-задаче на базе 1С+PostgreSQL. Откуда возникла такая задача? От кого защищаем данные с помощью технологии? Как получать отчёт о целостности цепочки в десятки миллионов записей за считанные секунды?