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

Видео

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

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

  • Александр Бурцев
    Александр Бурцев Skala-R Руководитель продукта Машина Баз Данных
    Дарья Лепихова
    Дарья Лепихова Postgres Professional разработчик
    45 мин

    Примеры работы с новым pg_probackup

    Разработчики pg_probackup расскажут о том, как работать с разнообразием команд pg_probackup. Покажут на примерах как делать FULL и инкрементальные бэкапы в разных режимах DELTA, PAGE, PTRACK. Продемонстрируют настройки политик резервного копирования для разных предметных областей от обслуживания сотни простых СУБД до e-commerce и fintech.

  • Андрей Григорьев
    Андрей Григорьев Ростелеком Информационные технологии Разработчик
    Юрий Плотников
    Юрий Плотников РТК ИТ Начальник отдела
    22 мин

    История о разработке инструмента управления изменениями в БД или чего нам не хватило в Liquibase и Flyway

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

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

    Вакуумотерапия: лечим хронические заболевания БД

    После импортозамещения и перехода с СУБД Oracle на PostgreSQL мы столкнулись как с "детскими" болезнями нашего приложения на новой СУБД, которые успешно вылечили, так и с "хроническими заболеваниями", с которыми пришлось разбираться существенно дольше. Одной из наиболее запомнившихся проблем стала проблема деградации производительности, которая, как выяснилось, была вызвана недостаточным вакуумированием нашей БД. Опыт осознания и решения этой проблемы предлагается вашему вниманию в виде практических рекомендаций по борьбе с эффектом bloat для таблиц и индексов БД, а также настройке VACUUM/autovacuum PostgreSQL.

  • Павел Конотопов
    Павел Конотопов inCountry DBA team lead
    22 мин

    RTT, RTO, RPO и синхронная репликация

    Как влияют сетевые задержки на производительность при использовании синхронной репликации? Если произойдет отказ ведущего узла, сколько времени наш кластер будет недоступным? А сколько данных мы потеряем? Будут ли какие-то аномалии при чтении с реплик? Мы проектируем сеть, дайте нам минимальное значение RTT! Многим DBA приходится сталкиваться с этими вопросами при проектировании и реализации кластерных решений. В этом коротком докладе расскажем, как быстро оценить значения RTT, RTO, RPO, с помощью каких Open Source инструментов можно провести испытания кластерного решения, и экспериментально подтвердить заложенные в проект параметры, на какие значения метрик можно ориентироваться при проектировании.