Как мы распрощались с MongoDB и перешли на PostgreSQL
В своем докладе я поделюсь опытом переноса, конвертацией NoSQL-данных в реляционный вид и расскажу, как нам удалось ускорить приложение в 2 раза.
Изначально для хранения данных мы использовали PosgtgreSQL и MongoDB. На практике мы выяснили, что такое разделение крайне неудобно. Мы тратили уйму времени и внимания.
Расскажу, как с помощью mosql мы перенесли данные из MongoDB в PostgreSQL. Теперь все данные могут быть получены одним запросом, а схема таблиц обеспечивает консистентность данных.
Слайды
Видео
Другие доклады
-
Михаил Балаян Acronis Chief Database Architect
MVCC в картинках и когда длинные транзакции - это проблема
Многие из нас знают о том, что именно MVCC обеспечивает многопользовательский доступ к данным во многих реляционных базах данных, которые гарантируют согласованность и изолированность транзакций. Но именно глубокое понимание реализации этого механизма в PostgreSQL позволяет нам лучше понимать процессы, происходящие в базе, проектировать логику работы приложений и структуры таблицы, чтобы быть наиболее эффективными в мире высоких нагрузок. На примере одного из процессов в нашем продукте мы разберемся в том, как реализована MVCC в PostgreSQL и раскопаем одну из особенностей, когда казалось бы, несвязанные активности могут влиять друг на друга.
-
Камиль Исламов Stickeroid Ai CTO
PostgreSQL и MQTT в качестве системы обработки IoT данных
MQTT - это эффективный протокол обмена данными для IoT устройств. Построенная с помощью доработанного EMQTT плагина, архитектура IoT проекта использует PostgreSQL в качестве центра обработки и хранения данных, поступающих от сенсоров в реальном времени. В докладе будет представлен пример решения программно-аппаратной платформы IoT, реализованного на базе протокола MQTT, где PostgreSQL выполняет ключевые функции, обеспечивая оперативный учёт, сбор и хранение данных от распределённой сети IoT устройств.
-
Брюс Момжиан EnterpriseDB Senior Database Architect
Изучаем CTE и оконные функции
От разработчиков часто требуются результаты, которые трудно получить обычными SQL-запросами. К счастью, стандартом SQL предусмотрены мощные средства - общие табличные выражения (CTE) и оконные функции, который весьма расширяют круг возможного.
SQL является декларативным языком, что означает, что пользователь только формирует запрос, с база данных определяет, как его следует оптимально исполнять. CTE позволяют запросам быть более императивными, дают возможность организовать циклы и обработку иерархических структур, что обычно делается только в императивных языках.
Обычные SQL-запросы возвращают наборы строк, в которых одна строка не зависит от других. Оконные функции позволяют добавлять в запрос поля, значения которых зависят от других строк.
Этот мастер-класс поможет прикладным разработчикам в использовании CTE, что позволит перенести часть логики из приложения в SQL-код, и разъяснит возможности оконных функций и особенности их использования.
Видео
Часть I «Programming the SQL Way with CTE»
Часть II «Postgres Window Magic»
-
Николай Рыжиков Health Samurai CTO
Использование PostgreSQL и Сlojure для разработки приложений, ориентированных на работу с базами данных
Если честно взглянуть на большинство наших бизнес-приложений, то они через провод собирают данные в базу и раздают их в обратном направлении. Что, если не пытаться воздвигать стену абстракций между приложением и базой данных (ORM), а постараться использовать их симбиоз - сильные стороны и индивидуальные особенности.
Я расскажу как мы используем postgresql и clojure для создания data intensive приложений для медицины.
- functional relational programming
- jsonb для моделирования сложной предметной области
- функциональные индексы и расширение json-knife для поиска в jsonb
- реализация graphql на postgres
- logical replication для построения реактивных интеграций
- асинхронный JDBC-free коннектор к postgresql на netty