title

text

Алексей Фадеев
Алексей Фадеев Sibedge Старший разработчик .NET, евангелист Postgres.
10:00 06 февраля
45 мин

ORM: как писать запросы и не сводить с ума СУБД

Многие специалисты, обслуживающие СУБД не любят эти три буквы - 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 могут быть отличия в некоторых тонкостях, но основные принципы те же, поэтому доклад будет полезен разработчикам, использующим различные технологии.

Слайды

Видео

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

  • Андрей Фефелов
    Андрей Фефелов Mastery.pro Технический директор
    90 мин

    Простой отказоустойчивый кластер на postgres, patroni, consul, s3, walg, ansible

    Patroni становится де-факто стандартом для построения отказоустойчивых кластеров Постгрес.

    В мастер-классе мы построим простой отказоустойчивый кластер из 3х нод на перечисленном стеке (на первый взгляд не выглядит простым).

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

    Посмотрим как работает файловер и какими способами можно проинициализировать кластер.

    После мастер-класса вы сможете запустить такой кластер с нуля, используя предоставленные плейбуки ansible.

  • Álvaro Hernández
    Álvaro Hernández OnGres Founder
    180 мин

    Миграция с Oracle на PostgreSQL

    Хватит платить за яхту Ларри!

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

    Присоединяйтесь к мастер-классу, чтобы за полдня изучить лучшие практики, инструменты и некоторые секреты успешного мигрирования с Oracle на PostgreSQL. Учитесь у команды, которая провела миграцию на PostgreSQL Blackberry на GCP с 150М пользователей с практически нулевым временем простоя, и у ключевого создателя orafce - набора Oracle-совместимых функций поверх PostgreSQL.

  • Джошуа Дрейк
    Джошуа Дрейк Command Prompt, Inc. Pioneer
    45 мин

    Сила логической репликации

    Одной из наиболее приятных фич после выхода релиза Postgres v10 стала логическая репликация. В ходе доклада мы рассмотрим, что из себя представляет логическая репликация, как она соотносится с потоковой репликацией, как она работает, конфигурируется, какими ограничениями обладает, с какими подводными камнями можно столкнуться, как решаются вопросы безопасности и управления. Мы также обсудим возможные для развертывания архитектуры с логической и потоковой репликацией и некоторые черты базовой технологии.

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

  • Олег Бартунов
    Олег Бартунов Postgres Professional генеральный директор
    45 мин

    Профессиональный постгрес

    Известнейший российский разработчик PostgreSQL Олег Бартунов откроет конференцию своим докладом том, как и почему из университетского open source проекта PostgreSQL превратился в современную индустриальную базу данных.