
ORM для .Net, PostgreSQL и производительность
Несколько лет назад понятие .Net-разработчик означало работу со стеком «Windows – Microsoft SQL Server» без вариантов. Но мир меняется, и вот уже Microsoft – платиновый член The Linux Foundation, новая платформа .Net Core используется в продакшне крупными компаниями на Linux/Unix-серверах, а PostgreSQL набирает всё большую популярность как в новых, так и в существующих проектах, в том числе и под .Net.
В докладе будут рассмотрены несколько популярных ORM, сравнительные характеристики их работы, а также способы, как заставить их работать быстрее. Не всегда ORM означает генерацию SQL: «Микро-ORM», как его называют разработчики, Dapper-Dot-Net, выполняет функции маппинга, показывая потрясающую производительность, при этом формирование SQL-запросов остаётся за разработчиком. Так же будет рассмотрено увеличение быстродействия за счёт комбинирования нескольких ORM-технологий.
Наиболее интересная часть доклада будет о достижении высокой производительности операций вставки и обновления данных с использованием особенностей реализации операций «Multi Insert» и «Upsert» в PostgreSQL. Я продемонстрирую в режиме реального времени, как в Postgres, работающий на обычном ноутбуке, к тому же под Windows, выполняется вставка, а затем и обновление миллиона записей менее, чем за 20 секунд, и всё это через ORM.