title

text

PgConf.Russia 2019

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

Темы встречи

  • PostgreSQL на переднем крае: большие данные, интернет вещей, блокчейн
  • новое в PostgreSQL и вокруг: развитие PostgreSQL и его экосистемы
  • PostgreSQL в реальных системах: архитектура, миграция, эксплуатация
  • Использование PostgreSQL в платформе 1С
  • PostgreSQL в геоинформационных системах (GIS)
  • более
    0 участников
  • 0 докладчиков
  • 0
    минут общения
  • 63 доклада
  • оффлайн
    формат

Доклады

Архив докладов

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

    Многие специалисты, обслуживающие СУБД не любят эти три буквы - ORM, потому что не раз видели сгенерированные многоэтажные запросы для простейших операций. Однако, практика показывает, что источник проблемы - не ORM, а разработчики, не умеющие ими пользоваться. В этом докладе я расскажу основные принципы, как писать код для ORM, генерирующий «хорошие» запросы, а также покажу «плохие» примеры кода, и что из них получается на выходе. Основные идеи – при написании кода мыслить в SQL, научиться заранее видеть, какой запрос будет сгенерирован. Но даже обретя такой навык нужно всегда проверять выходной SQL для сложных запросов. Приведу конкретный пример, когда незначительное изменение в ORM-логике меняет объём выходного SQL в десятки(!) раз. Расскажу о дополнительных инструментах и хитростях. А именно – отключение трекинга, конструкция Include, разный синтаксис для JOIN, как получить больше данных за меньшее число запросов, как эффективно писать запросы с группировкой, и зачем нужны проекции. Не обойду стороной и случаи, когда эффективно решить задачу средствами ORM не получается (например, запросы с рекурсией). Кроме SELECT-запросов немного расскажу о средствах Batch-Update/Delete, позволяющих обновлять и удалять данные средствами ORM без загрузки на клиент. Несколько слов будет и о вставке – как заставить ORM быстро вставлять большие объёмы данных через Multi-Insert и COPY. Будет упомянуто и о поддержке в ORM специфичных для PostgreSQL типов данных – массивов, hstore и jsonb. Может возникнуть вопрос – а есть ли вообще смысл использовать ORM, раз нужно столькому научиться. Преимущества их использования есть, и об этом тоже будет сказано. Все примеры будут на технологии Entity Framework для платформ .Net Core и .Net Framework на языке C#. Для Hibernate/NHibernate могут быть отличия в некоторых тонкостях, но основные принципы те же, поэтому доклад будет полезен разработчикам, использующим различные технологии.

  • Дорофей Пролесковский
    Дорофей Пролесковский Juno GIS Engineer

    PostGIS - расширение PostgreSQL для обработки пространственных данных.

    В этом докладе будет подробно рассмотрено, какие его функции и как применять для работы с информацией о катаклизмах.

  • Николай Самохвалов
    Николай Самохвалов Nombox LLC Основатель

    Shared_buffers = 25% – это много или мало? Или в самый раз? Как понять, подходит ли эта – довольно устаревшая – рекомендация в вашем конкретном случае?

    Пришло время подойти к вопросу подбора параметров postgresql.conf "по-взрослому". Не с помощью слепых "автотюнеров" или устаревших советов из статей и блогов, а на основе:

    1. строго выверенных экспериментов на БД, производимых автоматизированно, в больших количествах и в условиях, максимально приближенных к "боевым",
    2. глубокого понимания особенностей работы СУБД и ОС.

    Используя Nancy CLI (https://gitlab.com/postgres.ai/nancy), мы рассмотрим конкретный пример – пресловутые shared_buffers – в разных ситуациях, в разных проектах и попробуем разобраться, как же подобрать оптимальную настройку для нашей инфраструктуры, БД и нагрузки.

  • Александр Кузьменков
    Александр Кузьменков Postgres Professional Программист

    Одна из важных задач СУБД -- по декларативному SQL-запросу построить эффективный план его выполнения, используя разные алгоритмы сканирования и объединения таблиц. Над улучшением планирования запросов идёт непрерывная работа. Какие методы применяет PostgreSQL, чтобы получить эффективный план, что нового в этой области в версии 11, и что сейчас находится в разработке? Например, при планировании запроса можно удалять ненужные соединения, или сводить внешние и полусоединения к внутренним. Есть патчи, позволяющие выполнять merge join по пересечению интервалов, или улучшающие оценку селективности соединения с помощью многоколоночной статистики. Если говорить о сканировании отдельных таблиц, покрывающие индексы позволяют чаще использовать index-only scan. Инкрементальная сортировка и более точная оценка стоимости сортировки улучшают планы, где нужен сортированный вывод, например, для GROUP BY и ORDER BY или merge join. Мы обсудим эти и другие подобные оптимизации, которые уже реализованы или находятся в разработке.

Все доклады

Партнёры

PgConf.Russia 2019

Организационный партнёр

Информационные партнёры

Технический партнёр

Партнёр