title

text

Николай Рыжиков
Николай Рыжиков Health Samurai CTO
16:15 07 февраля
45 мин

Использование PostgreSQL и Сlojure для разработки приложений, ориентированных на работу с базами данных

Если честно взглянуть на большинство наших бизнес-приложений, то они через провод собирают данные в базу и раздают их в обратном направлении. Что, если не пытаться воздвигать стену абстракций между приложением и базой данных (ORM), а постараться использовать их симбиоз - сильные стороны и индивидуальные особенности.

Я расскажу как мы используем postgresql и clojure для создания data intensive приложений для медицины.

  • functional relational programming
  • jsonb для моделирования сложной предметной области
  • функциональные индексы и расширение json-knife для поиска в jsonb
  • реализация graphql на postgres
  • logical replication для построения реактивных интеграций
  • асинхронный JDBC-free коннектор к postgresql на netty
слайды слайды

Видео

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

  • Андрей Николаенко
    Андрей Николаенко IBS архитектор
    Артур Закиров
    Артур Закиров Postgres Professional Разработчик
    Борис Нейман
    Борис Нейман Mellanox
    45 мин

    Сетевые ускорения в комплексе Скала-СР / Postgres Pro: настоящее и будущее

    В прошлом году мы представили кластерную машину баз данных Скала-СР / Postgres Pro, основной особенностью которой стала аппаратная и программная поддержка прямого доступа к оперативной памяти удалённого узла (RDMA). Первые комплексы уже установлены у заказчиков и уже с первой реализацией стали возможны конструкции, неосуществимые без RDMA и функции разгрузки CPU, доступной на сетевом оборудовании Mellanox. Тем не менее, возможности, которые даёт это оборудование, гораздо шире, и данный доклад посвящён текущим работам и перспективным направлениям развития.

  • Михаил Балаян
    Михаил Балаян Ingram Micro Cloud Database Architect
    45 мин

    MVCC в картинках и когда длинные транзакции - это проблема

    Многие из нас знают о том, что именно MVCC обеспечивает многопользовательский доступ к данным во многих реляционных базах данных, которые гарантируют согласованность и изолированность транзакций. Но именно глубокое понимание реализации этого механизма в PostgreSQL позволяет нам лучше понимать процессы, происходящие в базе, проектировать логику работы приложений и структуры таблицы, чтобы быть наиболее эффективными в мире высоких нагрузок. На примере одного из процессов в нашем продукте мы разберемся в том, как реализована MVCC в PostgreSQL и раскопаем одну из особенностей, когда казалось бы, несвязанные активности могут влиять друг на друга.

  • Иван Картышов
    Иван Картышов Postgres Professional Разработчик ядра
    Дмитрий Иванов
    Дмитрий Иванов Postgres Professional Разработчик
    22 мин

    Басня про тестирование и postgres

    Однажды вот Питон и Слон
    Вести тестирование взялись.
    И вместе все в него впряглись!

    В нашей компании (Postges Professional) разрабатываются разные проекты: multimaster, pg_probackup, pg_pathman, pg_shardman, RUM, и другие. Совладать со всей этой оравой весьма непросто, поэтому нам необходим инструмент, который способен облегчить и ускорить написание всевозможных тестов.

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

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

    Мы стремимся сделать testgres фреймворком для проведения функциональных тестов пользовательских запросов, хранимых процедур и прочей серверной логики, привнося практику TDD на уровнь разработки БД.

  • Брюс Момжиан
    Брюс Момжиан EnterpriseDB Senior Database Architect
    45 мин

    Защита PostgreSQL от внешних атак

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

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