GraphQl-бэкенд на PostgreSQL и plv8
Недавно мне пришлось поработать над проектом, где для запросов к бэкенду на .NET Core использовали GraphQl, о чём потом пожалели. Дело в том, что GraphQl-запрос представляет собой объект с динамическим набором полей и иерархией любой вложенности. Обрабатывать такие объекты на языке со статической и сильной типизацией, да ещё и через ORM, как это предлагают библиотечные решения – очень неудобно. И тогда мне пришла идея использовать plv8 и разбирать запросы в формате GraphQl прямо на стороне БД. За пару часов я написал работающий прототип, реализующий функционал, который разрабатывали более месяца! Затем было сделано несколько усовершенствований, всё это я собираюсь показать. Тем, кто собирается в своих проектах использовать GraphQl, а не REST, информация из данного доклада может особенно пригодиться и возможно поможет сэкономить уйму времени.
Слайды
Видео
Другие доклады
-
Артем Иванов Atos IT S&S Пресейл-инженер
Не сдерживайте свои данные: Многоядерное "железо" для PostgreSQL/Postgres Pro.
С каждым годом задачи, решаемые с использованием СУБД PostgreSQL / Postgres Pro, становятся масштабнее и используют все больше аппаратных ресурсов.
При этом правильно выбранная архитектура серверов помогает наилучшим образом обеспечить работу базы данных.
В ходе доклада расскажу о многопроцессорных конфигурациях серверов Atos для PostgreSQL / Postgres Pro
Архитектура Scale-Up сервера с 8+ ЦПУ Варианты применения Примеры инсталляций
-
Василий Пучков ООО Главный эксперт
Опыт эксплуатации серверов PostgreSQL в корпоративной сети
Специфика корпоративной сети, возникающие проблемы, пути их решения. Годовой опыт эксплуатации продуктивных систем 1С на PostgreSQL в режиме 24x7 Достоинства и недостатки PostgreSQL по сравнению с MS SQL с точки зрения DBA. Опыт миграции систем 1С с MS SQL на PostgreSQL
-
Виктор Еремченко Miro Team Lead
Отказоустойчивый кластер PostgreSQL + Patroni
Я расскажу, как мы комплексно подошли к проблеме отказоустойчивости PostgreSQL, какие варианты мы рассматривали и как остановились на Patroni.
Доклад содержит этапы тестирования этого решения, как мы обеспечили быстрое внедрение на production и с какими проблемами мы столкнулись и как их решали.
-
Брюс Момжиан EnterpriseDB Senior Database Architect
Non-Relational Postgres
Postgres has always had strong support for relational storage. However, there are many cases where relational storage is either inefficient or overly restrictive. This talk shows the many ways that Postgres has expanded to support non-relational storage, specifically the ability to store and index multiple values, even unrelated ones, in a single database field. Such storage allows for greater efficiency and access simplicity, and can also avoid the negatives of entity-attribute-value (eav) storage. The talk will cover many examples of multiple-value-per-field storage, including arrays, range types, geometry, full text search, xml, json, and records.