title

text

Алексей Фадеев
Алексей Фадеев Sibedge Старший разработчик .NET, евангелист Postgres.
11:05 03 апреля
22 мин

ORM LinqToDb: используем возможности Postgres по максимуму

ORM-библиотеки широко используются при разработке бэкенда – примем это как данность. ORM-библиотеки совершенствуются, разработчики учатся на своих и чужих ошибках, и многие научились писать код для ORM, генерирующий вполне оптимальные запросы для типовых операций. Но есть ещё одна проблема ORM – ограниченность инструментов. Особенно это актуально для Postgres, имеющего массу операторов и конструкций (как в ядре, так и в расширениях), выходящих за рамки стандарта SQL.

ORM-библиотека LinqToDb имеет важную особенность: она позволяет очень просто (буквально в одну строку) писать расширения, реализующие любой SQL-оператор или конструкцию. Полнотекстовый поиск, KNN, CTE (в том числе рекурсивные), работа с массивами и jsonb, array_agg и jsonb_object_agg, табличные функции и LATERAL JOIN – всё это без труда можно использовать в ORM, что я и продемонстрирую в данном докладе!

Слайды

Фадеев.pptx

Видео

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

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

  • Алексей Борщев
    Алексей Борщев Postgres Professional Инженер
    Евгений Жуков
    Евгений Жуков ММТР технологии Системный администратор
    22 мин

    Апгрейд БД при помощи pg_copydb

    pg_copydb - мощая и свежая утилита от Dimitri Fontaine для копирования баз Постгреса из одного кластера Постгрес в другой. В докладе мы расскажем обзор утилиты, результаты тестирования и расскажем об опыте применения её на практике для апгрейда БД.

  • Сергей Мокеев
    Сергей Мокеев Maxim Technology Технический директор
    45 мин

    pgCodeKeeper - инструмент для организации современного процесса разработки БД

    Современные языки программирования “из коробки” предоставляют удобные средства по организации процесса разработки, тестирования и доставки изменений. Но как быть если хочется тех же возможностей при разработке структуры БД и кода хранимых процедур и функций?

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

  • Алена Рыбакина
    Алена Рыбакина Postgres Professional Младший разработчик
    45 мин

    Адаптивная оптимизация запросов в PostgreSQL

    Adaptive Query Optimization (AQO) - это механизм, использующий данные о предыдущем исполнении, которые могут быть использованы для корректировки последующих планов запросов. В докладе подробнее обсуждается, как данное расширение при совместной работе с оптимизатором может помочь решить некоторые проблемы в оптимизации запросов.

  • Иван Фролков
    Иван Фролков Postgres Professional инженер-консультант
    45 мин

    Новые версии UUID

    Генерация первичных ключей - старая задача, довольно неплохо решаемая последовательностям, но, к сожалению, не идеально. Возникают проблемы с распределенной генерацией, действительной уникальностью и предсказуемостью. UUID изначально почему-то не предполагался для использования в качестве ключа СУБД, но новые версии (6,7 и 8) позволяют довольно удобно использовать их в качестве как для синтетических, так и для естественных ключей.