title

text

Алексей Фадеев
Алексей Фадеев Sibedge Старший разработчик .NET, евангелист Postgres.
: декабря
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 мин

    Кластер Corosync-Pacemaker. Работа над ошибками

    Расскажу о частых ошибках при настройке отказоустойчивого кластера Corosync-Pacemaker. Зачастую эти ошибки приводят к фатальным последствиям, и как следствие - к отказу от выбранного решения в пользу других. Хотите рецепт "правильного" кластера?

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

    Привет, встроенный мультимастер? Сравнение двунаправленной репликации в ваниле и Postgres Pro Multimaster

    Во встроенной логической репликации PostgreSQL с версии 9.5 есть механизм replication origin, позволяющий отслеживать процесс логической репликации с конкретного узла. В 16 версию будет включен патч, позволяющий настраивать циклическую репликацию без повторения изменений, пользуясь этим механизмом. В первых обзорах за внешнее сходство получающегося кластера с мультимастером Postgres Pro фичу окрестили "встроенным мультимастером" - разберемся, насколько они похожи на самом деле, и посмотрим, что там внутри. Ожидается, что слушатели имеют некоторое представление о внутреннем устройстве WAL и его месте в работе PostgreSQL. 

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

    Пять оттенков шардинга

    Колоссальное значение сейчас приобретает шардинг. Размеры современных БД перешагивают 100 терабайтные пределы, вертикальное масштабирование, добавление реплик, содержащих полную физическую копию БД, становится затруднительным, особенно при дефиците вычислительных ресурсов. Шардирование базы данных – это способ горизонтально масштабироваться, разделив данные между независимыми друг от друга вычислительными узлами.

    В мире PostgreSQL существуют как давно известные инструменты масштабирования: CitusDB, Greenplum, так и решения нового поколения – Cockroach DB, Yugabyte DB, SPQR, Shardman.

    В нашем докладе мы будем рассуждать о разнице между этими реализациями, достоинствах и недостатках этих решений, рассмотрим текущее состоянии реализации шардинга в ванильном PostgreSQL, а также затронем и не менее важны темы – предоставления гарантий целостности и согласованности данных в масштабах распределенного кластера.

  • Михаил Шурутов
    Михаил Шурутов СтандартПроект старший администратор баз данных
    45 мин

    Набор Ansible-ролей для PostgreSQL

    В данном докладе рассмотрен набор ролей Ansible как для разворачивания одиночных инстансов СУБД PostgreSQL с репликацией, так и для построения отказоустойчивых решений с помощью кластерных решений: patroni+etcd, patroni+consul, stolon+etcd, stolon+consul. Соответственно, рассмотрен вопрос, почему набор ролей, а не какое-либо "решение".