title

text

Доклады

  • Павел Лузанов
    Павел Лузанов Postgres Professional Руководитель образовательных программ
    40 мин

    PostgreSQL 17

    В этом году даты проведения конференции совпадают с завершением релизного цикла 17 версии. 8 апреля в 15:00 MSK прием изменений завершится. А мы сможем обсудить, что ожидать в осеннем релизе. Здесь и инкрементальное резервное копирование, изменения в логической репликацией, триггер на подключение и наверняка появится что-то любопытное в начале апреля.

  • Фёдор Сазонов
    Фёдор Сазонов Сбер Руководитель направления
    Илья Сазонов
    Илья Сазонов Всегда Да Руководитель разработки
    40 мин

    pg укротитель

    У разработчиков постоянно возникают проблемы при работе с базами данных. Они вызваны тем, что разработчики считают СУБД чёрным ящиком, который "просто работает" и даже не подозревают, что важно и нужно понимать не только стандарт SQL, но и подробности устройства конкретной СУБД.

    Проекты разные, разработчики разные, но вот проблемы как правило одни и те же. Мы хотим продемонстрировать как разработчики пользуются базой данных и рассказать хорошо бы знать об устройстве СУБД, для того, чтобы писать код, который не разваливается как только компания из бодрого стартапа превращается в зрелый бизнес с планомерно растущими продажами и, соответственно, нагрузками.

    Практически в любом успешном проекте можно встретить практически одинаковые проблемы. Они появились потому что бизнес хотел побыстрее получить готовый продукт и это в своё время помогло компании встать на ноги. В небольших проектах эти проблемы совершенно незаметны.

  • Алексей Борщев
    Алексей Борщев Postgres Professional Инженер
    20 мин

    Про-Shardman

    Инженеры Постгрес Профессиональный А. Борщев и П. Конотопов расскажут о Шардмане с точки зрения SQL разработчиков и архитекторов БД: - Что такое Шардман - Чем отличается от обычного Постгреса - Типы таблиц и их использование - Как адаптировать схему БД для работы на шардах

  • Александр Попов
    Александр Попов Postgres Professional Инженер
    20 мин

    pgpro_rp - Приоритизация ресурсов

    Рассказ о расширении, с помощью которого можно ускорить выбранные запросы. В системах с большой нагрузкой часто есть необходимость ускорить важные запросы и притормозить менее приоритетные. С помощью расширения pgpro_rp можно выставить приоритет на работу запросов.

  • Алексей Мигуцкий
    Алексей Мигуцкий Конвертум Руководитель отдела миграции БД
    20 мин

    Автоматическая миграция БД на PostgreSQL: планирование, решения, трудности

    • Автоматическая миграция БД в PostgreSQL
    • Оценка миграционного проекта и построение плана работ
    • Миграция схемы, данных и бизнес логики. Основные сложности, решения и возможности автоматизации.
    • Изменение приложения при миграции БД - сложности и возможности автоматизации

  • Никита Печёнкин
    Никита Печёнкин Postgres Professional Разработчик программного обеспечения
    40 мин

    Консистентность в распределенных системах на базе PostgreSQL

    Поговорим о консистентности в распределенных системах с точки зрения СУБД, распределенной системы и распределенной СУБД. Рассмотрим иерархию уровней согласованности, в т.ч. с точки зрения допустимых аномалий. Рассмотрим и сравним гарантии согласованности данных, предоставляемые различными решениями на базе PostgreSQL включая Shardman от Postgres Pro. Рассмотрим архитектуру Shardman с точки зрения возможных аномалий и наши способы от этих аномалий избавиться. Расскажем о том, как мы в Shardman верифицируем гарантии консистентности с помощью jepsen-тестирования.

  • Алексей Власов
    Алексей Власов Skala-r Архитектор
    Александр Бурцев
    Александр Бурцев Skala^p Руководитель продукта Машина Баз Данных
    40 мин

    Аварийное восстановление Postgres Pro Enterprise в Машине Баз Данных Скала^р при помощи pg_probackup

    Мы поговорим об архитектурных решениях хранения резервных копий внутри Машины Базы Данных для Postgres (МБД.П). Сравним этот вариант СРК с реализацией подключения МБД.П к Машине Хранения Данных (МХД.О) c S3-интерфейсом. Расскажем о производительности двух этих решений и ограничениях. Обсудим функции, которые мы хотели бы видеть в Enterprise-версии pg_probackup для работы с СРК. Узнаем какие open-source-продукты уже реализуют часть этих функций, но проигрывают в деталях реализации и расскажем почему так происходит.

  • Алексей Фадеев
    Алексей Фадеев Sibedge Старший разработчик .NET, евангелист Postgres.
    40 мин

    PostGIS + k-NN: как найти ближайший бар, и правда ли, что Земля не плоская

    В обзорных докладах по Postgres можно встретить упоминание алгоритма k-NN для поиска в пространстве. В данном докладе тема будет рассмотрена более глубоко, описан механизм индексирования поиска в пространстве в картинках. Так же я покажу, как с помощью популярного бесплатного расширения PostGIS применить алгоритм k-NN к географическим координатам точек на земном шаре, которые не являются прямоугольными. Для всех примеров будет показана реализация в ORM.

  • Владимир Комаров
    Владимир Комаров Сбербанк-Технологии Архитектор
    40 мин

    Безопасность баз данных

    Что вы можете вспомнить по ключевому слову «безопасность»? Скорее всего, только ролевую модель доступа. На самом деле арсенал средств защиты современных СУБД гораздо шире. Если вам незнакомы такие аббревиатуры, как RLS, FGAC, DLP, PAM, WAF, LBAC, TDE, KMS и масса других, то этот доклад — для вас. Мы расшифруем эти иероглифы, поговорим о том, какие из них действительно важны, а главное — когда и от чего надо защищать базу данных.

  • Владимир Сердюк
    Владимир Сердюк Общество с ограниченной ответственностью «Кластерные технологии Софтпоинт» Ген. директор
    40 мин

    Распределение транзакционной нагрузки в кластере серверов СУБД

    Данный доклад представляет собой описание концепции и прототипа кластера СУБД, работающего по принципу Master-Master. Проблема синхронизации данных в таких системах ни в одном тиражном решении до сих пор не решена, поэтому масштабирование для OLTP-систем, где транзакционная нагрузка сильно превалирует над аналитической, решается до сих пор только усилением аппаратной части – добавить ядер/процессоров, добавить памяти, что зачастую бывает не самым рациональным решением. Напомню, что задача распределения аналитической нагрузки решается относительно просто с помощью создания дополнительных реплик и перенаправления запросов на чтение вне транзакций на другие реплики. В случае же транзакционной нагрузки, если применять аналогичный подход, возникают коллизии, например, типа «писатель-писатель», которые, если их не учитывать, могут привести к неверным данным в транзакциях. Концепция кластера распределённых вычислений на первый взгляд звучит просто: «Все запросы на изменение данных выполняются мгновенно на всех нодах (серверах кластера), а чтение выполняется локально». Специальный прокси-агент распарсивает запросы, и выполняет запросы на чтение локально, а запросы на изменение перенаправляются параллельно и асинхронно на все остальные ноды кластера. Все изменения выполняются в системе зеркальных распределённых транзакций , которыми управляет координатор распределённых транзакций. Несмотря на простоту концепции и формулировки, возникает множество технических проблем, которые нигде ранее не были решены. В случае высокого параллелизма и конкуренции ресурсов порядок запросов на разных серверах может изменяться, что, в свою очередь, может приводить к изменению состава данных и к распределенным взаимоблокировкам. Также возникают сложности с падением линейной скорости примитивных операций. И, не решив проблемы оптимизации, данное решение сразу не подойдет для большинства систем. Одними из целевых показателей промышленного решения будет являться подключение до 20-и серверов в кластер с линейной просадкой времени операций не более чем на 10 % .

    В докладе будут рассмотрены эти и другие проблемы распределено-вычислительного кластера. В том числе, представлены примеры системы, для которых это будет максимально эффективным решением, а также описание архитектуры и демонстрация прототипа.

  • Дмитрий Фатов
    Дмитрий Фатов
    40 мин

    Разгоняем вставку больших объемов данных Spring + PostgreSQL

    Разработчикам часто приходится встречаться с оптимизацией различных бизнес-процессов. В этом докладе спикер покажет процесс оптимизации вставки в PostgreSQL с использованием фреймворка Spring со стороны прикладного разработчика. Также расскажет о проблемах медленной вставки данных в БД и о том, как можно ускорить этот процесс от простых настроек до использования кастомных методов PostgreSQL.

  • Виталий Давыдов
    Виталий Давыдов Postgres Professional Разработчик программного обеспечения
    Иван Панченко
    Иван Панченко Postgres Professional Заместитель генерального директора
    20 мин

    Сферические данные в вакууме сегодня

    Обзор средств PostgreSQL для работы с точками на сфере (земной или небесной) и их сравнительный анализ. point, spoint, spoint3, earthdistance, pg_sphere, PostGIS - для чего использовать и какие у какого средства плюсы и минусы? Затронем также вопросы поиска данных на сфере, включая kNN. В соавторстве с Виталием Давыдовым, ключевым мейнтейнером pg_sphere.

  • Артём Галонский
    Артём Галонский Postgres Professional Руководитель продуктового направления
    20 мин

    Pooler, load balancer, proxy. Что их объединяет?

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

    В данном докладе сделаем краткий обзор базовых технических требований к новой функциональности PostgresPro Enterprise, которая появится в 17 версии.

  • Леонид Борчук
    Леонид Борчук Яндекс Разработчик
    20 мин

    Планы выполнения в pg_stat_statements

    Есть много opensource (и еще больше проприетарных) форков pg_stat_statements, которые позволяют смотреть планы выполнения запросов:

    pg_stat_plans https://github.com/2ndQuadrant/pg_stat_plans
    pg_store_plans https://github.com/ossc-db/pg_store_plans
    pg_stat_monitor https://github.com/percona/pg_stat_monitor

    Все они мне чем-то не подошли и я написал свое https://github.com/postgredients/pg_stat_query_plans. Расскажу что и как сделал, и что хотелось бы добавить в оригинальный pg_stat_statements, чтобы мое расширение было не нужно

  • Василий Бернштейн
    Василий Бернштейн Postgres Professional Старший технический менеджер продукта
    20 мин

    Подход по ограничению прав доступа суперпользователя к чувствительным данным в реализации компании Postgres Pro

    Требования к безопасности данных постоянно растут, и многие пользователи сегодня ищут способ ограничить доступ администраторов СУБД к конфиденциальным данным. Стандартным подходом в форках PostgreSQL является наложение дополнительных ограничений на postgres/superuser. Мы в Postgres Pro использовали принципиально другой подход.

  • Алексей Дарвин
    Алексей Дарвин
    Дарья Лепихова
    Дарья Лепихова Postgres Professional разработчик
    40 мин

    Новые возможности pg_ProBackup 3.0

    В новой версии изменен подход к взаимодействию с базой данных, за счет использования собственного репликационного протокола, при этом утилита продолжает работать с любой версией бд, как PG_PRO так и Postgres. Изменен формат бекап файла, а так же в утилите будет доступен полноценный SDK, использование которого облегчает интеграцию pg_probackup c партнерами. SDK поддерживает разработку приложений на C, C++, GoLang Дополнительно реализована возможность бекапа на ленту и включены все доработки и оптимизации работы с wal, cfs, Ptrack, S3 имеющиеся в версии 2

  • Николай Шаплов
    Николай Шаплов Postgres Professional Fuzzing Engeener
    40 мин

    Fuzzing-исследование PostgreSQL. Как мы искали и что мы нашли

    Фаззинг-исследование, это когда мы подаем в программу (или ее часть) случайные входные данные (на самом деле случайность весьма условна) и смотрим что из этого получится. И так много раз на многих процессорах.

    Фаззинг исследование большого монолитного программного комплекса всегда не простая задача требующая неординарных решений. В этом докладе я расскажу что и как мы искали при помощи фаззинга и к каким результатам оно привело.

    Исследование функций парсинга типов данных (input-функции): для разогрева;
    Исследование функций реализующих операции между типами (op-функции): тут лучше учитывать структуру;
    Фаззинг сетевой подсистемы: давайте притворимся, что мы POSIX-вызовы, так дешевле;
    Восстановление дискового контекста: нужен день сурка.
    

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

    Диапазонные типы в Postgres

    После того, как импортозамещение состоялось, можно немного перевести дух и заняться дальнейшим развитием нашего приложения. При этом оказывается, что Postgres - это не упрощенная версия Oracle, как могло показаться некоторым в процессе миграции, а самобытная СУБД, заметно его превосходящая во многих вопросах.

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

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

    В докладе рассматривается решение нескольких типовых для диапазонных типов задач, что может быть полезно при проектировании новых и развитии существующих приложений.

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

    BiHА и 1С

    Совсем недавно в релиз вышел встроенный отказоустойчивый кластер BiHА. 1С тоже имеет свою систему отказоустойчивого кластера. В докладе расскажу можно ли их поженить и как настроить так чтобы отработка отказа требовала минимального участия человека, а возможно не требовала его вообще.

  • Владлен Пополитов
    Владлен Пополитов Postgres Professional разработчик программного обеспечения
    40 мин

    Зачем мне векторная база данных, если уже есть PostgreSQL?

    В 2023 году было анонсировано рекордное количество новых векторных баз данных. Mы расскажем о феномене векторных баз данных, раскроем суть этого явления и продемонстрируем, как векторные СУБД решают проблему производительности операций с векторами больших размерностей, и что препятствует реляционным базам данных конкурировать с ними в настоящее время. Несмотря на общий интерес к векторным базам данных, есть мнение о том, что существующие реляционные СУБД скоро смогут эффективно поддерживать операции с многомерными векторами, сохраняя традиционно богатый функциональный набор, что особенно важно для корпоративных пользователей. Например, для PostgreSQL уже созданы несколько расширений для работы с многомерными векторами, таких как pgvector, diskann, а также несколько коммерческих вендоров PostgreSQL объявили о поддержке работы с векторами. Мы рассмотрим используемые в этих расширениях алгоритмы, остановимся на недостатках и покажем возможные пути их улучшения.

  • Сергей Новиков
    Сергей Новиков ЕДИНЫЙ ЦУПИС Lead DBA
    40 мин

    Оптимизация OLTP-нагрузки

    В докладе представлен обобщённый опыт компании ЕДИНЫЙ ЦУПИС в вопросах оптимизации OLTP-запросов: • Как идентифицировать причины перегрузки сервера. • Какие настройки помогают улучшать планы и ускорять запросы, которые и так работают быстро. • Как лучше подготовить индексы и сами запросы. Также будут рассмотрены различные примеры деградации производительности из практики.

  • Алексей Светличный
    Алексей Светличный Тинькофф Технический продакт менеджер
    40 мин

    Мониторинг и алертинг большой инфраструктуры

    С каждым днем объемы данных, количество инсталяций, обслуживаемых систем приумножается. Зачастую можно проследить даже геометрическую прогрессию. Вопросы инпортозамещения, требования регулятора, новые проекты - все это форсирует развитие Postgres. Такие реалии ставят перед нами амбициозные цели слежения за соблюдением SLA, качественный мониторинг, дашборды по критичным элементам производительности систем. Поделимся нашим опытом и наработками в рамках Tinkoff.

  • Александр Никитин
    Александр Никитин PGMechanix Администратор баз данных
    40 мин

    Миграция int-> bigint

    Довольно часто встречается ситуация, когда система начинает расти. И то, что раньше работало через какое-то время перестаёт работать. Именно так обстоит дело и с переполнением типов данных. Если в начале проекта хватало int4, то через какое-то время он может полностью исчерпаться и нужно переходить на bigint. В своём докладе я опишу то, с чем сталкивается ДБА, опишу путь решения подобной задачи и познакомлю с утилитой, которая значительно упростит выполнение подобного рода задач.

  • Алексей Семихатов
    Алексей Семихатов
    60 мин

    Открытие Вселенной силой мысли

    Великие уравнения знают больше, чем их великие создатели, и логический анализ не раз приводил к предсказаниям того, что вовсе не ожидалось. Героические эпизоды включают открытие планет на кончике пера; выяснение природы света благодаря волюнтаристскому исправлению уравнений; предсказание антиматерии исходя из "посторонних" принципов; формулировку языка теории гравитации задолго до ее создания; черные дыры, полвека существовавшие только на бумаге; драматическое чередование идей статической, расширяющейся и ускоренно расширяющейся Вселенной. Среди случаев с неизвестным пока разрешением --темная материя.

  • Василий Пучков
    Василий Пучков ООО Главный эксперт
    40 мин

    JSONB и будущее реляционных СУБД - взгляд разработчика

    История сложных отношения реляционной и объектной моделей: - крепкие опоры и неразрешимые противоречия; - разные хорошие попытки - составные типы, классы, XML, JSON. JSONB - новый ответ и вопросы к нему. Ловушки и тупики, в которые может завести увлечение JSONB. Очевидные и неочевидные способы использования JSONB в разработке.

  • Дмитрий Ремизов
    Дмитрий Ремизов ГНИВЦ архитектор
    40 мин

    Использование gdb python API для исследования внутреннего мира Postgres и Oracle

    В своём докладе я собираюсь рассказать о сравнительно малоизвестном и малоиспользуемом функционале встроенном в популярный отладчик GDB. Я собираюсь дать небольшой обзор по данному API и на примере PostgreSQL и Oracle показать как можно использовать данное API чтобы более наглядно показать/исследовать то что происходит внутри базы данных. В качестве примера я предполагаю рассмотреть некоторые аспекты парсинга SQL внутри данных баз данных.

  • Александр Попов
    Александр Попов Postgres Professional Инженер
    20 мин

    pgpro_redefinition - расширение для онлайн манипуляций с большими таблицами

    Рассказ про расширение для перестройки больших таблиц без блокировок (почти)

    pgpro_redefinition - новое расширение, которое позволяет перестраивать таблицы без остановки приложения. Например секционировать большую таблицу, добавить колонку с default значением, разбить таблицу на 2 таблицы и даже создать копию таблицы на другом сервере СУБД.

  • Евгений Пажитнов
    Евгений Пажитнов Postgres Professional TAM
    20 мин

    PgRAP: Программа оценки здоровья и рисков PostgreSQL

    Переход от реактивной поддержки СУБД к проактивной. У себя в компании Постгрес Про мы обрабатываем информацию по всем критическим инцидентам, докапываясь до корневых причин инцидентов. Причину каждого инцидента мы классифицируем по трём направлениям: Технологии, Люди и Процессы. Доклад описывает наш опыт в части комплексного подхода к предотвращению сбоев СУБД.

  • Константин Ващенков
    Константин Ващенков xsquare.ru Тех дир
    20 мин

    Миграция с Oracle APEX/Forms на Эльбрус e2k. Проблемы. Производительность

    Расскажем об опыте миграции с Oracle Forms / Apex на платформу x86 Расскажем об опыте последующий миграции решений на Эльбрус e2k Расскажем об производительности / масштабируемости (БД/количестве пользователей)

    На примере НПФ Корпорации "Ростех" / НПФ ПАО "Ростелеком"

  • Павел Конотопов
    Павел Конотопов Postgres Professional руководитель кластерной группы
    40 мин

    Слон и Моська. Проблема фенсинга в кластерах PostgreSQL

    Довольно часто в кластерных конфигурациях PostgreSQL можно встретить настройку, отвечающую за ввод отказавшего ведущего сервера обратно в кластер в качестве реплики. Утилита pg_rewind выполнит синхронизацию данных между двумя серверами. Она копирует изменения из WAL-файлов основного сервера, которые не применялись на отстающем сервере (бывшем мастере). Однако без механизма fencing существует риск потери данных, если оба сервера (старый мастер и новый мастер) активны одновременно и оба принимают изменения данных. Эта ситуация называется split-brain, возникновение ее катастрофично для целостности данных. Поговорим о том, как минимизировать риски потери данных, какие есть варианты fencing-а, какие практики стоит использовать и в каких ситуациях.

  • Александр Котин
    Александр Котин Postgres Professional Старший технический менеджер продукта
    40 мин

    Управление планами запросов - новые возможности

    Расскажем о новых возможностях и продвинутых техниках управления планами запросов (совместное использование AQO, sr_plan и pg_hint_plan)

  • Петр Петров
    Петр Петров Postgres Professional Ведущий инженер в группе производительности
    40 мин

    Инструменты диагностики и примеры оптимизации запросов

    Обработка запросов является неотъемлемой частью любой СУБД, влияющая на производительность информационной системы в целом. Важно максимально быстро находить проблемные запросы и знать способы их оптимизации. В данном докладе будут представлены различные модули для сбора и представления диагностической информации и рассмотрены часто встречаемые ошибки при написании запросов и методы их исправления.

  • А
    Андрей Лепихов
    Алена Рыбакина
    Алена Рыбакина Postgres Professional Разработчик
    40 мин

    Перепланирование безнадежных запросов в реальном времени

    В настоящее время приложения с автоматически генерируемыми запросами получают все большее распространение, однако это приводит к тому, что оптимизаторы современных СУБД из-за некоторых ограничений не могут найти оптимальный план их выполнения. Поэтому это вынуждает выполнять их в течение длительного времени. В основном эта ошибка возникает из-за неправильной оценки мощности, что еще хуже, ошибка может повторяться оптимизатором снова и снова. В нашем повествовании мы расскажем о весьма нетрадиционной попытке решения этой проблемы методом перепланирования запросов, который путем анализа дерева выполнения запроса с сохранением фактической мощности, использует знания для генерации более корректного плана запроса.

  • Павел Толмачев
    Павел Толмачев Postgres Professional Специалист образовательного отдела
    20 мин

    Историко-статистический взгляд на сообщество PostgreSQL

    В первой части своего доклада расскажу о некоторых моментах из истории PostgreSQL-сообщества (например, про русского Слоника на логотипе).

    А во второй части покажу интересную статистику про сообщество и расскажу (используя информацию о коммитах в GIT и с сайта commitfest.postgresql.org) сколько патчей предлагается на коммитфестах и сколько из них принимается; в какие дни недели и в какое время происходит фиксация патчей; кто из авторов патчей являются самыми активными; и наглядно посмотрим на некоторые из интересных тенденций развития сообщества.

  • Александр Любушкин
    Александр Любушкин ФОРС Телеком Технический директор
    Андрей Чибук
    Андрей Чибук ФОРС Телеком Ведущий эксперт
    40 мин

    Управление сценариями миграции большого объёма данных из Oracle в PostgreSQL

    Инструмент Ora2PgCopy представленный на PgConf.Russia-2023 (https://pgconf.ru/talk/1589503) получил новое развитие и дополнен новым средством для инкрементальной миграции данных Ora2PgSync. В докладе рассматриваются следующие стадии процесса переноса данных большой БД: - многопоточная миграция данных (в том числе со сжатием при передаче по медленной сети) - создание индексов и ограничений целостности - инкрементальная миграция изменений данных после переноса основного объёма. Особое внимание уделяется обработке нештатных ситуаций с целью предотвращения полного повторения сценария миграции данных. Представлено несколько способов обеспечения равномерного и полного использования вычислительных ресурсов в течение всего времени отведённого на перенос БД. Обсуждаются проблемы инкрементальной синхронизации БД Oracle и PostgreSQL: - Почему надо анализировать все транзакции в Oracle, а не только зафиксированные - Что происходит, когда в Oracle один оператор delete удаляет 1млн. строк.

  • Дмитрий Руденко
    Дмитрий Руденко Тинькофф Центр Разработки Ведущий инженер баз данных
    20 мин

    Что в черном ящике? Или как помочь разработчику понять, что требует оптимизации в БД

    Всем нам хочется быть немножко Шерлоками и расследовать интересные и запутанные дела. Жизнь, однако, вносит свои коррективы и большинство задач на выходе имеют банальные решения вроде - добавьте индекс по такому-то полю. Обилие баз и команд приводит к постоянному фону таких задач. Ситуацию усложняет повсеместное использование всякого рода ORM. И сами разработчики и ORM, зачастую не особенно беспокоятся вопросами эффективного доступа к данным (построение запросов, наличие и оптимальность состава индексов итд). В докладе рассматривается инструмент мониторинга и анализа состояния баз данных Postgres созданный на основе Grafana. Особенно подробно рассмотрены части, которые помогают разработчикам самостоятельно понять, где и каким образом образуются слабые места в его взаимодействии с базой.

  • П
    Павел Баев ФОРС-Центр разработки Инженер
    Денис Леонтьев
    Денис Леонтьев ФОРС-Центр разработки ведущий инженер
    Андрей Пауков
    Андрей Пауков ООО «ФОРС – Центр разработки» Ведущий инженер
    40 мин

    Диагностика производительности базы данных PostgreSQL / Diagnostics of PostgreSQL database performance

    ЦТП ФОРС имеет более чем 30 летний опыт поддержки промышленных СУБД на основе Oracle, последние 9 лет мы оказываем услуги по PostgreSQL. Накопленную за много лет методику применяем в нашей работе. В докладе делаем обзор с примерами использования штатного инструментария диагностики производительности СУБД и ОС. Представляем собственный инструмент PGARM, и как он помогает нам вести диагностику замедлений, в том числе в реальном времени.


    FORS Center of Technical Support with over 30 years of experience in supporting Oracle-based RDBMS has been providing support services for PostgreSQL-based DBMS for the last 9 years. We leveraged our extensive experience gained over many years while developing our PGARM tool. In the presentation we provide a comparison between standard tools for diagnosing DBMS and OS performance and our PGARM. Today we would like to present our own tool: PGARM and to demonstrate how it can help you diagnose slowdowns, including real time diagnostics.

  • Владимир Ситников
    Владимир Ситников PostgreSQL JDBC maintainer Performance Engineer
    40 мин

    Механизм server-prepared statements в реализации PostgreSQL JDBC

    Доклад о базовых принципах serever-prepared statements, и о фактической реализации в PostgreSQL JDBC. Планируется рассмотреть как базовые механизмы, так и краевые случаи.

    Примерный список тем:

    1) Как задействовать server-prepared statements
    2) Какие настройки влияют на server-prepared
    3) server-prepared vs batch execution
    4) server-prepared vs concurrent executions (несолько разных подключений)
    5) server-prepared vs connection poolers
    6) Как понять, что server-prepared не работает
    7) binary/text parameter/result encoding
    8) server-prepared vs типы данных (грубо говоря, timestamptz vs timestamp vs text encoding)

  • Леонид Борчук
    Леонид Борчук Яндекс Разработчик
    40 мин

    Greenplum: командный центр вместо pg_stat_statements

    В greenplum используется отличный от PostgreSQL подход для сбора статистики выполнения запросов: вместо pg_stat_statements - командный центр. Командный центр - отдельное приложение. А значит нет необходимости хранить статистику в разделяемой памяти. Но нужно отправлять ее отдельному процессу. Расскажу: - как мы его реализовали; - почему использование grpc в postgreSQL - плохая идея и с какими еще проблемами мы столкнулись; - какие хуки было бы неплохо добавить в postgreSQL; - как не тормозить на отправке данных; - какие новые возможности появляются у отдельного приложения.

  • Андрей Черняков
    Андрей Черняков UIS, CoMagic Разработчик баз данных, техлид
    40 мин

    pg_migration - система работы с кодом, как не дать программистам все сломать

    Мы долгое время катили релизы на базы данных руками. Но когда их количество стало больше 50, выкладывать релизы руками стало больно, даже при наличии скриптов. Стало понятно, что нужен какой-то инструмент. Так как готовые инструменты нам не подошли, мы решили написать свою систему на основе пайплайнов ci/cd в gitlab.

    В результате получилась удобная система работы с кодом: - автоматические проверки практически не дают сделать что-то не правильно (plpgsql_check, авто-тесты и т.д.) - исключается возможность расхождения кода в живой БД и в репозитории - включает в себя несколько утилит (написанных на python), которые можно использовать как в пайплайнах, так и непосредственно из консоли - поддерживаются два режима раскатки релизов: по кнопке из gitlab и полностью автоматический (по ключевому слову auto_deploy в сообщении к коммиту)

  • Рустам Хандадашев
    Рустам Хандадашев ООО Квиллис Разработчик Баз Данных
    Борис Гладких
    Борис Гладких ООО Квиллис Архитектор Баз Данных
    Надежда Кузьмичева
    Надежда Кузьмичева ООО Квиллис Team lead
    40 мин

    Как мы строили Хранилище на GreenPlum, или тонкости ELT в условиях Postgres 9.4

    В этом докладе расскажем о некоторых нюансах построения Хранилища на GP, об автоматизации рутинного труда в процессе ELT, о том какие шишки набили при трансформации данных.

  • Андрей Зубков
    Андрей Зубков Postgres Professional Руководитель группы систем мониторинга
    40 мин

    pg_profile: Отслеживание состояний сессий

    Утилита анализа производительности pg_profile получила возможность отслеживания истории аномальных состояний сессий. Для этого был реализован новый механизм промежуточных снимков. В докладе я расскажу о возможностях нового механизма и перспективах его дальнейшего развития.

  • Андрей Бородин
    Андрей Бородин Яндекс.Облако Руководитель подразделения разработки РСУБД с открытым исходным кодом
    40 мин

    Как начать контрибьютить в Postgres: моя версия

    В докладе я расскажу как работает сообщество Postgres-а. Как начать разработку, как сообщить об ошибке, как вести коммуникацию и как функционирует экосистема.

  • Виктор Васильев
    Виктор Васильев Postgres Professional Архитектор решений
    20 мин

    Snapshot Standby с BTRFS в работе с PostgreSQL

    В докладе будет рассмотрена функциональность файловой системы BTRFS позволяющая реализовать Snapshot Standby в работе с PostgreSQL. В первой части доклада будет поверхностно рассказано про BTRFS, а во второй части доклада будут рассмотрено несколько кейсов использования Snapshot Standby на примерах.

  • Артем Свяжин
    Артем Свяжин LLC SIMA-LAND Руководитель отдела системного инжиниринга
    20 мин

    Слоник который смог в ZFS

    Ни для кого не секрет, что объемы баз данных растут с невероятной скоростью. Мы хотим поделится опытом развертывания тестовых и dev-контуров СУБД больших размеров за несколько секунд. В докладе будут проблемы, с которыми мы столкнулись, наш тернистый путь к ZFS и разъяснение рабочей схемы, как же все-таки оно работает у нас, и как мы с этим живем. Будет интересно.

  • Иван Оселедец
    Иван Оселедец
    45 мин

    Современные методы искусственного интеллекта

    В докладе будет дан краткий обзор основных понятий, решаемых проблем и перспектив искусственного интеллекта